From 3de22656adbfa62362f735d8e137311a62ded856 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 20 Jan 2024 22:50:19 -0500 Subject: packages: Fix repacked file name extension when zstd is unavailable. This is a follow-up commit to a869f4bef3 ("packages: Repack patched source archives via zstd by default."). * guix/packages.scm (patch-and-repack): Do not have xz fallback into the zstd variable, which is confusing and caused the extension selection to be wrong when the xz fallback was used. Refine how PATH is set to avoid duplicates. Change-Id: I580deba4de822eccf5f6fe53355b8ba57178c166 --- guix/packages.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/guix/packages.scm b/guix/packages.scm index 1fc10e6575..94254f0154 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -997,10 +997,7 @@ (define instantiate-patch (bzip2 (lookup-input "bzip2")) (lzip (lookup-input "lzip")) (xz (lookup-input "xz")) - (zstd (or (lookup-input "zstd") - ;; Fallback to xz in case zstd is not available, such as - ;; for bootstrap packages. - xz)) + (zstd (lookup-input "zstd")) (patch (lookup-input "patch")) (comp (and=> (compressor source-file-name) lookup-input)) (patches (map instantiate-patch patches))) @@ -1081,10 +1078,13 @@ (define (repack directory output) locale (system-error-errno args))))) (setenv "PATH" - (string-append #+zstd "/bin" - (if #+comp - (string-append ":" #+comp "/bin") - ""))) + (string-join + (map (cut string-append <> "/bin") + ;; Fallback to xz in case zstd is not + ;; available, such as for bootstrap packages. + (delete-duplicates + (filter-map identity (list #+zstd #+xz #+comp)))) + ":")) (setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count))) -- cgit v1.2.3