diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-03-06 23:48:41 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-03-07 00:00:18 +0100 |
commit | 2cb658a9a7c491ee8ea13da9682170e40deb25ed (patch) | |
tree | df55d006e676fe56a533c01864b32a902de65131 /guix/scripts | |
parent | a4678c6ba18d8dbd79d931f80426eebf61be7ebe (diff) | |
download | gnu-guix-2cb658a9a7c491ee8ea13da9682170e40deb25ed.tar gnu-guix-2cb658a9a7c491ee8ea13da9682170e40deb25ed.tar.gz |
describe: Add 'package-provenance'.
* guix/scripts/package.scm (package-provenance): Move to...
* guix/describe.scm (package-provenance): ... here.
Diffstat (limited to 'guix/scripts')
-rw-r--r-- | guix/scripts/package.scm | 36 |
1 files changed, 1 insertions, 35 deletions
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 0e70315708..efff511299 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -36,7 +36,7 @@ #:use-module (guix config) #:use-module (guix scripts) #:use-module (guix scripts build) - #:autoload (guix describe) (current-profile-entries) + #:autoload (guix describe) (package-provenance) #:use-module ((guix build utils) #:select (directory-exists? mkdir-p)) #:use-module (ice-9 format) @@ -552,40 +552,6 @@ upgrading, #f otherwise." (output "out") ;XXX: wild guess (item item)))) -(define (package-provenance package) - "Return the provenance of PACKAGE as an sexp for use as the 'provenance' -property of manifest entries, or #f if it could not be determined." - (define (entry-source entry) - (match (assq 'source - (manifest-entry-properties entry)) - (('source value) value) - (_ #f))) - - (match (and=> (package-location package) location-file) - (#f #f) - (file - (let ((file (if (string-prefix? "/" file) - file - (search-path %load-path file)))) - (and file - (string-prefix? (%store-prefix) file) - - ;; Always store information about the 'guix' channel and - ;; optionally about the specific channel FILE comes from. - (or (let ((main (and=> (find (lambda (entry) - (string=? "guix" - (manifest-entry-name entry))) - (current-profile-entries)) - entry-source)) - (extra (any (lambda (entry) - (let ((item (manifest-entry-item entry))) - (and (string-prefix? item file) - (entry-source entry)))) - (current-profile-entries)))) - (and main - `(,main - ,@(if extra (list extra) '())))))))))) - (define (package->manifest-entry* package output) "Like 'package->manifest-entry', but attach PACKAGE provenance meta-data to the resulting manifest entry." |