diff options
author | Mark H Weaver <mhw@netris.org> | 2016-08-04 08:17:05 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2016-08-04 08:17:05 -0400 |
commit | 536fc5f8cd45023c3c6f28f9c768338b5e797b47 (patch) | |
tree | 8516410664ed4d6ff0f68b48e71e5ec866367c44 /gnu/packages/perl.scm | |
parent | 0832787e5c463c713d8f24fdec0f52900ff1c2bd (diff) | |
parent | a8cb87abe98d57fb763d5b14524dc32c96bd31b5 (diff) | |
download | guix-536fc5f8cd45023c3c6f28f9c768338b5e797b47.tar guix-536fc5f8cd45023c3c6f28f9c768338b5e797b47.tar.gz |
Merge branch 'core-updates'
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r-- | gnu/packages/perl.scm | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 08a16ad2af..4423c77bbd 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -90,15 +90,7 @@ "-Dinstallstyle=lib/perl5" "-Duseshrplib" (string-append "-Dlocincpth=" libc "/include") - (string-append "-Dloclibpth=" libc "/lib") - - ;; Force the library search path to contain only libc - ;; because it is recorded in Config.pm and - ;; Config_heavy.pl; we don't want to keep a reference - ;; to everything that's in $LIBRARY_PATH at build - ;; time (Binutils, bzip2, file, etc.) - (string-append "-Dlibpth=" libc "/lib") - (string-append "-Dplibpth=" libc "/lib")))))) + (string-append "-Dloclibpth=" libc "/lib")))))) (add-before 'strip 'make-shared-objects-writable @@ -109,7 +101,34 @@ (lib (string-append out "/lib"))) (for-each (lambda (dso) (chmod dso #o755)) - (find-files lib "\\.so$")))))))) + (find-files lib "\\.so$"))))) + + (add-after 'install 'remove-extra-references + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (libc (assoc-ref inputs "libc")) + (config1 (car (find-files (string-append out "/lib/perl5") + "^Config_heavy\\.pl$"))) + (config2 (find-files (string-append out "/lib/perl5") + "^Config\\.pm$"))) + ;; Force the library search path to contain only libc because + ;; it is recorded in Config.pm and Config_heavy.pl; we don't + ;; want to keep a reference to everything that's in + ;; $LIBRARY_PATH at build time (GCC, Binutils, bzip2, file, + ;; etc.) + (substitute* config1 + (("^incpth=.*$") + (string-append "incpth='" libc "/include'\n")) + (("^(libpth|plibpth|libspath)=.*$" _ variable) + (string-append variable "='" libc "/lib'\n"))) + + (for-each (lambda (file) + (substitute* config2 + (("libpth => .*$") + (string-append "libpth => '" libc + "/lib',\n")))) + config2) + #t)))))) (native-search-paths (list (search-path-specification (variable "PERL5LIB") (files '("lib/perl5/site_perl"))))) |