~ruther/guix-local

e945001f04cc2ffcdee64aec4036a7e96bc67402 — Maxim Cournoyer 6 months ago cfb5331
gnu: Add zstd-final.

* gnu/packages/commencement.scm (zstd-final): New variable.

Change-Id: Ic6bef892f35a4bca809ff80dd279190b0f4902bd
1 files changed, 27 insertions(+), 1 deletions(-)

M gnu/packages/commencement.scm
M gnu/packages/commencement.scm => gnu/packages/commencement.scm +27 -1
@@ 9,7 9,7 @@
;;; Copyright © 2019-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2022 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>


@@ 3271,6 3271,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
       ,@(package-arguments zlib)))
    (inputs (%boot2-inputs))))

(define zstd-final
  ;; Zstd used by BINUTILS-FINAL.
  (package
    (inherit zstd)
    (source (bootstrap-origin (package-source zstd)))
    (arguments
     (substitute-keyword-arguments
         (ensure-keyword-arguments
          (package-arguments zstd)
          (list #:guile %bootstrap-guile
                #:implicit-inputs? #f
                #:allowed-references (list "out" "lib" glibc-final)))
       ((#:phases phases '%standard-phases)
        #~(modify-phases #$phases
            ;; Avoid retaining references to bash & grep in the zstdless
            ;; script.
            (delete 'patch-command-file-names)
            (add-after 'install 'unpatch-bash-shebangs
              (lambda _
                (with-directory-excursion (string-append #$output "/bin")
                  (substitute* '("zstdgrep" "zstdless")
                    (("#!/gnu/store/.*/bin/sh")
                     "#!/bin/sh")))))
            (delete 'patch-shebangs)))))
    (inputs (%boot2-inputs))))

(define/system-dependent ld-wrapper-boot3
  ;; A linker wrapper that uses the bootstrap Guile.
  (make-ld-wrapper "ld-wrapper-boot3"