diff options
author | Kyle Meyer <kyle@kyleam.com> | 2020-07-01 20:50:41 -0400 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-07-02 10:29:10 +0300 |
commit | 64fc2293ca94a7c94cd30bee4a0207e517c0dfa3 (patch) | |
tree | b8e024b7138b3b5c75d12a79ea4dbd3f336b7a62 | |
parent | 09502e0233fd19188a12269b0f8068069b626b82 (diff) | |
download | guix-64fc2293ca94a7c94cd30bee4a0207e517c0dfa3.tar.gz |
gnu: git-annex: Build and install man pages.
* gnu/packages/haskell-apps.scm (git-annex)[arguments]: Add phases for building and installing the man pages. [native-inputs]: Add perl. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r-- | gnu/packages/haskell-apps.scm | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index f8bee424c3..5b6f0401e4 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com> +;;; Copyright © 2019, 2020 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> @@ -370,8 +370,7 @@ to @code{cabal repl}).") ;; Factor out necessary build logic from the provided ;; `Setup.hs' script. The script as-is does not work because ;; it cannot find its dependencies, and there is no obvious way - ;; to tell it where to look. Note that we do not preserve the - ;; code that installs man pages here. + ;; to tell it where to look. (call-with-output-file "PreConf.hs" (lambda (out) (format out "import qualified Build.Configure as Configure~%") @@ -385,6 +384,18 @@ to @code{cabal repl}).") (lambda _ (invoke "runhaskell" "PreConf.hs") #t)) + (add-after 'build 'build-manpages + (lambda _ + ;; The Setup.hs rewrite above removed custom code for building + ;; the man pages. In addition to that code, git-annex's source + ;; tree has a file that's not included in the tarball but is used + ;; by the Makefile to build man pages. Copy the core bits here. + (call-with-output-file "Build/MakeMans.hs" + (lambda (out) + (format out "module Main where~%") + (format out "import Build.Mans~%") + (format out "main = buildMansOrWarn~%"))) + (invoke "runhaskell" "Build/MakeMans.hs"))) (replace 'check (lambda _ ;; We need to set the path so that Git recognizes @@ -400,6 +411,14 @@ to @code{cabal repl}).") ;; Undo `patch-shell-for-tests'. (copy-file "/tmp/Shell.hs" "Utility/Shell.hs") (apply (assoc-ref %standard-phases 'build) args))) + (add-after 'install 'install-manpages + (lambda* (#:key outputs #:allow-other-keys) + (let ((man (string-append (assoc-ref outputs "out") + "/man/man1/"))) + (mkdir-p man) + (for-each (lambda (file) (install-file file man)) + (find-files "man"))) + #t)) (add-after 'install 'install-symlinks (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -465,7 +484,8 @@ to @code{cabal repl}).") `(("ghc-tasty" ,ghc-tasty) ("ghc-tasty-hunit" ,ghc-tasty-hunit) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) - ("ghc-tasty-rerun" ,ghc-tasty-rerun))) + ("ghc-tasty-rerun" ,ghc-tasty-rerun) + ("perl" ,perl))) (home-page "https://git-annex.branchable.com/") (synopsis "Manage files with Git, without checking in their contents") (description "This package allows managing files with Git, without |