diff options
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.nix | 45 |
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); } |