summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--distro/base.scm24
1 files changed, 16 insertions, 8 deletions
diff --git a/distro/base.scm b/distro/base.scm
index 06f6dbbb7a..fdb0c688fb 100644
--- a/distro/base.scm
+++ b/distro/base.scm
@@ -631,14 +631,22 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
                                           (string-append line "\n")
                                           'pre libc "/lib/" 1 "crt" 2 ".o"
                                           'post)))))
-         (alist-replace 'install
-                        (lambda* (#:key outputs #:allow-other-keys)
-                          (zero?
-                           (system* "make"
-                                    ,(if stripped?
-                                         "install-strip"
-                                         "install"))))
-                        %standard-phases))))
+         (alist-cons-after
+          'configure 'post-configure
+          (lambda _
+            ;; Don't store configure flags, to avoid retaining references to
+            ;; build-time dependencies---e.g., `--with-ppl=/nix/store/xxx'.
+            (substitute* "Makefile"
+              (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
+               "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
+          (alist-replace 'install
+                         (lambda* (#:key outputs #:allow-other-keys)
+                           (zero?
+                            (system* "make"
+                                     ,(if stripped?
+                                          "install-strip"
+                                          "install"))))
+                         %standard-phases)))))
 
      (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
      (description "The GNU Compiler Collection")