guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/05: gnu: cups-minimal, cups: Use G-expressions, new input style.


From: guix-commits
Subject: 05/05: gnu: cups-minimal, cups: Use G-expressions, new input style.
Date: Mon, 30 May 2022 20:59:02 -0400 (EDT)

nckx pushed a commit to branch core-updates
in repository guix.

commit 1df10494f385e27fe7d898db46648195a8c246b9
Author: Tobias Geerinckx-Rice <me@tobias.gr>
AuthorDate: Sun May 22 02:00:01 2022 +0200

    gnu: cups-minimal, cups: Use G-expressions, new input style.
    
    * gnu/packages/cups.scm (cups-minimal, cups)[arguments]:
    Rewrite as G-expressions.
    [inputs]: Remove input labels.
---
 gnu/packages/cups.scm | 327 +++++++++++++++++++++++++-------------------------
 1 file changed, 164 insertions(+), 163 deletions(-)

diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index a2c00df40a..0c0d4b701f 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -260,54 +260,54 @@ filters for the PDF-centric printing workflow introduced 
by OpenPrinting.")
         (base32 "01nn6ij7kpf2vzikinn7mk4crjx4ab8m4pplvsccc8gg30a2q9y9"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags
-       ;; This package is not maximally minimal: "--with-components=libcups"
-       ;; breaks cups-filters.  Disable some other unnecessary features.
-       (list "--without-icondir"
-             "--without-languages"
-             "--without-menudir")
-       ;; Seven tests fail, mostly because of files that are provided by the
-       ;; cups-filters package.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'never-cupsAdminGetServerSettings
-           ;; Instead of querying the daemon directly, this part of CUPS 
assumes
-           ;; that (1) it has access to a cupsd.conf under CUPS_SERVERROOT, and
-           ;; (2) the file's contents apply to the running daemon.  (1) is 
false
-           ;; at least on Guix Systems resulting in extremely long delays when
-           ;; loading the Web interface's /admin page.  (2) isn't valid 
anywhere
-           ;; because it ignores, e.g., -c FILE.
-           ;; Upstream considers this code on ‘life support’ so just neuter it.
-          (lambda _
-            (substitute* "cgi-bin/admin.c"
-              (("!cupsAdminGetServerSettings" match)
-               (string-append "0 && " match)))))
-         (add-after 'unpack 'remove-Web-UI-server-settings
-           ;; The /admin page's server configuration form is questionable for
-           ;; the same reason as cupsAdminGetServerSettings, and won't work at
-           ;; all on Guix Systems.  Remove it entirely.
-           (lambda _
-             ;; SUBSTITUTE* and a patch both have (dis)advantages.  This is
-             ;; shorter & should ensure that no translation is forgotten.
-             (substitute* (find-files "templates" "^admin\\.tmpl$")
-               ((" class=\"halves\"") "")
-               (("<FORM.* ACTION=\"/jobs.*</FORM>" match)
-                (string-append match "</P>{BROKEN? "))
-               (("</FORM>}" match)
-                (string-append match "}")))))
-         (add-before 'configure 'patch-makedefs
-           (lambda _
-             (substitute* "Makedefs.in"
-               (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
-               (("/bin/sh") (which "sh")))))
-         (add-before 'check 'skip-failing-tests
-           (lambda _
-             (substitute* "test/run-stp-tests.sh"
-               ;; The number of error/warning lines differs, probably related
-               ;; to a missing font.  Substitute the last observed count.
-               (("(\\$count != )33" _ prefix)
-                (string-append prefix "39"))))))))
+     (list #:configure-flags
+           ;; This package isn't maximally minimal: "--with-components=libcups"
+           ;; breaks cups-filters.  Disable some other unnecessary features.
+           #~(list "--without-icondir"
+                   "--without-languages"
+                   "--without-menudir")
+           ;; Seven tests fail, mostly because of files that are provided by 
the
+           ;; cups-filters package.
+           #:tests? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'never-cupsAdminGetServerSettings
+                 ;; Rather than just ask the daemon, this part of CUPS assumes
+                 ;; that (1) it has access to a cupsd.conf under 
CUPS_SERVERROOT
+                 ;; and (2) the file's contents apply to the running daemon.
+                 ;; (1) is false at least on Guix Systems resulting in 
extremely
+                 ;; long delays when loading the Web interface's /admin page.
+                 ;; (2) is never valid: it ignores, e.g., -c FILE.  Upstream
+                 ;; considers this code on ‘life support’ so just neuter it.
+                (lambda _
+                  (substitute* "cgi-bin/admin.c"
+                    (("!cupsAdminGetServerSettings" match)
+                     (string-append "0 && " match)))))
+               (add-after 'unpack 'remove-Web-UI-server-settings
+                 ;; The /admin page's server configuration form is questionable
+                 ;; for the same reason as cupsAdminGetServerSettings, and 
won't
+                 ;; work at all on Guix Systems.  Remove it entirely.
+                 (lambda _
+                   ;; SUBSTITUTE* & patches both have (dis)advantages.  This is
+                   ;; shorter & should ensure that no translation is forgotten.
+                   (substitute* (find-files "templates" "^admin\\.tmpl$")
+                     ((" class=\"halves\"") "")
+                     (("<FORM.* ACTION=\"/jobs.*</FORM>" match)
+                      (string-append match "</P>{BROKEN? "))
+                     (("</FORM>}" match)
+                      (string-append match "}")))))
+               (add-before 'configure 'patch-makedefs
+                 (lambda _
+                   (substitute* "Makedefs.in"
+                     (("INITDIR.*=.*@INITDIR@") "INITDIR = @prefix@/@INITDIR@")
+                     (("/bin/sh") (which "sh")))))
+               (add-before 'check 'skip-failing-tests
+                 (lambda _
+                   (substitute* "test/run-stp-tests.sh"
+                     ;; The number of error/warning lines differs, probably due
+                     ;; to a missing font.  Substitute the last observed count.
+                     (("(\\$count != )33" _ prefix)
+                      (string-append prefix "39"))))))))
     (native-inputs
      (list pkg-config))
     (inputs
@@ -335,122 +335,123 @@ applications''.  These must be installed separately.")
      (substitute-keyword-arguments (package-arguments cups-minimal)
        ((#:tests? _ #t)
         #t)
-       ((#:configure-flags flags '())
-        `(append ,flags
-                 (list "--with-languages=all"))) ; no ‘=all’ means none(!)
-       ((#:phases phases '%standard-phases)
-        `(modify-phases ,phases
-           (add-before 'check 'patch-tests
-             (lambda _
-               (let ((filters (assoc-ref %build-inputs "cups-filters"))
-                     (catpath (string-append
-                               (assoc-ref %build-inputs "coreutils") "/bin/"))
-                     (testdir (string-append (getcwd) "/tmp/")))
-                 (mkdir testdir)
-                 (substitute* "test/run-stp-tests.sh"
-                   ((" *BASE=/tmp/") (string-append "BASE=" testdir))
-
-                   ;; Allow installation of filters from the output directory
-                   ;; and from cups-filters.
-                   (("for dir in /usr/libexec/cups/filter 
/usr/lib/cups/filter")
-                    (string-append
-                     "for dir in "
-                     (assoc-ref %outputs "out") "/lib/cups/filter "
-                     filters "/lib/cups/filter"))
-
-                   ;; Check for charsets in the default cups-filters output.
-                   (("/usr/share/cups/charsets")
-                    (string-append filters "/share/cups/charsets"))
-
-                   ;; Install additional required filters.
-                   (("instfilter texttopdf texttopdf pdf")
-                    (string-append
-                     "instfilter texttopdf texttopdf pdf;"
-                     "instfilter imagetoraster imagetoraster raster;"
-                     "instfilter gstoraster gstoraster raster;"
-                     "instfilter urftopdf urftopdf pdf;"
-                     "instfilter rastertopdf rastertopdf pdf;"
-                     "instfilter pstopdf pstopdf pdf"))
-
-                   ;; Specify the location of the lpstat binary.
-                   (("description=\"`lpstat -l")
-                    "description=\"`../systemv/lpstat -l")
-
-                   ;; Patch the shebangs of embedded scripts.
-                   (("#!/bin/sh") (string-append "#!" (which "sh")))
-
-                   ;; Also link MIME definitions from cups-filters
-                   ;; to enable the additional filters for the test suite.
-                   (("ln -s \\$root/conf/mime\\.types")
-                    (string-append
-                     "ln -s " filters
-                     "/share/cups/mime/cupsfilters.types $BASE/share/mime; "
-                     "ln -s $root/conf/mime.types"))
-                   (("ln -s \\$root/conf/mime\\.convs")
-                    (string-append
-                     "ln -s " filters
-                     "/share/cups/mime/cupsfilters.convs $BASE/share/mime; "
-                     "ln -s $root/conf/mime.convs")))
-
-                 ;; Fix the search path for the "cat" command.
-                 (substitute* "cups/testfile.c"
-                   (("cupsFileFind\\(\"cat\", \"/bin\"")
-                    (string-append "cupsFileFind(\"cat\", \"" catpath "\""))
-                   (("cupsFileFind\\(\"cat\", \"/bin:/usr/bin\"")
-                    (string-append "cupsFileFind(\"cat\", \"" catpath 
"\""))))))
-           (add-after 'install 'install-cups-filters-symlinks
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out"))
-                     (cups-filters (assoc-ref inputs "cups-filters")))
-                 ;; Charsets.
-                 (symlink
-                  (string-append cups-filters "/share/cups/charsets")
-                  (string-append out "/share/charsets"))
-
-                 ;; MIME types, driver files, and PPDs.
-                 (for-each
-                  (lambda (f)
-                    (symlink (string-append cups-filters f)
-                             (string-append out f)))
-                  '("/share/cups/mime/cupsfilters.types"
-                    "/share/cups/mime/cupsfilters.convs"
-                    "/share/cups/drv/cupsfilters.drv"
-                    "/share/ppd"))
-
-                 ;; Filters.
-                 (for-each
-                  (lambda (f)
-                    (symlink f
-                             (string-append out "/lib/cups/filter"
-                                            (basename f))))
-                  (find-files (string-append cups-filters "/lib/cups/filter")))
-
-                 ;; Backends.
-                 (for-each
-                  (lambda (f)
-                    (symlink (string-append cups-filters f)
-                             (string-append out "/lib/cups/backend/"
-                                            (basename f))))
-                  '("/lib/cups/backend/parallel"
-                    "/lib/cups/backend/serial"))
-
-                 ;; Banners.
-                 (let ((banners "/share/cups/banners"))
-                   (delete-file-recursively (string-append out banners))
-                   (symlink (string-append cups-filters banners)
-                            (string-append out banners)))
-
-                 ;; Assorted data.
-                 (let ((data "/share/cups/data"))
-                   (delete-file-recursively (string-append out data))
-                   (symlink (string-append cups-filters data)
-                            (string-append out data))))))))))
+       ((#:configure-flags flags #~'())
+        #~(append #$flags
+                  (list "--with-languages=all"))) ; no ‘=all’ means none(!)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (add-before 'check 'patch-tests
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let ((filters #$(this-package-input "cups-filters"))
+                      (catpath (string-append
+                                #$(this-package-input "coreutils") "/bin/"))
+                      (testdir (string-append (getcwd) "/tmp/")))
+                  (mkdir testdir)
+                  (substitute* "test/run-stp-tests.sh"
+                    ((" *BASE=/tmp/") (string-append "BASE=" testdir))
+
+                    ;; Allow installation of filters from the output directory
+                    ;; and from cups-filters.
+                    (("for dir in /usr/libexec/cups/filter 
/usr/lib/cups/filter")
+                     (string-append
+                      "for dir in "
+                      (assoc-ref outputs "out") "/lib/cups/filter "
+                      filters "/lib/cups/filter"))
+
+                    ;; Check for charsets in the default cups-filters output.
+                    (("/usr/share/cups/charsets")
+                     (string-append filters "/share/cups/charsets"))
+
+                    ;; Install additional required filters.
+                    (("instfilter texttopdf texttopdf pdf")
+                     (string-append
+                      "instfilter texttopdf texttopdf pdf;"
+                      "instfilter imagetoraster imagetoraster raster;"
+                      "instfilter gstoraster gstoraster raster;"
+                      "instfilter urftopdf urftopdf pdf;"
+                      "instfilter rastertopdf rastertopdf pdf;"
+                      "instfilter pstopdf pstopdf pdf"))
+
+                    ;; Specify the location of the lpstat binary.
+                    (("description=\"`lpstat -l")
+                     "description=\"`../systemv/lpstat -l")
+
+                    ;; Patch the shebangs of embedded scripts.
+                    (("#!/bin/sh") (string-append "#!" (which "sh")))
+
+                    ;; Also link MIME definitions from cups-filters
+                    ;; to enable the additional filters for the test suite.
+                    (("ln -s \\$root/conf/mime\\.types")
+                     (string-append
+                      "ln -s " filters
+                      "/share/cups/mime/cupsfilters.types $BASE/share/mime; "
+                      "ln -s $root/conf/mime.types"))
+                    (("ln -s \\$root/conf/mime\\.convs")
+                     (string-append
+                      "ln -s " filters
+                      "/share/cups/mime/cupsfilters.convs $BASE/share/mime; "
+                      "ln -s $root/conf/mime.convs")))
+
+                  ;; Fix the search path for the "cat" command.
+                  (substitute* "cups/testfile.c"
+                    (("cupsFileFind\\(\"cat\", \"/bin\"")
+                     (string-append "cupsFileFind(\"cat\", \"" catpath "\""))
+                    (("cupsFileFind\\(\"cat\", \"/bin:/usr/bin\"")
+                     (string-append "cupsFileFind(\"cat\", \"" catpath 
"\""))))))
+            (add-after 'install 'install-cups-filters-symlinks
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                (let ((out (assoc-ref outputs "out"))
+                      (cups-filters #$(this-package-input "cups-filters")))
+                  ;; Charsets.
+                  (symlink
+                   (string-append cups-filters "/share/cups/charsets")
+                   (string-append out "/share/charsets"))
+
+                  ;; MIME types, driver files, and PPDs.
+                  (for-each
+                   (lambda (f)
+                     (symlink (string-append cups-filters f)
+                              (string-append out f)))
+                   '("/share/cups/mime/cupsfilters.types"
+                     "/share/cups/mime/cupsfilters.convs"
+                     "/share/cups/drv/cupsfilters.drv"
+                     "/share/ppd"))
+
+                  ;; Filters.
+                  (for-each
+                   (lambda (f)
+                     (symlink f
+                              (string-append out "/lib/cups/filter"
+                                             (basename f))))
+                   (find-files (string-append cups-filters 
"/lib/cups/filter")))
+
+                  ;; Backends.
+                  (for-each
+                   (lambda (f)
+                     (symlink (string-append cups-filters f)
+                              (string-append out "/lib/cups/backend/"
+                                             (basename f))))
+                   '("/lib/cups/backend/parallel"
+                     "/lib/cups/backend/serial"))
+
+                  ;; Banners.
+                  (let ((banners "/share/cups/banners"))
+                    (delete-file-recursively (string-append out banners))
+                    (symlink (string-append cups-filters banners)
+                             (string-append out banners)))
+
+                  ;; Assorted data.
+                  (let ((data "/share/cups/data"))
+                    (delete-file-recursively (string-append out data))
+                    (symlink (string-append cups-filters data)
+                             (string-append out data))))))))))
     (inputs
-     `(("avahi" ,avahi)
-       ("gnutls" ,gnutls)
-       ("cups-filters" ,cups-filters)
-       ("linux-pam" ,linux-pam)
-       ("zlib"  ,zlib)))))
+     (list avahi
+           coreutils
+           cups-filters
+           gnutls
+           linux-pam
+           zlib))))
 
 (define-public cups-pk-helper
   (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]