[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/03: build-system/gnu: Copy license files to all the outputs.
From: |
guix-commits |
Subject: |
02/03: build-system/gnu: Copy license files to all the outputs. |
Date: |
Sun, 10 Mar 2019 17:24:38 -0400 (EDT) |
civodul pushed a commit to branch core-updates
in repository guix.
commit 6db044db45495aae471e1e8f537e267a0cb25cf5
Author: Ludovic Courtès <address@hidden>
Date: Sun Mar 10 22:16:14 2019 +0100
build-system/gnu: Copy license files to all the outputs.
Fixes <https://bugs.gnu.org/34702>.
Reported by Leo Famulari <address@hidden>.
* guix/build/gnu-build-system.scm
(install-license-files)[copy-to-directories]:
New procedure.
Call it to copy license files to all the outputs.
---
guix/build/gnu-build-system.scm | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index f62e961..afa1886 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -758,13 +758,23 @@ which cannot be found~%"
(string-append "../" directory)))
directories))))
+ (define (copy-to-directories directories sub-directory)
+ (lambda (file)
+ (for-each (if (file-is-directory? file)
+ (cut copy-recursively file <>)
+ (cut install-file file <>))
+ (map (cut string-append <> "/" sub-directory)
+ directories))))
+
(let* ((regexp (make-regexp license-file-regexp))
(out (or (assoc-ref outputs "out")
(match outputs
(((_ . output) _ ...)
output))))
(package (strip-store-file-name out))
- (directory (string-append out "/share/doc/" package))
+ (outputs (match outputs
+ (((_ . outputs) ...)
+ outputs)))
(source (if out-of-source?
(find-source-directory
(package-name->name+version package))
@@ -777,10 +787,9 @@ which cannot be found~%"
(begin
(format #t "installing ~a license files from '~a'~%"
(length files) source)
- (for-each (lambda (file)
- (if (file-is-directory? file)
- (copy-recursively file directory)
- (install-file file directory)))
+ (for-each (copy-to-directories outputs
+ (string-append "share/doc/"
+ package))
(map (cut string-append source "/" <>) files)))
(format (current-error-port)
"failed to find license files~%"))