[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: build-system/gnu: Add 'validate-documentation-location' phase.
From: |
Ludovic Courtès |
Subject: |
01/03: build-system/gnu: Add 'validate-documentation-location' phase. |
Date: |
Mon, 01 Dec 2014 15:52:11 +0000 |
civodul pushed a commit to branch core-updates
in repository guix.
commit d68fe741623d11d16c514cf8bddbb48a1e5258ae
Author: Ludovic Courtès <address@hidden>
Date: Mon Dec 1 14:09:36 2014 +0100
build-system/gnu: Add 'validate-documentation-location' phase.
* guix/build/gnu-build-system.scm (validate-documentation-location): New
procedure.
(%standard-phases): Add it.
---
guix/build/gnu-build-system.scm | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index e42a6cc..9d97ceb 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -372,6 +372,27 @@ makefiles."
strip-directories)))
outputs))))
+(define* (validate-documentation-location #:key outputs
+ #:allow-other-keys)
+ "Documentation should go to 'share/info' and 'share/man', not just 'info/'
+and 'man/'. This phase moves directories to the right place if needed."
+ (define (validate-sub-directory output sub-directory)
+ (let ((directory (string-append output "/" sub-directory)))
+ (when (directory-exists? directory)
+ (let ((target (string-append output "/share/" sub-directory)))
+ (format #t "moving '~a' to '~a'~%" directory target)
+ (mkdir-p (dirname target))
+ (rename-file directory target)))))
+
+ (define (validate-output output)
+ (for-each (cut validate-sub-directory output <>)
+ '("man" "info")))
+
+ (match outputs
+ (((names . directories) ...)
+ (for-each validate-output directories)))
+ #t)
+
(define %standard-phases
;; Standard build phases, as a list of symbol/procedure pairs.
(let-syntax ((phases (syntax-rules ()
@@ -380,7 +401,8 @@ makefiles."
patch-usr-bin-file
patch-source-shebangs configure patch-generated-file-shebangs
build check install
- patch-shebangs strip)))
+ patch-shebangs strip
+ validate-documentation-location)))
(define* (gnu-build #:key (source #f) (outputs #f) (inputs #f)