diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-12-22 23:40:57 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-12-23 00:05:05 +0100 |
commit | 3e30cdf1c35ebeb52630ec19b3b43b9e6d5ffb81 (patch) | |
tree | 988f723b064898342fe0211141974ec11466261b /tests | |
parent | 85f075a05777309f73d495830aabae70c119e840 (diff) |
guix build: Support '--with-source=PACKAGE@VERSION=URI'.
* guix/scripts/build.scm (numeric-extension?, tarball-base-name): New
procedures, formerly in 'package-with-source'.
(transform-package-source)[new-sources]: Look for '=' in URI. Each
element of the list of now a (PKG VERSION SOURCE) tuple.
Pass VERSION to 'package-with-source'.
(package-with-source): Add 'version' parameter and honor it.
* tests/scripts-build.scm ("options->transformation, with-source, PKG=URI")
("options->transformation, with-source, PKG@VER=URI"): New tests.
* doc/guix.texi (Package Transformation Options): Document the new
forms.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/scripts-build.scm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/scripts-build.scm b/tests/scripts-build.scm index a408ea6f8d..190426ed06 100644 --- a/tests/scripts-build.scm +++ b/tests/scripts-build.scm @@ -96,6 +96,35 @@ (string-contains (get-output-string port) "had no effect")))))) +(test-assert "options->transformation, with-source, PKG=URI" + (let* ((p (dummy-package "foo")) + (s (search-path %load-path "guix.scm")) + (f (string-append "foo=" s)) + (t (options->transformation `((with-source . ,f))))) + (with-store store + (let ((new (t store p))) + (and (not (eq? new p)) + (string=? (package-name new) (package-name p)) + (string=? (package-version new) + (package-version p)) + (string=? (package-source new) + (add-to-store store (basename s) #t + "sha256" s))))))) + +(test-assert "options->transformation, with-source, PKG@VER=URI" + (let* ((p (dummy-package "foo")) + (s (search-path %load-path "guix.scm")) + (f (string-append "foo@42.0=" s)) + (t (options->transformation `((with-source . ,f))))) + (with-store store + (let ((new (t store p))) + (and (not (eq? new p)) + (string=? (package-name new) (package-name p)) + (string=? (package-version new) "42.0") + (string=? (package-source new) + (add-to-store store (basename s) #t + "sha256" s))))))) + (test-assert "options->transformation, with-input" (let* ((p (dummy-package "guix.scm" (inputs `(("foo" ,(specification->package "coreutils")) |