mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 04:19:00 +02:00
Merge pull request #301484 from ncfavier/ghc-libdir
mueval,diagrams-builder: fix GHC libdir
This commit is contained in:
commit
2791b5e605
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, makeWrapper, haskellPackages, packages ? (pkgs: [])
|
{ lib, stdenv, makeWrapper, haskellPackages, packages ? (pkgs: [])
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let defaultPkgs = pkgs: [ pkgs.show
|
let defaultPkgs = pkgs: [ pkgs.show
|
||||||
|
@ -8,7 +8,6 @@ let defaultPkgs = pkgs: [ pkgs.show
|
||||||
];
|
];
|
||||||
env = haskellPackages.ghcWithPackages
|
env = haskellPackages.ghcWithPackages
|
||||||
(pkgs: defaultPkgs pkgs ++ packages pkgs);
|
(pkgs: defaultPkgs pkgs ++ packages pkgs);
|
||||||
libDir = "${env}/lib/ghc-${env.version}";
|
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "mueval-env";
|
name = "mueval-env";
|
||||||
|
@ -17,11 +16,23 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
buildCommand = ''
|
dontUnpack = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
|
||||||
makeWrapper $mueval/bin/mueval $out/bin/mueval \
|
makeWrapper $mueval/bin/mueval $out/bin/mueval \
|
||||||
--set "NIX_GHC_LIBDIR" "${libDir}"
|
--set "NIX_GHC_LIBDIR" "$(${lib.getExe' env "ghc"} --print-libdir)"
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
[[ $($out/bin/mueval -e 42) == 42 ]]
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = { inherit defaultPkgs; };
|
passthru = { inherit defaultPkgs; };
|
||||||
|
|
|
@ -17,13 +17,13 @@ let
|
||||||
# Used same technique as for the yiCustom package.
|
# Used same technique as for the yiCustom package.
|
||||||
wrappedGhc = ghcWithPackages
|
wrappedGhc = ghcWithPackages
|
||||||
(self: [ diagrams-builder ] ++ extraPackages self);
|
(self: [ diagrams-builder ] ++ extraPackages self);
|
||||||
ghcVersion = wrappedGhc.version;
|
ghc = lib.getExe' wrappedGhc "ghc";
|
||||||
|
|
||||||
exeWrapper = backend : ''
|
exeWrapper = backend : ''
|
||||||
makeWrapper \
|
makeWrapper \
|
||||||
"${diagrams-builder}/bin/diagrams-builder-${backend}" "$out/bin/diagrams-builder-${backend}" \
|
"${diagrams-builder}/bin/diagrams-builder-${backend}" "$out/bin/diagrams-builder-${backend}" \
|
||||||
--set NIX_GHC ${wrappedGhc}/bin/ghc \
|
--set NIX_GHC ${ghc} \
|
||||||
--set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${ghcVersion}
|
--set NIX_GHC_LIBDIR "$(${ghc} --print-libdir)"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
backends = ["svg" "cairo" "ps"];
|
backends = ["svg" "cairo" "ps"];
|
||||||
|
|
Loading…
Reference in a new issue