Here's another batch of fixes to install man pages and docs in PREFIX/share. I also cleaned up the 'zip' package build process.
Mark
>From 32699d6c8070522c34e00ddb57d836d6fb0dc3e8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 16:13:52 -0400 Subject: [PATCH 1/7] gnu: indent: Install docs in share/doc. * gnu/packages/indent.scm (indent): Add a phase to fix the docdir setting in doc/Makefile.in. --- gnu/packages/indent.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/indent.scm b/gnu/packages/indent.scm index 78ceadf..7d7acba 100644 --- a/gnu/packages/indent.scm +++ b/gnu/packages/indent.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andr...@enge.fr> +;;; Copyright © 2014 Mark H Weaver <m...@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,16 @@ (sha256 (base32 "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa")))) (build-system gnu-build-system) + (arguments + `(#:phases (alist-cons-after + 'unpack 'fix-docdir + (lambda _ + ;; Although indent uses a modern autoconf in which docdir + ;; defaults to PREFIX/share/doc, the doc/Makefile.am + ;; overrides this to be in PREFIX/doc. Fix this. + (substitute* "doc/Makefile.in" + (("^docdir = .*$") "docdir = @docdir@\n"))) + %standard-phases))) (synopsis "Code reformatter") (description "Indent is a program that makes source code easier to read by -- 1.8.4
>From 36a9b92edfda4c3d5f77096789e033e036869644 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 16:59:14 -0400 Subject: [PATCH 2/7] gnu: lua: Install man pages in share/man. * gnu/packages/lua.scm (lua): Use 'system*' instead of 'system'. Add INSTALL_MAN argument to 'make'. --- gnu/packages/lua.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 8394afb..991cfc6 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt <tipec...@gmail.com> ;;; Copyright © 2014 Raimon Grau <raimons...@gmail.com> +;;; Copyright © 2014 Mark H Weaver <m...@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,8 +50,10 @@ 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system - (string-append "make install INSTALL_TOP=" out))))) + (zero? (system* "make" "install" + (string-append "INSTALL_TOP=" out) + (string-append "INSTALL_MAN=" out + "/share/man/man1"))))) (alist-delete 'configure %standard-phases))))) (home-page "http://www.lua.org/") (synopsis "An embeddable scripting language.") -- 1.8.4
>From fcfaef3bf3fbfecb74a0259704129bab634a966b Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 17:36:30 -0400 Subject: [PATCH 3/7] gnu: zip: Improve build process and install man pages in share/man. * gnu/packages/zip.scm (zip): Eliminate custom configure phase which copied and patched the Makefile. Instead add "-f" and "prefix" to make-flags, as well as "MANDIR". Remove "generic_gcc" from the make-flags, so that it will not be passed during other phases involving 'make'. Instead replace the 'build' phase with one that specifies the "generic_gcc" target. --- gnu/packages/zip.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 03f3bc2..1e1d29e 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -43,15 +43,15 @@ (inputs `(("bzip2" ,bzip2))) (arguments `(#:tests? #f ; no test target - #:make-flags '("generic_gcc") - #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (copy-file "unix/Makefile" "Makefile") - (substitute* "Makefile" (("/usr/local") out)))) - %standard-phases))) + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list "-f" "unix/Makefile" + (string-append "prefix=" out) + (string-append "MANDIR=" out "/share/man/man1"))) + #:phases (alist-replace + 'build + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (zero? (apply system* "make" "generic_gcc" make-flags))) + (alist-delete 'configure %standard-phases)))) (home-page "http://www.info-zip.org/Zip.html") (synopsis "Zip compression and file packing utility") (description -- 1.8.4
>From eead09b35ea8a762d0e70c37e0224133deb865f7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 17:56:57 -0400 Subject: [PATCH 4/7] gnu: expect: Install man pages in share/man. * gnu/packages/tcl.scm (expect): Add --mandir configure flag. Use 'let' to simplify configure flags generation. --- gnu/packages/tcl.scm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 18324ec..3ebdcbe 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -95,14 +95,12 @@ ("tcl" ,tcl))) (arguments '(#:configure-flags - (list (string-append "--with-tcl=" - (assoc-ref %build-inputs "tcl") - "/lib") - (string-append "--with-tclinclude=" - (assoc-ref %build-inputs "tcl") - "/include") - (string-append "--exec-prefix=" - (assoc-ref %outputs "out"))) + (let ((out (assoc-ref %outputs "out")) + (tcl (assoc-ref %build-inputs "tcl"))) + (list (string-append "--with-tcl=" tcl "/lib") + (string-append "--with-tclinclude=" tcl "/include") + (string-append "--exec-prefix=" out) + (string-append "--mandir=" out "/share/man"))) #:phases (alist-cons-before 'configure 'set-path-to-stty -- 1.8.4
>From 7ad09ea9dad7162b3db99f5fb7d5ad7fb211f308 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 18:04:36 -0400 Subject: [PATCH 5/7] gnu: pth: Install man pages in share/man. * gnu/packages/pth.scm (pth): Add --mandir to configure flags. --- gnu/packages/pth.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pth.scm b/gnu/packages/pth.scm index 211c0cf..fd4aba1 100644 --- a/gnu/packages/pth.scm +++ b/gnu/packages/pth.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Ludovic Courtès <l...@gnu.org> +;;; Copyright © 2014 Mark H Weaver <m...@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +36,13 @@ (base32 "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj")))) (build-system gnu-build-system) - (arguments '(#:parallel-build? #f)) + (arguments + '(#:parallel-build? #f + ;; By default, man pages are put in PREFIX/man, + ;; but we want them in PREFIX/share/man. + #:configure-flags (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man")))) (home-page "http://www.gnu.org/software/pth") (synopsis "Portable thread library") (description -- 1.8.4
>From 9d188261a51b8bcdca8e57f15b4f19d384635d90 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 18:05:06 -0400 Subject: [PATCH 6/7] gnu: ocaml: Install man pages in share/man. * gnu/packages/ocaml.scm (ocaml): Pass -mandir to configure. --- gnu/packages/ocaml.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index f6bb9f7..bcd4c19 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt <tipec...@gmail.com> +;;; Copyright © 2014 Mark H Weaver <m...@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +48,9 @@ ;; OCaml uses "-prefix <prefix>" rather than the usual ;; "--prefix=<prefix>". (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" "-prefix" out)))) + (zero? (system* "./configure" "-prefix" out + "-mandir" + (string-append out "/share/man"))))) (alist-replace 'build (lambda* (#:key outputs #:allow-other-keys) -- 1.8.4
>From 361397deee430770a930aef236cd79b3217ad355 Mon Sep 17 00:00:00 2001 From: Mark H Weaver <m...@netris.org> Date: Tue, 1 Apr 2014 18:55:28 -0400 Subject: [PATCH 7/7] gnu: bazaar: Install man pages in share/man. * gnu/packages/version-control.scm (bazaar): Add a phase that fixes setup.py to install man pages in share/man. --- gnu/packages/version-control.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 41df90b..5b89425 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2013 Cyril Roelandt <tipec...@gmail.com> ;;; Copyright © 2013, 2014 Ludovic Courtès <l...@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andr...@enge.fr> +;;; Copyright © 2014 Mark H Weaver <m...@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,8 +64,14 @@ `(("gettext" ,gnu-gettext))) (arguments `(#:tests? #f ; no test target - #:python ,python-2)) ; Python 3 apparently not yet supported, see + #:python ,python-2 ; Python 3 apparently not yet supported, see ; https://answers.launchpad.net/bzr/+question/229048 + #:phases (alist-cons-after + 'unpack 'fix-mandir + (lambda _ + (substitute* "setup.py" + (("man/man1") "share/man/man1"))) + %standard-phases))) (home-page "https://gnu.org/software/bazaar") (synopsis "Version control system supporting both distributed and centralized workflows") (description -- 1.8.4