haskell.packages.*.hashable: provide data-array-byte for GHC < 9.4

This dependency is no longer necessary for GHC >= 9.4, but we need to
make it available for GHC < 9.4.
This commit is contained in:
sternenseemann 2023-07-01 13:57:38 +02:00
parent 4c2f247e11
commit babf4f9327
5 changed files with 28 additions and 12 deletions

View File

@ -54,6 +54,13 @@ self: super: {
# Additionally depends on OneTuple for GHC < 9.0
base-compat-batteries = addBuildDepend self.OneTuple super.base-compat-batteries;
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
hashable = addBuildDepends [
self.data-array-byte
self.base-orphans
] super.hashable;
# Pick right versions for GHC-specific packages
ghc-api-compat = doDistribute (unmarkBroken self.ghc-api-compat_8_10_7);
@ -140,8 +147,6 @@ self: super: {
ghc-prim = self.hashable;
};
hashable = addBuildDepend self.base-orphans super.hashable;
# Doesn't build with 9.0, see https://github.com/yi-editor/yi/issues/1125
yi-core = doDistribute (markUnbroken super.yi-core);

View File

@ -60,6 +60,13 @@ self: super: {
# Additionally depends on OneTuple for GHC < 9.0
base-compat-batteries = addBuildDepend self.OneTuple super.base-compat-batteries;
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
hashable = addBuildDepends [
self.data-array-byte
self.base-orphans
] super.hashable;
# Ignore overly restrictive upper version bounds.
aeson-diff = doJailbreak super.aeson-diff;
async = doJailbreak super.async;
@ -67,7 +74,6 @@ self: super: {
chell = doJailbreak super.chell;
Diff = dontCheck super.Diff;
doctest = doJailbreak super.doctest;
hashable = addBuildDepend self.base-orphans super.hashable;
hashable-time = doJailbreak super.hashable-time;
hledger-lib = doJailbreak super.hledger-lib; # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
integer-logarithms = doJailbreak super.integer-logarithms;

View File

@ -63,20 +63,19 @@ self: super: {
dec = doJailbreak super.dec;
ed25519 = doJailbreak super.ed25519;
hackage-security = doJailbreak super.hackage-security;
hashable =
pkgs.lib.pipe
super.hashable
[ (overrideCabal (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; }))
doJailbreak
dontCheck
(addBuildDepend self.base-orphans)
];
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
hashable = addBuildDepends [
self.data-array-byte
self.base-orphans
] super.hashable;
hashable-time = doJailbreak super.hashable-time;
HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms);
lukko = doJailbreak super.lukko;
parallel = doJailbreak super.parallel;
primitive = doJailbreak (dontCheck super.primitive);
regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv;
singleton-bool = doJailbreak super.singleton-bool;

View File

@ -55,6 +55,10 @@ self: super: {
# weeder == 2.5.* requires GHC 9.4
weeder = doDistribute self.weeder_2_4_1;
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
hashable = addBuildDepends [ self.data-array-byte ] super.hashable;
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
# Jailbreaks & Version Updates
hashable-time = doJailbreak super.hashable-time;

View File

@ -533,6 +533,8 @@ let
compilerNames.ghc928
compilerNames.ghc945
];
hashable = released;
primitive = released;
weeder = [
compilerNames.ghc8107
compilerNames.ghc902