aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-03-30 22:56:38 +0100
committerLudovic Courtès <ludo@gnu.org>2013-03-30 22:57:03 +0100
commita18eda2747fa2eb962e3288066d2b1a679589ed3 (patch)
tree3622bccc9d73d6f09eb1a89be841d8faacbc32d5 /gnu
parent5cfdb4bcac145abb4f6ce29aaf8fd46504e9e0a9 (diff)
downloadguix-a18eda2747fa2eb962e3288066d2b1a679589ed3.tar
guix-a18eda2747fa2eb962e3288066d2b1a679589ed3.tar.gz
packages: Add `native-search-paths' field and honor it.
* guix/packages.scm (<search-path-specification>): New record type. (search-path-specification->sexp): New procedure. (<package>)[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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/avahi.scm14
-rw-r--r--gnu/packages/bootstrap.scm10
-rw-r--r--gnu/packages/gcc.scm8
-rw-r--r--gnu/packages/glib.scm12
-rw-r--r--gnu/packages/perl.scm3
-rw-r--r--gnu/packages/pkg-config.scm5
6 files changed, 26 insertions, 26 deletions
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