summary refs log tree commit diff
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)
downloadnixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.tar
nixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.tar.gz
nixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.tar.bz2
nixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.tar.lz
nixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.tar.xz
nixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.tar.zst
nixpkgs-07db0b248c4c0d5404a54c01d61b0c07f744a859.zip
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 eb0711b8885..f62d208d22d 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 00000000000..1b3de999d22
--- /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
+  '';
+}