summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2020-07-24 11:27:51 +0200
committerLudovic Courtès <ludo@gnu.org>2020-07-24 14:21:30 +0200
commita553892215157090ff892dc5cbbe85a25e837260 (patch)
treeeaaed6a3d04c27db8c92dbb2cda3cefe3c368289
parent12dc9f58c422c06bf9950f21c54ca3df1dc40af1 (diff)
downloadguix-a553892215157090ff892dc5cbbe85a25e837260.tar.gz
pack: '-R' applies to propagated inputs too.
Fixes <https://bugs.gnu.org/42510>.

* guix/scripts/pack.scm (wrapped-manifest-entry): Recurse on
'dependencies' field.
* tests/guix-pack-relocatable.sh: Add test.
-rw-r--r--guix/scripts/pack.scm5
-rw-r--r--tests/guix-pack-relocatable.sh5
2 files changed, 9 insertions, 1 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 13ade37515..5fb6aaae0c 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -875,7 +875,10 @@ last resort for relocation."
     (item (apply wrapped-package
                  (manifest-entry-item entry)
                  (manifest-entry-output entry)
-                 args))))
+                 args))
+    (dependencies (map (lambda (entry)
+                         (apply wrapped-manifest-entry entry args))
+                       (manifest-entry-dependencies entry)))))
 
 
 ;;;
diff --git a/tests/guix-pack-relocatable.sh b/tests/guix-pack-relocatable.sh
index 358cac5b26..52d7212594 100644
--- a/tests/guix-pack-relocatable.sh
+++ b/tests/guix-pack-relocatable.sh
@@ -111,3 +111,8 @@ esac
 tarball="`guix pack -R -S /share=share groff:doc`"
 (cd "$test_directory"; tar xvf "$tarball")
 test -d "$test_directory/share/doc/groff/html"
+
+# Ensure '-R' applies to propagated inputs.  Failing to do that, it would fail
+# with a profile collision error in this case because 'python-scipy'
+# propagates 'python-numpy'.  See <https://bugs.gnu.org/42510>.
+guix pack -RR python-numpy python-scipy --no-grafts -n