summary refs log tree commit diff
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.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