Simplify standalone diagrams-builder
expression.
This commit is contained in:
parent
76a8089d96
commit
6119355c9c
@ -11,32 +11,33 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
{ stdenv, ghcWithPackages, makeWrapper, diagrams-builder, extraPackages ? (self: []) }:
|
{ stdenv, ghcWithPackages, makeWrapper, diagrams-builder, extraPackages ? (self: []) }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
# Used same technique as for the yiCustom package.
|
# Used same technique as for the yiCustom package.
|
||||||
w = ghcWithPackages
|
wrappedGhc = ghcWithPackages
|
||||||
(self: [ diagrams-builder ] ++ extraPackages self);
|
(self: [ diagrams-builder ] ++ extraPackages self);
|
||||||
wrappedGhc = w.override { ignoreCollisions = true; };
|
ghcVersion = wrappedGhc.version;
|
||||||
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}
|
|
||||||
|
|
||||||
|
exeWrapper = backend : ''
|
||||||
makeWrapper \
|
makeWrapper \
|
||||||
"${diagrams-builder}/bin/diagrams-builder-cairo" "$out/bin/diagrams-builder-cairo" \
|
"${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}
|
|
||||||
|
|
||||||
makeWrapper \
|
|
||||||
"${diagrams-builder}/bin/diagrams-builder-ps" "$out/bin/diagrams-builder-ps" \
|
|
||||||
--set NIX_GHC ${wrappedGhc}/bin/ghc \
|
--set NIX_GHC ${wrappedGhc}/bin/ghc \
|
||||||
--set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
|
--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.
|
# Will be faster to build the wrapper locally then to fetch it from a binary cache.
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
meta = diagrams-builder.meta;
|
meta = diagrams-builder.meta;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user