diff options
Diffstat (limited to 'guix')
-rw-r--r-- | guix/build-system/minify.scm | 4 | ||||
-rw-r--r-- | guix/build/minify-build-system.scm | 2 | ||||
-rw-r--r-- | guix/derivations.scm | 49 | ||||
-rw-r--r-- | guix/import/print.scm | 6 | ||||
-rw-r--r-- | guix/utils.scm | 1 |
5 files changed, 29 insertions, 33 deletions
diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm index 3256b5d30b..7d4745ab32 100644 --- a/guix/build-system/minify.scm +++ b/guix/build-system/minify.scm @@ -46,8 +46,8 @@ (define (default-uglify-js) "Return the default package to minify JavaScript source files." ;; Lazily resolve the binding to avoid a circular dependency. - (let ((mod (resolve-interface '(gnu packages lisp-xyz)))) - (module-ref mod 'uglify-js))) + (let ((mod (resolve-interface '(gnu packages uglifyjs)))) + (module-ref mod 'uglifyjs))) (define* (lower name #:key source inputs native-inputs outputs system diff --git a/guix/build/minify-build-system.scm b/guix/build/minify-build-system.scm index f7f51af301..5789ca3f0f 100644 --- a/guix/build/minify-build-system.scm +++ b/guix/build/minify-build-system.scm @@ -40,7 +40,7 @@ (format #t "minifying ~a\n" file) (let* ((base (basename file ".js")) (installed (or target (string-append directory base ".min.js"))) - (minified (open-pipe* OPEN_READ "uglify-js" file))) + (minified (open-pipe* OPEN_READ "uglifyjs" file))) (call-with-output-file installed (cut dump-port minified <>)) (match (close-pipe minified) diff --git a/guix/derivations.scm b/guix/derivations.scm index 2fe684cc18..33f4dc5d9d 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -241,32 +241,29 @@ the store." "Return a list of inputs, such that when INPUTS contains the same DRV twice, they are coalesced, with their sub-derivations merged. This is needed because Nix itself keeps only one of them." - (define (find pred lst) ;inlinable copy of 'find' - (let loop ((lst lst)) - (match lst - (() #f) - ((head . tail) - (if (pred head) head (loop tail)))))) - - (fold (lambda (input result) - (match input - (($ <derivation-input> (= derivation-file-name path) sub-drvs) - ;; XXX: quadratic - (match (find (match-lambda - (($ <derivation-input> (= derivation-file-name p) - s) - (string=? p path))) - result) - (#f - (cons input result)) - ((and dup ($ <derivation-input> drv sub-drvs2)) - ;; Merge DUP with INPUT. - (let ((sub-drvs (delete-duplicates - (append sub-drvs sub-drvs2)))) - (cons (make-derivation-input drv (sort sub-drvs string<?)) - (delq dup result)))))))) - '() - inputs)) + (define table + (make-hash-table 25)) + + (for-each (lambda (input) + (let* ((drv (derivation-input-path input)) + (sub-drvs (derivation-input-sub-derivations input))) + (match (hash-get-handle table drv) + (#f + (hash-set! table drv input)) + ((and handle (key . ($ <derivation-input> drv sub-drvs2))) + ;; Merge DUP with INPUT. + (let* ((sub-drvs (delete-duplicates + (append sub-drvs sub-drvs2))) + (input + (make-derivation-input drv + (sort sub-drvs string<?)))) + (set-cdr! handle input)))))) + inputs) + + (hash-fold (lambda (key input lst) + (cons input lst)) + '() + table)) (define* (derivation-prerequisites drv #:optional (cut? (const #f))) "Return the list of derivation-inputs required to build DRV, recursively. diff --git a/guix/import/print.scm b/guix/import/print.scm index 77492e222c..c1739f35e3 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -69,9 +69,9 @@ when evaluated." (if var (symbol-append 'license: var) `(license - (name ,(license-name lic)) - (uri ,(license-uri lic)) - (comment ,(license-comment lic)))))) + ,(license-name lic) + ,(license-uri lic) + ,(license-comment lic))))) (define (search-path-specification->code spec) `(search-path-specification diff --git a/guix/utils.scm b/guix/utils.scm index c5a3a52f9d..0cf299fac6 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -1090,7 +1090,6 @@ bound by MAX-COLUMN-WIDTH." (map (cut min <> max-column-width) column-widths))) (fmt (string-append (string-join column-formats "\t") "\t~a"))) - (setvbuf (current-output-port) 'block) ;for better performance (for-each (cut format #t "~?~%" fmt <>) rows))) ;;; Local Variables: |