Skip to content

Commit

Permalink
Merge pull request #151578 from NixOS/haskell-updates
Browse files Browse the repository at this point in the history
haskellPackages: update stackage and hackage
  • Loading branch information
sternenseemann authored Dec 27, 2021
2 parents f427295 + 44f5259 commit 0736e7e
Show file tree
Hide file tree
Showing 12 changed files with 1,530 additions and 2,017 deletions.
17 changes: 12 additions & 5 deletions pkgs/applications/office/hledger-check-fancyassertions/default.nix
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
{lib, stdenvNoCC, haskellPackages, fetchurl, writers}:

let
hledger-lib = haskellPackages.hledger-lib_1_24_1;
in

stdenvNoCC.mkDerivation rec {
pname = "hledger-check-fancyassertions";
version = "1.23";
inherit (hledger-lib) version;

src = fetchurl {
name = "hledger-check-fancyassertion-${version}.hs";
url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
sha256 = "08p2din1j7l4c29ipn68k8vvs3ys004iy8a3zf318lzby4h04h0n";
sha256 = "0naggvivc6szsc8haa52a6lm079ikz5qfva0ljnqx0f1zlkxv984";
};

dontUnpack = true;
Expand All @@ -15,11 +20,13 @@ stdenvNoCC.mkDerivation rec {
executable = writers.writeHaskell
"hledger-check-fancyassertions"
{
libraries = with haskellPackages; [
base base-compat base-compat-batteries filepath hledger-lib_1_24
libraries = [
hledger-lib
] ++ (with haskellPackages; [
base base-compat base-compat-batteries filepath
megaparsec microlens optparse-applicative string-qq text time
transformers
];
]);
inherit (haskellPackages) ghc;
}
src;
Expand Down
8 changes: 4 additions & 4 deletions pkgs/data/misc/hackage/pin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"commit": "45e72928a9053df2938492a535a1b4351251d82f",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/45e72928a9053df2938492a535a1b4351251d82f.tar.gz",
"sha256": "1a87yf9bly5ayldgrkakyipxfkk7h9ifqb4dpd8l1f9zb1csdg1x",
"msg": "Update from Hackage at 2021-12-09T20:50:23Z"
"commit": "01a23b49c333c95167338433cd375e24fc60d66d",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/01a23b49c333c95167338433cd375e24fc60d66d.tar.gz",
"sha256": "0mf1pqlg5cj0p0si1vgf5mp5an89yhq0il6v7n58smcqbfdynds5",
"msg": "Update from Hackage at 2021-12-21T13:58:08Z"
}
160 changes: 136 additions & 24 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,6 @@ self: super: {
buildDepends = [ pkgs.qt5.wrapQtAppsHook ];
}) super.qtah-cpp-qt5;

# Missing test data
# https://github.com/aleksey-makarov/melf/issues/1
melf = dontCheck super.melf;

# The Haddock phase fails for one reason or another.
deepseq-magic = dontHaddock super.deepseq-magic;
feldspar-signal = dontHaddock super.feldspar-signal; # https://github.com/markus-git/feldspar-signal/issues/1
Expand Down Expand Up @@ -863,7 +859,7 @@ self: super: {
super.hledger-lib;

# hledger-lib 1.24 depends on doctest >= 0.18
hledger-lib_1_24 = super.hledger-lib_1_24.override {
hledger-lib_1_24_1 = super.hledger-lib_1_24_1.override {
doctest = self.doctest_0_18_2;
};

Expand Down Expand Up @@ -1232,12 +1228,8 @@ self: super: {
})
] super.polysemy;

# polysemy-plugin 0.2.5.0 has constraint ghc-tcplugins-extra (==0.3.*)
# This upstream issue is relevant:
# https://github.com/polysemy-research/polysemy/issues/322
polysemy-plugin = super.polysemy-plugin.override {
ghc-tcplugins-extra = self.ghc-tcplugins-extra_0_3_2;
};
# 2021-12-26: Too strict bounds on doctest
polysemy-plugin = doJailbreak super.polysemy-plugin;

