aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/haskell-modules/configuration-nix.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix43
1 files changed, 38 insertions, 5 deletions
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index a74b1eb05cd5..530e2707a2a9 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -95,7 +95,15 @@ self: super: builtins.intersectAttrs super {
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
# profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8
- cachix = disableLibraryProfiling super.cachix;
+ cachix = overrideSrc (disableLibraryProfiling super.cachix) {
+ src = (pkgs.fetchFromGitHub {
+ owner = "cachix";
+ repo = "cachix";
+ rev = "1471050f5906ecb7cd0d72115503d07d2e3beb17";
+ sha256 = "1lkrmhv5x9dpy53w33kxnhv4x4qm711ha8hsgccrjmxaqcsdm59g";
+ }) + "/cachix";
+ version = "0.5.1";
+ };
hercules-ci-agent = disableLibraryProfiling super.hercules-ci-agent;
# avoid compiling twice by providing executable as a separate output (with small closure size)
@@ -646,7 +654,6 @@ self: super: builtins.intersectAttrs super {
# Tests require internet
http-download = dontCheck super.http-download;
pantry = dontCheck super.pantry;
- pantry_0_5_1_3 = dontCheck super.pantry_0_5_1_3;
# gtk2hs-buildtools is listed in setupHaskellDepends, but we
# need it during the build itself, too.
@@ -657,9 +664,26 @@ self: super: builtins.intersectAttrs super {
let
# Spago needs a small patch to work with the latest versions of rio.
# https://github.com/purescript/spago/pull/647
- spagoWithPatches = appendPatch super.spago (pkgs.fetchpatch {
- url = "https://github.com/purescript/spago/pull/647/commits/917ee541a966db74f0f5d11f2f86df0030c35dd7.patch";
- sha256 = "1nspqgcjk6z90cl9zhard0rn2q979kplcqz72x8xv5mh57zabk0w";
+ spagoWithPatches = overrideCabal (appendPatch super.spago (
+ # Spago-0.17 needs a small patch to work with the latest version of dhall.
+ # This can probably be removed with Spago-0.18.
+ # https://github.com/purescript/spago/pull/695
+ pkgs.fetchpatch {
+ url = "https://github.com/purescript/spago/commit/6258ac601480e776c215c989cc5faae46d5ca9f7.patch";
+ sha256 = "02zy4jf24qlqz9fkcs2rqg64ijd8smncmra8s5yp2mln4dmmii1k";
+ }
+ )) (old: {
+ # The above patch contains a completely new spago.cabal file, but our
+ # source tree from Hackage already contains a cabal file. Delete the
+ # local cabal file and just take the one from the patch.
+ #
+ # WARNING: The empty line above the `rm` needs to be kept.
+ prePatch = old.prePatch or "" + ''
+
+ rm spago.cabal
+ '';
+ # The above patch also adds a dependency on the stringsearch package.
+ libraryHaskellDepends = old.libraryHaskellDepends or [] ++ [ self.stringsearch ];
});
# spago requires an older version of megaparsec, but it appears to work
@@ -799,5 +823,14 @@ self: super: builtins.intersectAttrs super {
ln -s $out/bin/haskell-language-server $out/bin/haskell-language-server-${ghc_version}
ln -s $out/bin/haskell-language-server $out/bin/haskell-language-server-${ghc_major_version}
'';
+ testToolDepends = [ self.cabal-install pkgs.git ];
+ testTarget = "func-test"; # wrapper test accesses internet
+ preCheck = ''
+ export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
+ export HOME=$TMPDIR
+ '';
});
+
+ # tests depend on a specific version of solc
+ hevm = dontCheck (doJailbreak super.hevm);
}