summary refs log tree commit diff
path: root/pkgs/tools/graphics
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-05-08 05:59:50 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-05-08 05:59:50 -0700
commitc9395e1e92c97889915085ef498841f74317b627 (patch)
tree80cb19c11ccc4861589a05791713d22446adf369 /pkgs/tools/graphics
parentaa5791f7ad9e7da0272eac6d084031d4961c828f (diff)
parent3a07187003a144a9214f403a1ba9b4bd14004a2b (diff)
downloadnixlib-c9395e1e92c97889915085ef498841f74317b627.tar
nixlib-c9395e1e92c97889915085ef498841f74317b627.tar.gz
nixlib-c9395e1e92c97889915085ef498841f74317b627.tar.bz2
nixlib-c9395e1e92c97889915085ef498841f74317b627.tar.lz
nixlib-c9395e1e92c97889915085ef498841f74317b627.tar.xz
nixlib-c9395e1e92c97889915085ef498841f74317b627.tar.zst
nixlib-c9395e1e92c97889915085ef498841f74317b627.zip
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/tools/graphics')
-rw-r--r--pkgs/tools/graphics/diagrams-builder/default.nix44
1 files changed, 44 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..a12e5dbb8bb3
--- /dev/null
+++ b/pkgs/tools/graphics/diagrams-builder/default.nix
@@ -0,0 +1,44 @@
+/*
+  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.
+  wrappedGhc = ghcWithPackages 
+    (self: [ diagrams-builder ] ++ extraPackages self);
+  ghcVersion = wrappedGhc.version;
+
+  exeWrapper = backend : ''
+    makeWrapper \
+    "${diagrams-builder}/bin/diagrams-builder-${backend}" "$out/bin/diagrams-builder-${backend}" \
+      --set NIX_GHC ${wrappedGhc}/bin/ghc \
+      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
+  '';
+  
+  backends = ["svg" "cairo" "ps"];
+
+in
+
+stdenv.mkDerivation {
+  name = "diagrams-builder";
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = with stdenv.lib; 
+    concatStrings (intersperse "\n" (map exeWrapper backends));
+
+  # 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