From a18eda2747fa2eb962e3288066d2b1a679589ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 30 Mar 2013 22:56:38 +0100 Subject: packages: Add `native-search-paths' field and honor it. * guix/packages.scm (): New record type. (search-path-specification->sexp): New procedure. ()[native-search-paths]: New field. (package-derivation): Accumulate the search paths, and pass them as #:search-paths toe BUILDER. * guix/build-system/gnu.scm (gnu-build): Add #:search-paths. Compute `implicit-search-paths'. Pass #:search-paths in BUILDER. * guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it to BUILDER with the search paths of PERL. * guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it to BUILDER. * guix/build-system/trivial.scm (trivial-build): Add #:search-paths, ignore it. * guix/build/gnu-build-system.scm (set-paths): Add #:search-paths. Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH. Instead, walk SEARCH-PATHS and call `set-path-environment-variable' for them. * guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting. * tests/packages.scm ("search paths"): New test. * gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add #:search-paths. (%bootstrap-gcc): Add `native-search-paths' field. * gnu/packages/perl.scm (perl): Likewise. * gnu/packages/pkg-config.scm (pkg-config): Likewise. * gnu/packages/glib.scm (intltool): Remove `arguments'. * gnu/packages/avahi.scm (avahi): Remove #:phases. --- gnu/packages/avahi.scm | 14 +------------- gnu/packages/bootstrap.scm | 10 +++++++++- gnu/packages/gcc.scm | 8 ++++++++ gnu/packages/glib.scm | 12 ------------ gnu/packages/perl.scm | 3 +++ gnu/packages/pkg-config.scm | 5 +++++ 6 files changed, 26 insertions(+), 26 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index f7ce908351..fbdc0e2834 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -48,19 +48,7 @@ "--disable-xmltoman" "--enable-tests" "--disable-qt3" "--disable-qt4" - "--disable-gtk" "--disable-gtk3") - #:phases (alist-cons-before - 'configure 'set-perl-path - (lambda* (#:key inputs #:allow-other-keys) - ;; FIXME: Remove this phase when proper support for search - ;; paths is available. - (let ((xml-parser (assoc-ref inputs - "intltool/perl-xml-parser"))) - (setenv "PERL5LIB" - (string-append xml-parser - "/lib/perl5/site_perl")) - #t)) - %standard-phases))) + "--disable-gtk" "--disable-gtk3"))) (inputs `(("expat" ,expat) ("glib" ,glib) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 82a8db614f..eaad45a741 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -154,7 +154,8 @@ check whether everything is alright." (let ((raw (build-system (name "raw") (description "Raw build system with direct store access") - (build (lambda* (store name source inputs #:key outputs system) + (build (lambda* (store name source inputs + #:key outputs system search-paths) (define (->store file) (add-to-store store file #t "sha256" (or (search-bootstrap-binary file @@ -352,6 +353,13 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("i686-linux" (base32 "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))) + (native-search-paths + (list (search-path-specification + (variable "CPATH") + (directories '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (directories '("lib" "lib64"))))) (synopsis "Bootstrap binaries of the GNU Compiler Collection") (description #f) (home-page #f) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a26dc24a4f..878d246c36 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -131,6 +131,14 @@ "install")))) %standard-phases))))) + (native-search-paths + (list (search-path-specification + (variable "CPATH") + (directories '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (directories '("lib" "lib64"))))) + (properties `((gcc-libc . ,(assoc-ref inputs "libc")))) (synopsis "The GNU Compiler Collection") (description diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fdcc9bdc31..7ff9ede22b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -142,18 +142,6 @@ dynamic loading, and an object system.") (base32 "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd")))) (build-system gnu-build-system) - (arguments - '(#:phases (alist-cons-before - 'configure 'set-perl-path - (lambda* (#:key inputs #:allow-other-keys) - ;; FIXME: Remove this phase when proper support for search - ;; paths is available. - (let ((xml-parser (assoc-ref inputs "perl-xml-parser"))) - (setenv "PERL5LIB" - (string-append xml-parser - "/lib/perl5/site_perl")) - #t)) - %standard-phases))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("gettext" ,guix:gettext) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 624d228059..c677a1b7e2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -63,6 +63,9 @@ (string-append "-Dloclibpth=" libc "/lib"))))) %standard-phases))) (inputs `(("patch/no-sys-dirs" ,(search-patch "perl-no-sys-dirs.patch")))) + (native-search-paths (list (search-path-specification + (variable "PERL5LIB") + (directories '("lib/perl5/site_perl"))))) (synopsis "Implementation of the Perl programming language") (description "Perl 5 is a highly capable, feature-rich programming language with over diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 0910a410ee..294163b474 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -36,6 +36,11 @@ "05wc5nwkqz7saj2v33ydmz1y6jdg659dll4jjh91n41m63gx0qsg")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-internal-glib"))) + (native-search-paths + (list (search-path-specification + (variable "PKG_CONFIG_PATH") + (directories '("lib/pkgconfig" "lib64/pkgconfig" + "share/pkgconfig"))))) (home-page "http://www.freedesktop.org/wiki/Software/pkg-config") (license gpl2+) (synopsis "a helper tool used when compiling applications and -- cgit v1.2.3