guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: guix package: Inherit the transformed version number.


From: Ludovic Courtès
Subject: 01/02: guix package: Inherit the transformed version number.
Date: Fri, 27 May 2016 23:07:49 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 494dc2fc628b754a9cc86a54c90202b13e0b68c6
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 27 15:17:42 2016 +0200

    guix package: Inherit the transformed version number.
    
    Previously, 'guix package -i emacs --with-source=./emacs-42.tar.gz'
    would fail to use "42" as the version number in the manifest entry.
    
    Reported by piyo on #guix.
    
    * guix/scripts/package.scm (process-actions)[transform-entry]: Inherit
    the version number from the result of TRANSFORM when it's a package.
    * tests/guix-package.sh: Test it.
---
 guix/scripts/package.scm |   10 +++++++---
 tests/guix-package.sh    |   14 ++++++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 697afc1..e2e3709 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -794,9 +794,13 @@ processed, #f otherwise."
   (define transform (options->transformation opts))
 
   (define (transform-entry entry)
-    (manifest-entry
-      (inherit entry)
-      (item (transform store (manifest-entry-item entry)))))
+    (let ((item (transform store (manifest-entry-item entry))))
+      (manifest-entry
+        (inherit entry)
+        (item item)
+        (version (if (package? item)
+                     (package-version item)
+                     (manifest-entry-version entry))))))
 
   ;; First, process roll-backs, generation removals, etc.
   (for-each (match-lambda
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 28c34db..68a1946 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -140,6 +140,20 @@ rm "$profile" "$profile"-[0-9]-link
 guix gc -d "$real_profile"
 [ ! -d "$real_profile" ]
 
+# Package transformations.
+
+# Make sure we get the right version number when using '--with-source'.
+mkdir "$module_dir"
+emacs_tarball="$module_dir/emacs-42.5.9rc7.tar.gz"
+touch "$emacs_tarball"
+guix package -p "$profile" -i emacs --with-source="$emacs_tarball" -n \
+     2> "$tmpfile"
+grep -E 'emacs[[:blank:]]+42\.5\.9rc7[[:blank:]]+.*-emacs-42.5.9rc7' \
+     "$tmpfile"
+rm "$emacs_tarball" "$tmpfile"
+rmdir "$module_dir"
+
+
 #
 # Try with the default profile.
 #



reply via email to

[Prev in Thread] Current Thread [Next in Thread]