summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-12-20 14:42:56 +0100
committerLudovic Courtès <ludo@gnu.org>2015-12-20 22:34:22 +0100
commitccda8f7d7f95a9db0e1163857faf74800f368ac1 (patch)
tree9519f531b856c7b9312679765d7b0362e843c482
parentaa8e051532a144ce86c13169e08abdd554b9823e (diff)
downloadguix-ccda8f7d7f95a9db0e1163857faf74800f368ac1.tar.gz
profiles: Honor search paths of propagated inputs.
Fixes <http://bugs.gnu.org/22073>.
Reported by Federico Beffa <beffa@ieee.org>.

* guix/profiles.scm (package->manifest-entry): Use
'package-transitive-native-search-paths' when computing
'search-paths' field.
* tests/profiles.scm ("package->manifest-entry, search paths"): New test.
-rw-r--r--guix/profiles.scm2
-rw-r--r--tests/profiles.scm9
2 files changed, 10 insertions, 1 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index ce6b2c4f42..ce86ff8e0a 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -176,7 +176,7 @@ omitted or #f, use the first output of PACKAGE."
      (output (or output (car (package-outputs package))))
      (item package)
      (dependencies (delete-duplicates deps))
-     (search-paths (package-native-search-paths package)))))
+     (search-paths (package-transitive-native-search-paths package)))))
 
 (define (packages->manifest packages)
   "Return a list of manifest entries, one for each item listed in PACKAGES.
diff --git a/tests/profiles.scm b/tests/profiles.scm
index cc9a822cee..e659c2e26d 100644
--- a/tests/profiles.scm
+++ b/tests/profiles.scm
@@ -32,6 +32,7 @@
   #:use-module (ice-9 regex)
   #:use-module (ice-9 popen)
   #:use-module (rnrs io ports)
+  #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-64))
 
@@ -224,6 +225,14 @@
                            (package-native-search-paths
                             packages:guile-2.0)))))))))
 
+(test-assert "package->manifest-entry, search paths"
+  ;; See <http://bugs.gnu.org/22073>.
+  (let ((mpl (@ (gnu packages python) python2-matplotlib)))
+    (lset= eq?
+           (package-transitive-native-search-paths mpl)
+           (manifest-entry-search-paths
+            (package->manifest-entry mpl)))))
+
 (test-assertm "etc/profile"
   ;; Make sure we get an 'etc/profile' file that at least defines $PATH.
   (mlet* %store-monad