janneke pushed a commit to branch core-packages-team
in repository guix.

commit c7881e259cbc321b474a0754dc2dd1b5885ebcc7
Author: Zheng Junjie <z572@z572.online>
AuthorDate: Fri Feb 7 12:16:44 2025 +0800

    gnu: zstd: Use G-expressions.
    
    * gnu/packages/compression.scm (zstd)[arguments]: Use G-expressions.
    
    Change-Id: Ic5dba01331a0c3c6f119ab9f800ac51829767ec2
---
 gnu/packages/compression.scm | 145 +++++++++++++++++++++----------------------
 1 file changed, 72 insertions(+), 73 deletions(-)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 2242cd1533..e91413a4bf 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1756,79 +1756,78 @@ or junctions, and always follows hard links.")
                "lib"                    ;1.2MiB shared library and headers
                "static"))               ;1.2MiB static library
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-command-file-names
-           ;; Don't require hard requirements to be in $PATH.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (our (lambda (name) (string-append out "/bin/" name))))
-               (substitute* "programs/zstdgrep"
-                 (("(:-)(grep)" _ prefix command)
-                  (string-append prefix (which command)))
-                 (("(:-)(zstdcat)" _ prefix command)
-                  (string-append prefix (our command))))
-               (substitute* "programs/zstdless"
-                 (("zstdcat" command)
-                  (our command))))))
-         (delete 'configure)            ;no configure script
-         (add-after 'install 'adjust-library-locations
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lib (assoc-ref outputs "lib"))
-                    (static (assoc-ref outputs "static"))
-                    (shared-libs (string-append lib "/lib"))
-                    (static-libs (string-append static "/lib")))
-               (mkdir-p static-libs)
-               ;; This is based on the win64 release zip file from zstd.
-               ,@(if (target-mingw?)
-                     `((for-each delete-file (find-files out "\\.so"))
-                       (for-each delete-file (find-files shared-libs "\\.so"))
-                       (rename-file (string-append shared-libs "/libzstd.a")
-                                    (string-append static-libs 
"/libzstd_static.lib"))
-                       (delete-file-recursively
-                        (string-append shared-libs "/pkgconfig"))
-                       ;; no binary for interpreter `sh' found in $PATH
-                       (delete-file (string-append out "/bin/zstdgrep"))
-                       (delete-file (string-append out "/bin/zstdless"))
-                       (delete-file (string-append out 
"/share/man/man1/zstdgrep.1"))
-                       (delete-file (string-append out 
"/share/man/man1/zstdless.1")))
-                     `(;; Move the static library to its own output to save 
~1MiB.
-                       (for-each (lambda (ar)
-                                   (link ar (string-append static-libs "/"
-                                                           (basename ar)))
-                                   (delete-file ar))
-                                 (find-files shared-libs "\\.a$"))
-
-                       ;; Make sure the pkg-config file refers to the right 
output.
-                       (substitute* (string-append shared-libs 
"/pkgconfig/libzstd.pc")
-                         (("^prefix=.*")
-                          ;; Note: The .pc file expects a trailing slash for 
'prefix'.
-                          (string-append "prefix=" lib "/\n")))))))))
-       #:make-flags
-       (list ,(string-append "CC=" (cc-for-target))
-             (string-append "prefix=" (assoc-ref %outputs "out"))
-             (string-append "libdir=" (assoc-ref %outputs "lib") "/lib")
-             (string-append "includedir=" (assoc-ref %outputs "lib") 
"/include")
-             ,@(if (target-mingw?)
-                   `(;; See the note in the Makefile.
-                     "TARGET_SYSTEM=Windows"
-                     ;; Don't try to link with pthread.
-                     "THREAD_LD="
-                     ;; This isn't picked up correctly in the Makefiles.
-                     "EXT=.exe")
-                   '())
-             ;; Auto-detection is over-engineered and buggy.
-             "PCLIBDIR=lib"
-             "PCINCDIR=include"
-             ;; Skip auto-detection of, and creating a dependency on, the build
-             ;; environment's ‘xz’ for what amounts to a dubious feature 
anyway.
-             "HAVE_LZMA=0"
-             ;; Not currently detected, but be explicit & avoid surprises 
later.
-             "HAVE_LZ4=0"
-             "HAVE_ZLIB=0")
-       #:tests? ,(not (or (target-hurd?)
-                          (%current-target-system)))))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-command-file-names
+                 ;; Don't require hard requirements to be in $PATH.
+                 (lambda _
+                   (let* ((our (lambda (name) (string-append #$output "/bin/" 
name))))
+                     (substitute* "programs/zstdgrep"
+                       (("(:-)(grep)" _ prefix command)
+                        (string-append prefix (which command)))
+                       (("(:-)(zstdcat)" _ prefix command)
+                        (string-append prefix (our command))))
+                     (substitute* "programs/zstdless"
+                       (("zstdcat" command)
+                        (our command))))))
+               (delete 'configure)            ;no configure script
+               (add-after 'install 'adjust-library-locations
+                 (lambda _
+                   (let* ((out #$output)
+                          (lib #$output:lib)
+                          (static #$output:static)
+                          (shared-libs (string-append lib "/lib"))
+                          (static-libs (string-append static "/lib")))
+                     (mkdir-p static-libs)
+                     ;; This is based on the win64 release zip file from zstd.
+                     #$@(if (target-mingw?)
+                            #~((for-each delete-file (find-files out "\\.so"))
+                               (for-each delete-file (find-files shared-libs 
"\\.so"))
+                               (rename-file (string-append shared-libs 
"/libzstd.a")
+                                            (string-append static-libs 
"/libzstd_static.lib"))
+                               (delete-file-recursively
+                                (string-append shared-libs "/pkgconfig"))
+                               ;; no binary for interpreter `sh' found in $PATH
+                               (delete-file (string-append out 
"/bin/zstdgrep"))
+                               (delete-file (string-append out 
"/bin/zstdless"))
+                               (delete-file (string-append out 
"/share/man/man1/zstdgrep.1"))
+                               (delete-file (string-append out 
"/share/man/man1/zstdless.1")))
+                            #~(;; Move the static library to its own output to 
save ~1MiB.
+                               (for-each (lambda (ar)
+                                           (link ar (string-append static-libs 
"/"
+                                                                   (basename 
ar)))
+                                           (delete-file ar))
+                                         (find-files shared-libs "\\.a$"))
+
+                               ;; Make sure the pkg-config file refers to the 
right output.
+                               (substitute* (string-append shared-libs 
"/pkgconfig/libzstd.pc")
+                                 (("^prefix=.*")
+                                  ;; Note: The .pc file expects a trailing 
slash for 'prefix'.
+                                  (string-append "prefix=" lib "/\n")))))))))
+           #:make-flags
+           #~(list (string-append "CC=" #$(cc-for-target))
+                   (string-append "prefix=" #$output)
+                   (string-append "libdir=" #$output:lib "/lib")
+                   (string-append "includedir=" #$output:lib "/include")
+                   #$@(if (target-mingw?)
+                          `(;; See the note in the Makefile.
+                            "TARGET_SYSTEM=Windows"
+                            ;; Don't try to link with pthread.
+                            "THREAD_LD="
+                            ;; This isn't picked up correctly in the Makefiles.
+                            "EXT=.exe")
+                          '())
+                   ;; Auto-detection is over-engineered and buggy.
+                   "PCLIBDIR=lib"
+                   "PCINCDIR=include"
+                   ;; Skip auto-detection of, and creating a dependency on, 
the build
+                   ;; environment's ‘xz’ for what amounts to a dubious feature 
anyway.
+                   "HAVE_LZMA=0"
+                   ;; Not currently detected, but be explicit & avoid 
surprises later.
+                   "HAVE_LZ4=0"
+                   "HAVE_ZLIB=0")
+           #:tests? (not (or (target-hurd?)
+                             (%current-target-system)))))
     (home-page "https://facebook.github.io/zstd/";)
     (synopsis "Zstandard real-time compression algorithm")
     (description "Zstandard (@command{zstd}) is a lossless compression 
algorithm

Reply via email to