1{ stdenv, haskellPackages, cabal-install }:
2
3haskellPackages.shellFor {
4 packages = p: [ p.database-id-class p.constraints-extras ];
5 nativeBuildInputs = [ cabal-install ];
6 phases = [ "unpackPhase" "buildPhase" "installPhase" ];
7 unpackPhase = ''
8 sourceRoot=$(pwd)/scratch
9 mkdir -p "$sourceRoot"
10 cd "$sourceRoot"
11 tar -xf ${haskellPackages.database-id-class.src}
12 tar -xf ${haskellPackages.constraints-extras.src}
13 cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints-extras*"} cabal.project
14 '';
15 buildPhase = ''
16 export HOME=$(mktemp -d)
17 mkdir -p $HOME/.cabal
18 touch $HOME/.cabal/config
19 cabal v2-build --offline --verbose database-id-class constraints-extras --ghc-options="-O0 -j$NIX_BUILD_CORES"
20 '';
21 installPhase = ''
22 touch $out
23 '';
24}