about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/generic-stack-builder.nix
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2017-10-03 22:39:33 -0400
committerDomen Kožar <domen@enlambda.com>2017-11-01 16:01:39 +0100
commitdaf78689d475d6e3355e4c47e9314208d877960d (patch)
treed9ac2500fdecaeedb031a273c46bb6a06f409492 /pkgs/development/haskell-modules/generic-stack-builder.nix
parenta7d25d4bbca32ae858962918da15a64e471fe604 (diff)
Fix buildStackProject in nix-build
Diffstat (limited to 'pkgs/development/haskell-modules/generic-stack-builder.nix')
-rw-r--r--pkgs/development/haskell-modules/generic-stack-builder.nix14
1 files changed, 8 insertions, 6 deletions
diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix
index 7fbca53886efe..6e43df9aba691 100644
--- a/pkgs/development/haskell-modules/generic-stack-builder.nix
+++ b/pkgs/development/haskell-modules/generic-stack-builder.nix
@@ -1,4 +1,4 @@
-{ stdenv, ghc, pkgconfig, glibcLocales, cacert }@depArgs:
+{ stdenv, ghc, pkgconfig, glibcLocales, cacert, stack }@depArgs:
 
 with stdenv.lib;
 
@@ -6,15 +6,17 @@ with stdenv.lib;
 , extraArgs ? []
 , LD_LIBRARY_PATH ? []
 , ghc ? depArgs.ghc
+, stack ? depArgs.stack
 , ...
 }@args:
 
-stdenv.mkDerivation (args // {
+let stackCmd = "stack --internal-re-exec-version=${stack.version}";
+in stdenv.mkDerivation (args // {
 
   buildInputs =
     buildInputs ++
     optional stdenv.isLinux glibcLocales ++
-    [ ghc pkgconfig ];
+    [ ghc pkgconfig stack ];
 
   STACK_PLATFORM_VARIANT="nix";
   STACK_IN_NIX_SHELL=1;
@@ -39,13 +41,13 @@ stdenv.mkDerivation (args // {
     export STACK_ROOT=$NIX_BUILD_TOP/.stack
   '';
 
-  buildPhase = args.buildPhase or "stack build";
+  buildPhase = args.buildPhase or "${stackCmd} build";
 
-  checkPhase = args.checkPhase or "stack test";
+  checkPhase = args.checkPhase or "${stackCmd} test";
 
   doCheck = args.doCheck or true;
 
   installPhase = args.installPhase or ''
-    stack --local-bin-path=$out/bin build --copy-bins
+    ${stackCmd} --local-bin-path=$out/bin build --copy-bins
   '';
 })