# Test suite requires running a database server. Testing is done upstream.
hasql-notifications = dontCheck super.hasql-notifications;
Expand Down Expand Up @@ -1517,9 +1509,6 @@ self: super: {
# Due to tests restricting base in 0.8.0.0 release
http-media = doJailbreak super.http-media;

# 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
heist = doJailbreak super.heist;

hinit = generateOptparseApplicativeCompletion "hi" (super.hinit.override { haskeline = self.haskeline_0_8_2; });

# 2020-11-19: Jailbreaking until: https://github.com/snapframework/snap/pull/219
Expand Down Expand Up @@ -2111,17 +2100,24 @@ self: super: {
gogol-core = appendPatch ./patches/gogol-core-144.patch super.gogol-core;

# Jailbreak isn't sufficient, but this is ok as it's a leaf package.
hadolint = super.hadolint.overrideScope (self: super: {
hadolint = overrideCabal (drv: {
# Test suite depends on ordering of unordered-containers returned values
# which was upgraded in LTS 18.19
# https://github.com/hadolint/hadolint/issues/753
testFlags = [
"--skip" "/Hadolint.Formatter.Sarif/Formatter: Sarif/print empty results/"
] ++ drv.testFlags or [];
}) (super.hadolint.overrideScope (self: super: {
language-docker = self.language-docker_10_4_0;
hspec = dontCheck self.hspec_2_9_4;
hspec-core = dontCheck self.hspec-core_2_9_4;
hspec-discover = dontCheck self.hspec-discover_2_9_4;
colourista = doJailbreak super.colourista;
});
}));

# These should be updated in lockstep
hledger_1_24 = super.hledger_1_24.override {
hledger-lib = self.hledger-lib_1_24;
hledger_1_24_1 = super.hledger_1_24_1.override {
hledger-lib = self.hledger-lib_1_24_1;
};

# Needs brick > 0.64
Expand All @@ -2135,11 +2131,127 @@ self: super: {
# test suite requires stack to run, https://github.com/dino-/photoname/issues/24
photoname = dontCheck super.photoname;

# Too strict bounds on recursive-zipper
# https://github.com/ChrisPenner/jet/issues/1
jet = doJailbreak super.jet;

# Use latest version until next Stackage LTS snapshot
Agda = doDistribute self.Agda_2_6_2_1;
# Upgrade of unordered-containers in Stackage causes ordering-sensitive test to fail
# https://github.com/chrisdone/lucid/issues/123
# https://github.com/commercialhaskell/stackage/issues/6366
lucid = assert super.lucid.version == "2.9.12.1"; overrideCabal (drv: {
testFlags = [
"--skip" "/attributes-with/mixed/"
] ++ drv.testFlags or [];
}) super.lucid;
# Basically the entire doctest suite of swagger2 fails for the same reason
swagger2 = assert super.swagger2.version == "2.6"; overrideCabal (drv: {
testTarget = "spec";
}) super.swagger2;
# https://github.com/kapralVV/Unique/issues/9
Unique = assert super.Unique.version == "0.4.7.9"; overrideCabal (drv: {
testFlags = [
"--skip" "/Data.List.UniqueUnsorted.removeDuplicates/removeDuplicates: simple test/"
"--skip" "/Data.List.UniqueUnsorted.repeatedBy,repeated,unique/unique: simple test/"
"--skip" "/Data.List.UniqueUnsorted.repeatedBy,repeated,unique/repeatedBy: simple test/"
] ++ drv.testFlags or [];
}) super.Unique;
# https://github.com/AndrewRademacher/aeson-casing/issues/8
aeson-casing = assert super.aeson-casing.version == "0.2.0.0"; overrideCabal (drv: {
testFlags = [
"-p" "! /encode train/"
] ++ drv.testFlags or [];
}) super.aeson-casing;
# https://github.com/Soostone/katip/issues/134
katip = assert super.katip.version == "0.8.7.0"; overrideCabal (drv: {
testFlags = [
"-p" "!/Text-golden/&&!/respects payloadKeys for each constituent payload/"
] ++ drv.testFlags or [];
}) super.katip;
# 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
# 2021-12-22: https://github.com/snapframework/heist/issues/131
heist = assert super.heist.version == "1.1.0.1"; overrideCabal (drv: {
testFlags = [
"-t" "!*/compiled/ns*"
] ++ drv.testFlags or [];
}) (doJailbreak super.heist);
# https://github.com/hercules-ci/hercules-ci-agent/issues/352
hercules-ci-api-agent = assert super.hercules-ci-api-agent.version == "0.4.1.0"; overrideCabal (drv: {
testFlags = [
"--skip" "/hercules-ci-api/Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfo/DerivationInfo/ToJSON/encodes v2 correctly/"
] ++ drv.testFlags or [];
}) (doJailbreak super.hercules-ci-api-agent);
# https://github.com/emc2/HUnit-Plus/issues/26
HUnit-Plus = dontCheck super.HUnit-Plus;
# https://github.com/ewestern/haskell-postgis/issues/7
haskell-postgis = overrideCabal (drv: {
testFlags = [
"--skip" "/Geo/Hexable/Encodes a linestring/"
] ++ drv.testFlags or [];
}) super.haskell-postgis;
# https://github.com/ChrisPenner/json-to-haskell/issues/5
json-to-haskell = overrideCabal (drv: {
testFlags = [
"--match" "/should sanitize weird field and record names/"
] ++ drv.testFlags or [];
}) super.json-to-haskell;
# https://github.com/fieldstrength/aeson-deriving/issues/5
aeson-deriving = dontCheck super.aeson-deriving;
# https://github.com/morpheusgraphql/morpheus-graphql/issues/660
morpheus-graphql-core = overrideCabal (drv: {
testFlags = [
"-p" "!/field.unexpected-value/&&!/field.missing-field/&&!/argument.unexpected-value/&&!/argument.missing-field/"
] ++ drv.testFlags or [];
}) super.morpheus-graphql-core;
morpheus-graphql = overrideCabal (drv: {
testFlags = [
"-p" "!/Test Rendering/"
] ++ drv.testFlags or [];
}) super.morpheus-graphql;
# https://github.com/SupercedeTech/dropbox-client/issues/1
dropbox = overrideCabal (drv: {
testFlags = [
"--skip" "/Dropbox/Dropbox aeson aeson/encodes list folder correctly/"
] ++ drv.testFlags or [];
}) super.dropbox;
# https://github.com/alonsodomin/haskell-schema/issues/11
hschema-aeson = overrideCabal (drv: {
testFlags = [
"--skip" "/toJsonSerializer/should generate valid JSON/"
] ++ drv.testFlags or [];
}) super.hschema-aeson;
# https://gitlab.com/k0001/xmlbf/-/issues/32
xmlbf = overrideCabal (drv: {
testFlags = [
"-p" "!/xml: <x b=\"\" a=\"y\"><\\/x>/&&!/xml: <x b=\"z\" a=\"y\"><\\/x>/"
] ++ drv.testFlags or [];
}) super.xmlbf;
# https://github.com/ssadler/aeson-quick/issues/3
aeson-quick = overrideCabal (drv: {
testFlags = [
"-p" "!/asLens.set/&&!/complex.set/&&!/multipleKeys.set/"
] ++ drv.testFlags or [];
}) super.aeson-quick;
# https://github.com/minio/minio-hs/issues/165
minio-hs = overrideCabal (drv: {
testFlags = [
"-p" "!/Test mkSelectRequest/"
] ++ drv.testFlags or [];
}) super.minio-hs;

# golden files expect an old version of hpack, so tests fail intermittently
# TODO: maybe disable golden test suite altogether? this will happen again as
# hpack emits its version into the generated files…
hpack-dhall = assert super.hpack-dhall.version == "0.5.3"; dontCheck super.hpack-dhall;

# Invalid CPP in test suite: https://github.com/cdornan/memory-cd/issues/1
memory-cd = dontCheck super.memory-cd;

# https://github.com/andreymulik/sdp/issues/3
sdp = disableLibraryProfiling super.sdp;
sdp-binary = disableLibraryProfiling super.sdp-binary;
sdp-deepseq = disableLibraryProfiling super.sdp-deepseq;
sdp-hashable = disableLibraryProfiling super.sdp-hashable;
sdp-io = disableLibraryProfiling super.sdp-io;
sdp-quickcheck = disableLibraryProfiling super.sdp-quickcheck;
sdp4bytestring = disableLibraryProfiling super.sdp4bytestring;
sdp4text = disableLibraryProfiling super.sdp4text;
sdp4unordered = disableLibraryProfiling super.sdp4unordered;
sdp4vector = disableLibraryProfiling super.sdp4vector;

} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
12 changes: 1 addition & 11 deletions pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ self: super: {
retry = dontCheck super.retry;

# Hlint needs >= 3.3.4 for ghc 9 support.
hlint = super.hlint_3_3_4;
hlint = doDistribute super.hlint_3_3_5;

# 2021-09-18: ghc-api-compat and ghc-lib-* need >= 9.0.x versions for hls and hlint
ghc-api-compat = doDistribute super.ghc-api-compat_9_0_1;
Expand All @@ -128,16 +128,6 @@ self: super: {
# 2021-09-18: Need semialign >= 1.2 for correct bounds
semialign = super.semialign_1_2_0_1;

# 2021-09-18: GHC 9 compat release is missing
# Issue: https://github.com/obsidiansystems/dependent-sum/issues/65
dependent-sum-template = dontCheck (appendPatch
(pkgs.fetchpatch {
url = "https://github.com/obsidiansystems/dependent-sum/commit/8cf4c7fbc3bfa2be475a17bb7c94a1e1e9a830b5.patch";
sha256 = "02wyy0ciicq2x8lw4xxz3x5i4a550mxfidhm2ihh60ni6am498ff";
stripLen = 2;
extraPrefix = "";
}) super.dependent-sum-template);

# 2021-09-18: cabal2nix does not detect the need for ghc-api-compat.
hiedb = overrideCabal (old: {
libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat];
Expand Down
42 changes: 28 additions & 14 deletions pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,19 @@ self: super: {
genvalidity-property = self.genvalidity-property_1_0_0_0;
genvalidity-hspec = self.genvalidity-hspec_1_0_0_0;
ghc-byteorder = doJailbreak super.ghc-byteorder;
ghc-exactprint = overrideCabal (drv: {
# HACK: ghc-exactprint 1.3.0 is not buildable for GHC < 9.2,
# but hackage2nix evaluates the cabal file with GHC 8.10.*,
# causing the build-depends to be skipped. Since the dependency
# list hasn't changed much since 0.6.4, we can just reuse the
# normal expression.
inherit (self.ghc-exactprint_1_3_0) src version;
revision = null; editedCabalFile = null;
libraryHaskellDepends = [
self.fail
self.ordered-containers
] ++ drv.libraryHaskellDepends or [];
}) super.ghc-exactprint;
ghc-lib = self.ghc-lib_9_2_1_20211101;
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
Expand All @@ -124,6 +137,7 @@ self: super: {
quickcheck-instances = super.quickcheck-instances_0_3_27;
regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv;
retrie = doDistribute self.retrie_1_2_0_0;
semialign = super.semialign_1_2_0_1;
singleton-bool = doJailbreak super.singleton-bool;
scientific = doJailbreak super.scientific;
Expand Down Expand Up @@ -210,20 +224,20 @@ self: super: {
text-short = dontCheck super.text-short_0_1_4;

# Use hlint from git for GHC 9.2.1 support
hlint = overrideCabal {
version = "unstable-2021-12-12";
src = pkgs.fetchFromGitHub {
owner = "ndmitchell";
repo = "hlint";
rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
};
revision = null;
editedCabalFile = null;
} (super.hlint_3_3_4.overrideScope (self: super: {
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
}));
hlint = doDistribute (
overrideSrc {
version = "unstable-2021-12-12";
src = pkgs.fetchFromGitHub {
owner = "ndmitchell";
repo = "hlint";
rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
};
} (super.hlint_3_3_5.overrideScope (self: super: {
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
}))
);

# https://github.com/sjakobi/bsb-http-chunked/issues/38
bsb-http-chunked = dontCheck super.bsb-http-chunked;
Expand Down
Loading

0 comments on commit 0736e7e

Please sign in to comment.