summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2017-01-15 01:21:36 +0100
committerProfpatsch <mail@profpatsch.de>2017-01-15 21:29:03 +0100
commit0ef29213b59305bb9da8675aee5f54ddc496fccc (patch)
tree8a95607c558c5e4a6d374cb8eab4729921d62780 /pkgs/development/haskell-modules
parent1fe51342a98638d32349e0930afe6c1751e612ef (diff)
downloadnixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.tar
nixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.tar.gz
nixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.tar.bz2
nixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.tar.lz
nixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.tar.xz
nixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.tar.zst
nixlib-0ef29213b59305bb9da8675aee5f54ddc496fccc.zip
haskell: add servant sphinx docs to build
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 701410d57e9b..44e7e207a984 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1084,6 +1084,31 @@ self: super: {
     servant = self.servant_0_9_1_1;
   });
 
+  # build servant docs from the repository
+  servant =
+    let
+      ver = super.servant.version;
+      docs = pkgs.stdenv.mkDerivation {
+        name = "servant-sphinx-documentation-${ver}";
+        src = "${pkgs.fetchFromGitHub {
+          owner = "haskell-servant";
+          repo = "servant";
+          rev = "v${ver}";
+          sha256 = "0fynv77m7rk79pdp535c2a2bd44csgr32zb4wqavbalr7grpxg4q";
+        }}/doc";
+        buildInputs = with pkgs.pythonPackages; [ sphinx recommonmark sphinx_rtd_theme ];
+        makeFlags = "html";
+        installPhase = ''
+          mv _build/html $out
+        '';
+      };
+    in overrideCabal super.servant (old: {
+      postInstall = old.postInstall or "" + ''
+        ln -s ${docs} $out/share/doc/servant
+      '';
+    });
+
+
   # https://github.com/plow-technologies/servant-auth/issues/20
   servant-auth = dontCheck super.servant-auth;