about summary refs log tree commit diff
path: root/pkgs/tools/graphics/diagrams-builder
diff options
context:
space:
mode:
authorRaymond Gauthier <jraygauthier@gmail.com>2015-04-27 22:55:54 -0400
committerRaymond Gauthier <jraygauthier@gmail.com>2015-04-27 23:02:37 -0400
commit76a8089d96670fbb5dd35edaea7e83877c35a7ad (patch)
tree277eba4a996cf96dc55e5df1d259e474f30ed90f /pkgs/tools/graphics/diagrams-builder
parent4463bad2dd5d5175c2c80f2050f2622372724be1 (diff)
downloadnixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.tar
nixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.tar.gz
nixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.tar.bz2
nixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.tar.lz
nixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.tar.xz
nixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.tar.zst
nixlib-76a8089d96670fbb5dd35edaea7e83877c35a7ad.zip
Added standalone diagram-builder haskell package.
Simple wrapper over `haskellng`'s `diagram-builder`
package that allows for simpler install.
Diffstat (limited to 'pkgs/tools/graphics/diagrams-builder')
-rw-r--r--pkgs/tools/graphics/diagrams-builder/default.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/diagrams-builder/default.nix b/pkgs/tools/graphics/diagrams-builder/default.nix
new file mode 100644
index 000000000000..fc7766b403c4
--- /dev/null
+++ b/pkgs/tools/graphics/diagrams-builder/default.nix
@@ -0,0 +1,43 @@
+/*
+  If user need access to more haskell package for building his
+  diagrams, he simply has to pass these package through the
+  extra packages function as follow in `config.nix`:
+  
+  ~~~
+  diagrams-builder.override {
+    extraPackages = self : [myHaskellPackage];
+  }
+  ­~~~
+*/
+
+{ stdenv, ghcWithPackages, makeWrapper, diagrams-builder, extraPackages ? (self: []) }:
+let
+  # Used same technique as for the yiCustom package.
+  w = ghcWithPackages 
+    (self: [ diagrams-builder ] ++ extraPackages self);
+  wrappedGhc = w.override { ignoreCollisions = true; };
+  ghcVersion = w.version;
+in
+stdenv.mkDerivation {
+  name = "diagrams-builder";
+  buildInputs = [ makeWrapper ];
+  buildCommand = ''
+    makeWrapper \
+    "${diagrams-builder}/bin/diagrams-builder-svg" "$out/bin/diagrams-builder-svg" \
+      --set NIX_GHC ${wrappedGhc}/bin/ghc \
+      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
+
+    makeWrapper \
+    "${diagrams-builder}/bin/diagrams-builder-cairo" "$out/bin/diagrams-builder-cairo" \
+      --set NIX_GHC ${wrappedGhc}/bin/ghc \
+      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
+
+    makeWrapper \
+    "${diagrams-builder}/bin/diagrams-builder-ps" "$out/bin/diagrams-builder-ps" \
+    --set NIX_GHC ${wrappedGhc}/bin/ghc \
+    --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
+  '';
+  # Will be faster to build the wrapper locally then to fetch it from a binary cache.
+  preferLocalBuild = true;
+  meta = diagrams-builder.meta;
+}
\ No newline at end of file