From a436d2018ec6a46fcb6e5c74fa7575789e23dd98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 30 Aug 2012 23:03:11 +0200 Subject: [PATCH] distro: gcc: Do not store configure flags in the resulting binaries. * distro/base.scm (gcc-4.7): Add a `post-configure' phase to clear `TOPLEVEL_CONFIGURE_ARGUMENTS' in the top-level `Makefile'. --- distro/base.scm | 24 ++++++++++++++++-------- 1 file 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")