diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-02-26 23:14:28 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-02-26 23:35:29 +0100 |
commit | 22572d56cb3da5b176b5b5697d4e8e71067eab74 (patch) | |
tree | ef1cdb100716ff5d58c9ae6f75db4e198fd647ba /guix | |
parent | acb01e37466a1d3fff81f10e00fe15a4ef20e2db (diff) |
store: 'path-info-deriver' is #f when there is no deriver.
* guix/store.scm (read-path-info): Use #f when we get the empty string
for DERIVER.
* guix/scripts/publish.scm (narinfo-string): Adjust accordingly.
* tests/store.scm ("path-info-deriver"): New test.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/scripts/publish.scm | 2 | ||||
-rw-r--r-- | guix/store.scm | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 5306afcf07..46292131d7 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -164,7 +164,7 @@ References: ~a~%" store-path url hash size references)) ;; Do not render a "Deriver" or "System" line if we are rendering ;; info for a derivation. - (info (if (string-null? deriver) + (info (if (not deriver) base-info (catch 'system-error (lambda () diff --git a/guix/store.scm b/guix/store.scm index 3d6cff4c21..8746d3c2d6 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -242,14 +242,16 @@ (define-record-type <path-info> (path-info deriver hash references registration-time nar-size) path-info? - (deriver path-info-deriver) + (deriver path-info-deriver) ;string | #f (hash path-info-hash) (references path-info-references) (registration-time path-info-registration-time) (nar-size path-info-nar-size)) (define (read-path-info p) - (let ((deriver (read-store-path p)) + (let ((deriver (match (read-store-path p) + ("" #f) + (x x))) (hash (base16-string->bytevector (read-string p))) (refs (read-store-path-list p)) (registration-time (read-int p)) |