diff options
Diffstat (limited to 'gnu/packages/haskell-apps.scm')
-rw-r--r-- | gnu/packages/haskell-apps.scm | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index ac22082088..3288b0d0a9 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -294,13 +294,17 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "10.20230828") + (version "10.20230926") (source (origin - (method url-fetch) - (uri (hackage-uri "git-annex" version)) + ;; hackage release doesn't include everything needed for extra bits. + (method git-fetch) + (uri (git-reference + (url "https://git.joeyh.name/git/git-annex.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0pb6834dwjs9kdki977rfkdyg58dfzy8wfwvswrz3n7h6bcnjd0b")))) + (base32 "0zsq686b0q7mlkybm1xrc0kpl32ymvf0ybar01p68wx800031b2b")))) (build-system haskell-build-system) (properties '((upstream-name . "git-annex"))) (arguments @@ -348,16 +352,7 @@ to @code{cabal repl}).") (invoke "runhaskell" "PreConf.hs"))) (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"))) + (invoke "make" "mans"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) ;; We need to set the path so that Git recognizes @@ -373,13 +368,27 @@ 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 + (add-after 'install 'install-more (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"))))) + (let* ((out (assoc-ref outputs "out")) + (bash (string-append out "/etc/bash_completions.d")) + (fish (string-append out "/share/fish/vendor_completions.d")) + (zsh (string-append out "/share/zsh/site-functions"))) + (setenv "PREFIX" out) + (invoke "make" "install-mans") + (mkdir-p bash) + (copy-file "bash-completion.bash" + (string-append bash "/git-annex")) + (mkdir-p fish) + (with-output-to-file (string-append fish "/git-annex.fish") + (lambda _ + (invoke (string-append out "/bin/git-annex") + "--fish-completion-script" "git-annex"))) + (mkdir-p zsh) + (with-output-to-file (string-append zsh "/_git-annex") + (lambda _ + (invoke (string-append out "/bin/git-annex") + "--zsh-completion-script" "git-annex")))))) (add-after 'install 'install-symlinks (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -406,13 +415,16 @@ to @code{cabal repl}).") ghc-cryptonite ghc-data-default ghc-dav + ghc-dbus ghc-disk-free-space ghc-dlist ghc-edit-distance ghc-exceptions + ghc-fdo-notify ghc-feed ghc-filepath-bytestring ghc-free + ghc-git-lfs ghc-hinotify ghc-http-client ghc-http-client-tls |