diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-nix.nix | 43 |
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); } |