aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-07-29 22:34:57 +0200
committerMarius Bakke <marius@gnu.org>2021-07-29 22:34:57 +0200
commitb029be2ee0f81cdcbc14240ff426408085ab0a40 (patch)
treeed6d0e1bfdadfd28e1eb804e43763b793baa0b42 /guix
parentbc55f3091bac4677df0cf020381c554921fea179 (diff)
parentffb381856d0c6cc1a557b789f6b377cfa17002a0 (diff)
downloadguix-b029be2ee0f81cdcbc14240ff426408085ab0a40.tar
guix-b029be2ee0f81cdcbc14240ff426408085ab0a40.tar.gz
Merge branch 'master' into core-updates-frozen
Conflicts: gnu/packages/bioinformatics.scm gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/emacs-xyz.scm gnu/packages/gpodder.scm gnu/packages/music.scm gnu/packages/patches/glibc-bootstrap-system.patch gnu/packages/python-xyz.scm gnu/packages/shells.scm gnu/packages/statistics.scm
Diffstat (limited to 'guix')
-rw-r--r--guix/build-system/minify.scm4
-rw-r--r--guix/build/minify-build-system.scm2
-rw-r--r--guix/derivations.scm49
-rw-r--r--guix/import/print.scm6
-rw-r--r--guix/utils.scm1
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: