diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-10-17 20:58:02 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-11-02 21:22:12 +0100 |
commit | e786293e769f4d69e14d77905bf3a5745557033f (patch) | |
tree | 4e95aa8dff7c98f527f15cf628c7c34c3377732c | |
parent | 5c2033f86469ed052fd89a2a228f8cb17128ddf2 (diff) | |
download | gnu-guix-e786293e769f4d69e14d77905bf3a5745557033f.tar gnu-guix-e786293e769f4d69e14d77905bf3a5745557033f.tar.gz |
derivations: Add 'derivation-name'.
* guix/derivations.scm (derivation-name): New procedure.
* tests/derivations.scm ("derivation-name"): New test.
-rw-r--r-- | guix/derivations.scm | 6 | ||||
-rw-r--r-- | tests/derivations.scm | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index b80e31936e..b2a5c6b976 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -56,6 +56,7 @@ derivation-input-sub-derivations derivation-input-output-paths + derivation-name fixed-output-derivation? offloadable-derivation? substitutable-derivation? @@ -128,6 +129,11 @@ (derivation-outputs drv))) (number->string (object-address drv) 16)))) +(define (derivation-name drv) + "Return the base name of DRV." + (let ((base (store-path-package-name (derivation-file-name drv)))) + (string-drop-right base 4))) + (define (fixed-output-derivation? drv) "Return #t if DRV is a fixed-output derivation, such as the result of a download with a fixed hash (aka. `fetchurl')." diff --git a/tests/derivations.scm b/tests/derivations.scm index 29b341e2bb..4b36758c25 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -173,6 +173,11 @@ (= (stat:ino (lstat file1)) (stat:ino (lstat file2)))))))) +(test-equal "derivation-name" + "foo-0.0" + (let ((drv (derivation %store "foo-0.0" %bash '()))) + (derivation-name drv))) + (test-assert "offloadable-derivation?" (and (offloadable-derivation? (derivation %store "foo" %bash '())) (not (offloadable-derivation? |