aboutsummaryrefslogtreecommitdiff
path: root/pkgs/test
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-01-17 18:00:27 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2020-01-17 18:00:27 -0500
commit07db0b248c4c0d5404a54c01d61b0c07f744a859 (patch)
treefbe06b854d78ff802b3cf79e00f2cfd8da1b5dfd /pkgs/test
parentac65998957255aa4b67f771e9889534dcfe2298d (diff)
parentcb46b97ae93b0c26af5ab65ee7f2f9b291027f43 (diff)
Merge remote-tracking branch 'obsidiansystems/work-on-multi-shellFor'
Diffstat (limited to 'pkgs/test')
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/haskell-shellFor/default.nix24
2 files changed, 26 insertions, 0 deletions
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index eb0711b88857..f62d208d22da 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -26,6 +26,8 @@ with pkgs;
cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
stdenv-inputs = callPackage ./stdenv-inputs { };
+ haskell-shellFor = callPackage ./haskell-shellFor { };
+
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
diff --git a/pkgs/test/haskell-shellFor/default.nix b/pkgs/test/haskell-shellFor/default.nix
new file mode 100644
index 000000000000..1b3de999d228
--- /dev/null
+++ b/pkgs/test/haskell-shellFor/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, haskellPackages, cabal-install }:
+
+haskellPackages.shellFor {
+ packages = p: [ p.database-id-class p.constraints-extras ];
+ nativeBuildInputs = [ cabal-install ];
+ phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+ unpackPhase = ''
+ sourceRoot=$(pwd)/scratch
+ mkdir -p "$sourceRoot"
+ cd "$sourceRoot"
+ tar -xf ${haskellPackages.database-id-class.src}
+ tar -xf ${haskellPackages.constraints-extras.src}
+ cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints-extras*"} cabal.project
+ '';
+ buildPhase = ''
+ export HOME=$(mktemp -d)
+ mkdir -p $HOME/.cabal
+ touch $HOME/.cabal/config
+ cabal v2-build --offline --verbose database-id-class constraints-extras --ghc-options="-O0 -j$NIX_BUILD_CORES"
+ '';
+ installPhase = ''
+ touch $out
+ '';
+}