Subject: [bug#54686] [PATCH] gnu: nss-certs: Use G-Expression.

From: Brian Kubisiak <[email-masked]>
Date: Sat, 2 Apr 2022 17:49:15 -0700

This fixes cross-compilation for aarch64-linux-gnu.

* gnu/packages/certs.scm (nss-certs)[arguments]: Use a gexp to remove
references to %output.
---
 gnu/packages/certs.scm | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 28c2f84f98..8f762f2966 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -28,6 +28,7 @@ (define-module (gnu packages certs)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
@@ -164,21 +165,21 @@ (define-public nss-certs
                   (rnrs io ports)
                   (srfi srfi-26))
        #:phases
-       (modify-phases
-           (map (cut assq <> %standard-phases)
-                '(set-paths install-locale unpack))
-         (add-after 'unpack 'install
-           (lambda _
-             (let ((certsdir (string-append %output "/etc/ssl/certs/")))
-               (with-directory-excursion "nss/lib/ckfw/builtins/"
-                 (unless (file-exists? "blacklist.txt")
-                   (call-with-output-file "blacklist.txt" (const #t)))
-                 ;; Extract selected single certificates from blob.
-                 (invoke "certdata2pem")
-                 ;; Copy .pem files into the output.
-                 (for-each (cut install-file <> certsdir)
-                           (find-files "." ".*\\.pem$")))
-               (invoke "openssl" "rehash" certsdir)))))))
+       ,#~(modify-phases
+              (map (cut assq <> %standard-phases)
+                   '(set-paths install-locale unpack))
+            (add-after 'unpack 'install
+              (lambda _
+                (let ((certsdir (string-append #$output "/etc/ssl/certs/")))
+                  (with-directory-excursion "nss/lib/ckfw/builtins/"
+                    (unless (file-exists? "blacklist.txt")
+                      (call-with-output-file "blacklist.txt" (const #t)))
+                    ;; Extract selected single certificates from blob.
+                    (invoke "certdata2pem")
+                    ;; Copy .pem files into the output.
+                    (for-each (cut install-file <> certsdir)
+                              (find-files "." ".*\\.pem$")))
+                  (invoke "openssl" "rehash" certsdir)))))))
     (synopsis "CA certificates from Mozilla")
     (description
      "This package provides certificates for Certification Authorities (CA)
-- 
2.34.0