Skip to content

Commit

Permalink
Merge pull request #109011 from NixOS/haskell-updates
Browse files Browse the repository at this point in the history
Update Haskell package set to Stackage Nightly 2021-01-11 (plus other fixes)
  • Loading branch information
peti committed Jan 15, 2021
2 parents 10ffd69 + 5b220ae commit 8e4690c
Show file tree
Hide file tree
Showing 4 changed files with 1,225 additions and 870 deletions.
66 changes: 32 additions & 34 deletions pkgs/development/haskell-modules/configuration-common.nix
Expand Up @@ -521,6 +521,10 @@ self: super: {
then self.buildHaskellPackages.tasty-discover
else dontCheck super.tasty-discover);

# Known issue with nondeterministic test suite failure
# https://github.com/nomeata/tasty-expected-failure/issues/21
tasty-expected-failure = dontCheck super.tasty-expected-failure;

# Waiting on https://github.com/RaphaelJ/friday/pull/36
friday = doJailbreak super.friday;

Expand Down Expand Up @@ -681,34 +685,6 @@ self: super: {
# The standard libraries are compiled separately.
idris = generateOptparseApplicativeCompletion "idris" (dontCheck super.idris);

# build servant docs from the repository
servant =
let
ver = super.servant.version;
docs = pkgs.stdenv.mkDerivation {
name = "servant-sphinx-documentation-${ver}";
src = "${pkgs.fetchFromGitHub {
owner = "haskell-servant";
repo = "servant";
rev = "v${ver}";
sha256 = "0xk3czk3jhqjxhy0g8r2248m8yxgvmqhgn955k92z0h7p02lfs89";
}}/doc";
# Needed after sphinx 1.7.9 -> 1.8.3
postPatch = ''
substituteInPlace conf.py --replace "'.md': CommonMarkParser," ""
'';
nativeBuildInputs = with pkgs.buildPackages.python3Packages; [ sphinx recommonmark sphinx_rtd_theme ];
makeFlags = [ "html" ];
installPhase = ''
mv _build/html $out
'';
};
in overrideCabal super.servant (old: {
postInstall = old.postInstall or "" + ''
ln -s ${docs} ''${!outputDoc}/share/doc/servant
'';
});

# https://github.com/pontarius/pontarius-xmpp/issues/105
pontarius-xmpp = dontCheck super.pontarius-xmpp;

Expand Down Expand Up @@ -954,6 +930,10 @@ self: super: {
# Work around overspecified constraint on github ==0.18.
github-backup = doJailbreak super.github-backup;

# https://github.com/andrewthad/chronos/issues/62
# doctests are failing on newer GHC versions
chronos = dontCheck super.chronos;

# Test suite depends on cabal-install
doctest = dontCheck super.doctest;

Expand All @@ -963,8 +943,12 @@ self: super: {

# Generate cli completions for dhall.
dhall = generateOptparseApplicativeCompletion "dhall" super.dhall;
dhall-json = generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] super.dhall-json;
# For reasons that are not quire clear 'dhall-json' won't compile without 'tasty 1.4' due to its tests
# https://github.com/commercialhaskell/stackage/issues/5795
# This issue can be mitigated with 'dontCheck' which skips the tests and their compilation.
dhall-json = generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] (dontCheck super.dhall-json);
dhall-nix = generateOptparseApplicativeCompletion "dhall-to-nix" super.dhall-nix;
dhall-yaml = generateOptparseApplicativeCompletions ["dhall-to-yaml-ng" "yaml-to-dhall"] super.dhall-yaml;

# https://github.com/haskell-hvr/netrc/pull/2#issuecomment-469526558
netrc = doJailbreak super.netrc;
Expand Down Expand Up @@ -1434,8 +1418,9 @@ self: super: {
# 1. test requires internet
# 2. dependency shake-bench hasn't been published yet so we also need unmarkBroken and doDistribute
ghcide = doDistribute (unmarkBroken (dontCheck
(super.ghcide.override { lsp-test = dontCheck self.lsp-test_0_11_0_7; })
));
(super.ghcide_0_7_0_0.override {
lsp-test = dontCheck self.lsp-test_0_11_0_7;
})));
refinery = doDistribute super.refinery_0_3_0_0;
data-tree-print = doJailbreak super.data-tree-print;

Expand All @@ -1458,6 +1443,9 @@ self: super: {
# https://github.com/adnelson/semver-range/issues/15
semver-range = dontCheck super.semver-range;

# https://github.com/obsidiansystems/dependent-sum/issues/55
dependent-sum = doJailbreak super.dependent-sum;

dependent-sum-aeson-orphans = appendPatch super.dependent-sum-aeson-orphans (pkgs.fetchpatch {
# 2020-11-18: https://github.com/obsidiansystems/dependent-sum-aeson-orphans/pull/9
# Bump version bounds for ghc 8.10
Expand All @@ -1473,7 +1461,7 @@ self: super: {
# base upper bound is incompatible with ghc 8.10
neuron = doJailbreak super.neuron;

reflex = appendPatches super.reflex [
reflex = dontCheck (doJailbreak (appendPatches super.reflex [
# https://github.com/reflex-frp/reflex/pull/444
# Fixes for ghc 8.10
(pkgs.fetchpatch {
Expand All @@ -1486,7 +1474,7 @@ self: super: {
url = https://patch-diff.githubusercontent.com/raw/reflex-frp/reflex/pull/448.patch;
sha256 = "0a8gcq9g8dyyafkvs54mi3fnisff20r0x0qzmhxcp9md61nkf7gq";
})
];
]));

# 2020-11-19: jailbreaking because of pretty-simple bound out of date
# https://github.com/kowainik/stan/issues/408
Expand Down Expand Up @@ -1534,7 +1522,7 @@ self: super: {

# 2020-12-05: http-client is fixed on too old version
essence-of-live-coding-warp = super.essence-of-live-coding-warp.override {
http-client = self.http-client_0_7_3;
http-client = self.http-client_0_7_4;
};

# 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
Expand Down Expand Up @@ -1572,4 +1560,14 @@ self: super: {
# https://github.com/jaspervdj/profiteur/issues/33
profiteur = doJailbreak super.profiteur;

# Test suite has overly strict bounds on tasty.
# https://github.com/input-output-hk/nothunks/issues/9
nothunks = doJailbreak super.nothunks;

# Allow building with recent versions of tasty.
lukko = doJailbreak super.lukko;

# Allow building with older versions of http-client.
http-client-restricted = doJailbreak super.http-client-restricted;

} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

0 comments on commit 8e4690c

Please sign in to comment.