diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-05-15 09:40:23 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-05-17 10:48:37 +0200 |
commit | 827c56515e06d21aaa23d60ed05b0c45d1d49901 (patch) | |
tree | b77f21391a3ec3fd7192f78b28366d5162c75c9e /guix/build | |
parent | 7376ba4cd4d07b5640ab49acad371a8ef3f090bc (diff) | |
download | gnu-guix-827c56515e06d21aaa23d60ed05b0c45d1d49901.tar gnu-guix-827c56515e06d21aaa23d60ed05b0c45d1d49901.tar.gz |
union: Do not warn about harmless collisions.
Until now we'd get pointless messages like:
warning: collision encountered:
/gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
/gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache
warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
* guix/build/union.scm (%harmless-collisions): New variable.
(warn-about-collision): Honor it.
Diffstat (limited to 'guix/build')
-rw-r--r-- | guix/build/union.scm | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/guix/build/union.scm b/guix/build/union.scm index 24b366af45..fff795c4d3 100644 --- a/guix/build/union.scm +++ b/guix/build/union.scm @@ -81,14 +81,23 @@ identical, #f otherwise." (or (eof-object? n1) (loop)))))))))))))) +(define %harmless-collisions + ;; This is a list of files that are known to collide, but for which emitting + ;; a warning doesn't make sense. For example, "icon-theme.cache" is + ;; regenerated by a profile hook which shadows the file provided by + ;; individual packages, and "gschemas.compiled" is made available to + ;; applications via 'glib-or-gtk-build-system'. + '("icon-theme.cache" "gschemas.compiled")) + (define (warn-about-collision files) "Handle the collision among FILES by emitting a warning and choosing the first one of THEM." - (format (current-error-port) - "~%warning: collision encountered:~%~{ ~a~%~}" - files) (let ((file (first files))) - (format (current-error-port) "warning: choosing ~a~%" file) + (unless (member (basename file) %harmless-collisions) + (format (current-error-port) + "~%warning: collision encountered:~%~{ ~a~%~}" + files) + (format (current-error-port) "warning: choosing ~a~%" file)) file)) (define* (union-build output inputs |