aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix45
1 files changed, 40 insertions, 5 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix b/infra/libkookie/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
index 2158386629aa..530e2707a2a9 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/infra/libkookie/nixpkgs/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)
@@ -542,6 +550,7 @@ self: super: builtins.intersectAttrs super {
# Break infinite recursion cycle between QuickCheck and splitmix.
splitmix = dontCheck super.splitmix;
+ splitmix_0_1_0_3 = dontCheck super.splitmix_0_1_0_3;
# Break infinite recursion cycle between tasty and clock.
clock = dontCheck super.clock;
@@ -645,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.
@@ -656,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
@@ -730,6 +755,7 @@ self: super: builtins.intersectAttrs super {
# break infinite recursion with base-orphans
primitive = dontCheck super.primitive;
+ primitive_0_7_1_0 = dontCheck super.primitive_0_7_1_0;
cut-the-crap =
let path = pkgs.stdenv.lib.makeBinPath [ pkgs.ffmpeg_3 pkgs.youtube-dl ];
@@ -797,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);
}