summary refs log tree commit diff
path: root/pkgs/test
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-03-15 20:36:31 +0100
committerRobert Hensing <robert@roberthensing.nl>2022-03-15 20:38:22 +0100
commit2e87d165f74411ae00f964a508945696969ff53d (patch)
tree607d4fb17da215dd57cf559f28172f3f2bd8139b /pkgs/test
parent99a957451806bdbb866098560dc9b4d78d451719 (diff)
downloadnixpkgs-2e87d165f74411ae00f964a508945696969ff53d.tar
nixpkgs-2e87d165f74411ae00f964a508945696969ff53d.tar.gz
nixpkgs-2e87d165f74411ae00f964a508945696969ff53d.tar.bz2
nixpkgs-2e87d165f74411ae00f964a508945696969ff53d.tar.lz
nixpkgs-2e87d165f74411ae00f964a508945696969ff53d.tar.xz
nixpkgs-2e87d165f74411ae00f964a508945696969ff53d.tar.zst
nixpkgs-2e87d165f74411ae00f964a508945696969ff53d.zip
haskellPackages.shellFor: Add extraDependencies
An example use case is when you have Haskell scripts that use
libraries that don't occur in your packages' dependencies.
Diffstat (limited to 'pkgs/test')
-rw-r--r--pkgs/test/haskell/shellFor/default.nix11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/test/haskell/shellFor/default.nix b/pkgs/test/haskell/shellFor/default.nix
index 04f5e045361..aa06ff6e52f 100644
--- a/pkgs/test/haskell/shellFor/default.nix
+++ b/pkgs/test/haskell/shellFor/default.nix
@@ -2,6 +2,7 @@
 
 (haskellPackages.shellFor {
   packages = p: [ p.constraints p.linear ];
+  extraDependencies = p: { libraryHaskellDepends = [ p.releaser ]; };
   nativeBuildInputs = [ cabal-install ];
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
   unpackPhase = ''
@@ -16,6 +17,16 @@
     export HOME=$(mktemp -d)
     mkdir -p $HOME/.cabal
     touch $HOME/.cabal/config
+
+    # Check extraDependencies.libraryHaskellDepends arg
+    ghci <<EOF
+    :m + Releaser.Primitives
+    :m + System.IO
+    writeFile "done" "done"
+    EOF
+    [[ done == $(cat done) ]]
+
+    # Check packages arg
     cabal v2-build --offline --verbose constraints linear --ghc-options="-O0 -j$NIX_BUILD_CORES"
   '';
   installPhase = ''