diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/test/haskell-shellFor/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/test/haskell-shellFor/default.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/test/haskell-shellFor/default.nix b/infra/libkookie/nixpkgs/pkgs/test/haskell-shellFor/default.nix new file mode 100644 index 000000000000..05d09d6f39cf --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/test/haskell-shellFor/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, haskellPackages, cabal-install }: + +(haskellPackages.shellFor { + packages = p: [ p.database-id-class p.constraints ]; + 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.src} + cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints*"} cabal.project + ''; + buildPhase = '' + export HOME=$(mktemp -d) + mkdir -p $HOME/.cabal + touch $HOME/.cabal/config + cabal v2-build --offline --verbose database-id-class constraints --ghc-options="-O0 -j$NIX_BUILD_CORES" + ''; + installPhase = '' + touch $out + ''; +}).overrideAttrs (oldAttrs: { + meta = + let + oldMeta = oldAttrs.meta or {}; + oldMaintainers = oldMeta.maintainers or []; + additionalMaintainers = with lib.maintainers; [ cdepillabout ]; + allMaintainers = oldMaintainers ++ additionalMaintainers; + in + oldMeta // { maintainers = allMaintainers; }; +}) |