summaryrefslogtreecommitdiff
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)
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