diff --git a/pkgs/development/tools/haskell/mueval/default.nix b/pkgs/development/tools/haskell/mueval/default.nix index aaa3ad98e7e1..48144b038c98 100644 --- a/pkgs/development/tools/haskell/mueval/default.nix +++ b/pkgs/development/tools/haskell/mueval/default.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, haskellPackages, packages ? (pkgs: []) +{ lib, stdenv, makeWrapper, haskellPackages, packages ? (pkgs: []) }: let defaultPkgs = pkgs: [ pkgs.show @@ -8,7 +8,6 @@ let defaultPkgs = pkgs: [ pkgs.show ]; env = haskellPackages.ghcWithPackages (pkgs: defaultPkgs pkgs ++ packages pkgs); - libDir = "${env}/lib/ghc-${env.version}"; in stdenv.mkDerivation { name = "mueval-env"; @@ -17,11 +16,23 @@ in stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' + dontUnpack = true; + + buildPhase = '' + runHook preBuild + mkdir -p $out/bin 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; }; diff --git a/pkgs/tools/graphics/diagrams-builder/default.nix b/pkgs/tools/graphics/diagrams-builder/default.nix index 85f4fdc83efa..b88e4e517364 100644 --- a/pkgs/tools/graphics/diagrams-builder/default.nix +++ b/pkgs/tools/graphics/diagrams-builder/default.nix @@ -17,13 +17,13 @@ let # Used same technique as for the yiCustom package. wrappedGhc = ghcWithPackages (self: [ diagrams-builder ] ++ extraPackages self); - ghcVersion = wrappedGhc.version; + ghc = lib.getExe' wrappedGhc "ghc"; 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} + --set NIX_GHC ${ghc} \ + --set NIX_GHC_LIBDIR "$(${ghc} --print-libdir)" ''; backends = ["svg" "cairo" "ps"];