Subject: [bug#50201] [PATCH 06/52] gnu: nspr: Adjust to Mozilla cross-compilation conventions.

From: Maxime Devos <[email-masked]>
Date: Wed, 25 Aug 2021 20:02:46 +0200

* gnu/packages/nss.scm
  (nspr)[arguments]<#:configure-flags>: Set --host and --target
  inappropriately when cross-compiling.
---
 gnu/packages/nss.scm | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 55eddc0c91..6560aede56 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2020, 2021 Marius Bakke <[email-masked]>
 ;;; Copyright © 2020 Jonathan Brielmaier <[email-masked]>
 ;;; Copyright © 2021 Maxim Cournoyer <[email-masked]>
+;;; Copyright © 2021 Maxime Devos <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,11 +52,20 @@
      `(("perl" ,perl)))
     (arguments
      `(#:tests? #f ; no check target
-       #:configure-flags (list "--disable-static"
-                               "--enable-64bit"
-                               (string-append "LDFLAGS=-Wl,-rpath="
-                                              (assoc-ref %outputs "out")
-                                              "/lib"))
+       #:configure-flags
+       (list "--disable-static"
+             "--enable-64bit"
+             (string-append "LDFLAGS=-Wl,-rpath="
+                            (assoc-ref %outputs "out") "/lib")
+             ;; Mozilla deviates from Autotools conventions
+             ;; due to historical reasons.  Adjust to Mozilla conventions,
+             ;; otherwise the Makefile will try to use TARGET-gcc
+             ;; as a ‘native’ compiler.
+             ,@(if (%current-target-system)
+                   `(,(string-append "--host="
+                                     (nix-system->gnu-triplet (%current-system)))
+                     ,(string-append "--target=" (%current-target-system)))
+                   '()))
        ;; Use fixed timestamps for reproducibility.
        #:make-flags '("SH_DATE='1970-01-01 00:00:01'"
                       ;; This is epoch 1 in microseconds.
-- 
2.33.0