Merge pull request #122186 from sternenseemann/haskell-packages-platform-config

This commit is contained in:
maralorn
2021-05-09 02:14:04 +02:00
committed by GitHub
5 changed files with 263 additions and 253 deletions
@@ -75,10 +75,6 @@ self: super: {
# Fix test trying to access /home directory
shell-conduit = overrideCabal super.shell-conduit (drv: {
postPatch = "sed -i s/home/tmp/ test/Spec.hs";
# the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
# see: https://github.com/psibi/shell-conduit/issues/12
doCheck = !pkgs.stdenv.isDarwin;
});
# https://github.com/froozen/kademlia/issues/2
@@ -117,15 +113,6 @@ self: super: {
# Jailbreak is necessary for QuickCheck dependency.
vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector);
conduit-extra = if pkgs.stdenv.isDarwin
then super.conduit-extra.overrideAttrs (drv: { __darwinAllowLocalNetworking = true; })
else super.conduit-extra;
# Fix Darwin build.
halive = if pkgs.stdenv.isDarwin
then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit
else super.halive;
# Test suite fails due golden tests checking text representation
# of normalized dhall expressions, and newer dhall versions format
# differently.
@@ -134,19 +121,6 @@ self: super: {
then throw "Drop dontCheck override for hpack-dhall > 0.5.2"
else dontCheck super.hpack-dhall;
barbly = addBuildDepend super.barbly pkgs.darwin.apple_sdk.frameworks.AppKit;
# Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
hakyll = if pkgs.stdenv.isDarwin
then dontCheck (overrideCabal super.hakyll (drv: {
testToolDepends = [];
}))
else super.hakyll;
double-conversion = if !pkgs.stdenv.isDarwin
then super.double-conversion
else addExtraLibrary super.double-conversion pkgs.libcxx;
inline-c-cpp = overrideCabal super.inline-c-cpp (drv: {
postPatch = (drv.postPatch or "") + ''
substituteInPlace inline-c-cpp.cabal --replace "-optc-std=c++11" ""
@@ -307,23 +281,16 @@ self: super: {
integer-roots = dontCheck super.integer-roots; # requires an old version of smallcheck, will be fixed in > 1.0
itanium-abi = dontCheck super.itanium-abi;
katt = dontCheck super.katt;
language-nix = if (pkgs.stdenv.hostPlatform.isAarch64 || pkgs.stdenv.hostPlatform.isi686) then dontCheck super.language-nix else super.language-nix; # aarch64: https://ghc.haskell.org/trac/ghc/ticket/15275
language-slice = dontCheck super.language-slice;
ldap-client = dontCheck super.ldap-client;
lensref = dontCheck super.lensref;
lvmrun = disableHardening (dontCheck super.lvmrun) ["format"];
math-functions = if pkgs.stdenv.isDarwin
then dontCheck super.math-functions # "erf table" test fails on Darwin https://github.com/bos/math-functions/issues/63
else super.math-functions;
matplotlib = dontCheck super.matplotlib;
# https://github.com/matterhorn-chat/matterhorn/issues/679 they do not want to be on stackage
matterhorn = doJailbreak super.matterhorn; # this is needed until the end of time :')
memcache = dontCheck super.memcache;
metrics = dontCheck super.metrics;
milena = dontCheck super.milena;
mockery = if pkgs.stdenv.isDarwin
then overrideCabal super.mockery (drv: { preCheck = "export TRAVIS=true"; }) # darwin doesn't have sub-second resolution https://github.com/hspec/mockery/issues/11
else super.mockery;
modular-arithmetic = dontCheck super.modular-arithmetic; # tests require a very old Glob (0.7.*)
nats-queue = dontCheck super.nats-queue;
netpbm = dontCheck super.netpbm;
@@ -464,9 +431,8 @@ self: super: {
# https://github.com/andrewthad/haskell-ip/issues/67
ip = dontCheck super.ip;
# https://github.com/ndmitchell/shake/issues/206
# https://github.com/ndmitchell/shake/issues/267
shake = overrideCabal super.shake (drv: { doCheck = !pkgs.stdenv.isDarwin && false; });
# https://github.com/ndmitchell/shake/issues/804
shake = dontCheck super.shake;
# https://github.com/nushio3/doctest-prop/issues/1
doctest-prop = dontCheck super.doctest-prop;
@@ -841,7 +807,6 @@ self: super: {
# With ghc-8.2.x haddock would time out for unknown reason
# See https://github.com/haskell/haddock/issues/679
language-puppet = dontHaddock super.language-puppet;
filecache = overrideCabal super.filecache (drv: { doCheck = !pkgs.stdenv.isDarwin; });
# https://github.com/alphaHeavy/protobuf/issues/34
protobuf = dontCheck super.protobuf;
@@ -852,16 +817,9 @@ self: super: {
configureFlags = ["--ghc-option=-DU_DEFINE_FALSE_AND_TRUE=1"]; # https://github.com/haskell/text-icu/issues/49
});
# aarch64 and armv7l fixes.
happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
servant-docs =
let
f = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64)
then dontCheck
else pkgs.lib.id;
in doJailbreak (f super.servant-docs); # jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
# jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
servant-docs = doJailbreak super.servant-docs;
snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
# hledger-lib requires the latest version of pretty-simple
hledger-lib = appendPatch super.hledger-lib
@@ -1163,11 +1121,6 @@ self: super: {
'';
});
# gtk/gtk3 needs to be told on Darwin to use the Quartz
# rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
gtk3 = appendConfigureFlags super.gtk3 (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
gtk = appendConfigureFlags super.gtk (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
# Chart-tests needs and compiles some modules from Chart itself
Chart-tests = (addExtraLibrary super.Chart-tests self.QuickCheck).overrideAttrs (old: {
preCheck = old.postPatch or "" + ''
@@ -1526,11 +1479,6 @@ self: super: {
# Due to tests restricting base in 0.8.0.0 release
http-media = doJailbreak super.http-media;
# https://github.com/ekmett/half/issues/35
half = if pkgs.stdenv.isAarch64
then dontCheck super.half
else super.half;
# 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
heist = doJailbreak super.heist;
@@ -1585,10 +1533,6 @@ self: super: {
# https://github.com/yesodweb/yesod/issues/1714
yesod-core = dontCheck super.yesod-core;
# Add ApplicationServices on darwin
apecs-physics = addPkgconfigDepends super.apecs-physics
(pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.ApplicationServices);
# Break out of overspecified constraint on QuickCheck.
algebraic-graphs = dontCheck super.algebraic-graphs;
attoparsec = doJailbreak super.attoparsec; # https://github.com/haskell/attoparsec/pull/168
@@ -1876,58 +1820,6 @@ self: super: {
'' + (drv.postPatch or "");
});
# Doctests fail on aarch64 due to a GHCi linking bug
# https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295437
ad = overrideCabal super.ad {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
trifecta = if pkgs.stdenv.hostPlatform.isAarch64 then dontCheck super.trifecta else super.trifecta;
vinyl = overrideCabal super.vinyl {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
BNFC = overrideCabal super.BNFC {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
C-structs = overrideCabal super.C-structs {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
accelerate = overrideCabal super.accelerate {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
focuslist = overrideCabal super.focuslist {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
flight-kml = overrideCabal super.flight-kml {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
exact-real = overrideCabal super.exact-real {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
autoapply = overrideCabal super.autoapply {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
hint = overrideCabal super.hint {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
hgeometry = overrideCabal super.hgeometry {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
headroom = overrideCabal super.headroom {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
haskell-time-range = overrideCabal super.haskell-time-range {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
hsakamai = overrideCabal super.hsakamai {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
hsemail-ns = overrideCabal super.hsemail-ns {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
openapi3 = overrideCabal super.openapi3 {
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
};
# Tests need to lookup target triple x86_64-unknown-linux
# https://github.com/llvm-hs/llvm-hs/issues/334
llvm-hs = overrideCabal super.llvm-hs {