diff options
Diffstat (limited to 'guix-data-service/model/license.scm')
-rw-r--r-- | guix-data-service/model/license.scm | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/guix-data-service/model/license.scm b/guix-data-service/model/license.scm index 9104882..ebca0eb 100644 --- a/guix-data-service/model/license.scm +++ b/guix-data-service/model/license.scm @@ -28,39 +28,39 @@ (define inferior-package-id (@@ (guix inferior) inferior-package-id)) -(define (inferior-packages->license-data inf packages) - (define (proc packages) - `(map (lambda (inferior-package-id) - (let ((package (hashv-ref %package-table inferior-package-id))) - (match (package-license package) - ((? license? license) - (list - (list (license-name license) - (license-uri license) - (license-comment license)))) - ((values ...) - (map (match-lambda - ((? license? license) - (list (license-name license) - (license-uri license) - (license-comment license))) - (x - (simple-format - (current-error-port) - "error: unknown license value ~A for package ~A" - x package) - '())) - values)) - (x - (simple-format - (current-error-port) - "error: unknown license value ~A for package ~A" - x package) - '())))) - (list ,@(map inferior-package-id packages)))) +(define (inferior-packages->license-data inf) + (define proc + `(vector-map + (lambda (_ package) + (match (package-license package) + ((? license? license) + (list + (list (license-name license) + (license-uri license) + (license-comment license)))) + ((values ...) + (map (match-lambda + ((? license? license) + (list (license-name license) + (license-uri license) + (license-comment license))) + (x + (simple-format + (current-error-port) + "error: unknown license value ~A for package ~A" + x package) + '())) + values)) + (x + (simple-format + (current-error-port) + "error: unknown license value ~A for package ~A" + x package) + '()))) + gds-inferior-packages)) (inferior-eval '(use-modules (guix licenses)) inf) - (inferior-eval (proc packages) inf)) + (inferior-eval proc inf)) (define (inferior-packages->license-id-lists conn license-data) (define (string-or-null v) |