summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2018-01-26 19:31:37 +0100
committerPeter Simons <simons@cryp.to>2018-01-26 19:42:04 +0100
commitb7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9 (patch)
treef2b572957cfdf2363f81e1ca89260555038f2ee9 /pkgs/development/haskell-modules
parent2ef24476f55c067b5bc583315b9095c5a5774695 (diff)
downloadnixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.tar
nixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.tar.gz
nixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.tar.bz2
nixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.tar.lz
nixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.tar.xz
nixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.tar.zst
nixlib-b7e6ac151592bd3c7595e60e9ecf9e1e3c013fe9.zip
hledger: install man pages and info files
Make sure that hledger, hledger-ui, and hledger-web have their documentation
installed in locations where system tools can find them.

Fixes https://github.com/NixOS/nixpkgs/issues/34301.
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 74331d46a8ba..acae897609b2 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -960,4 +960,43 @@ self: super: {
     sha256 = "0i889zs46wn09d7iqdy99201zaqxb175cfs8jz2zi3mv4ywx3a0l";
   });
 
+  # Copy hledger man pages from data directory into the proper place. This code
+  # should be moved into the cabal2nix generator.
+  hledger = overrideCabal super.hledger (drv: {
+    postInstall = ''
+      for i in $(seq 1 9); do
+        for j in $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/.otherdocs/*.$i; do
+          mkdir -p $out/share/man/man$i
+          cp $j $out/share/man/man$i/
+        done
+      done
+      mkdir $out/share/info
+      cp $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.info $out/share/info/
+    '';
+  });
+  hledger-ui = overrideCabal super.hledger-ui (drv: {
+    postInstall = ''
+      for i in $(seq 1 9); do
+        for j in $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/.otherdocs/*.$i; do
+          mkdir -p $out/share/man/man$i
+          cp $j $out/share/man/man$i/
+        done
+      done
+      mkdir $out/share/info
+      cp $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.info $out/share/info/
+    '';
+  });
+  hledger-web = overrideCabal super.hledger-web (drv: {
+    postInstall = ''
+      for i in $(seq 1 9); do
+        for j in $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.$i $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/.otherdocs/*.$i; do
+          mkdir -p $out/share/man/man$i
+          cp $j $out/share/man/man$i/
+        done
+      done
+      mkdir $out/share/info
+      cp $data/share/${self.ghc.name}/${pkgs.stdenv.system}-${self.ghc.name}/*/*.info $out/share/info/
+    '';
+  });
+
 }