summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell-apps.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell-apps.scm')
-rw-r--r--gnu/packages/haskell-apps.scm52
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