2020-04-24 23:36:52 +00:00
# COMMON OVERRIDES FOR THE HASKELL PACKAGE SET IN NIXPKGS
#
# This file contains haskell package overrides that are shared by all
# haskell package sets provided by nixpkgs and distributed via the official
# NixOS hydra instance.
#
# Overrides that would also make sense for custom haskell package sets not provided
# as part of nixpkgs and that are specific to Nix should go in configuration-nix.nix
#
# See comment at the top of configuration-nix.nix for more information about this
# distinction.
{ pkgs , haskellLib }:
with haskellLib ;
self : super : {
# Arion's test suite needs a Nixpkgs, which is cumbersome to do from Nixpkgs
# itself. For instance, pkgs.path has dirty sources and puts a huge .git in the
# store. Testing is done upstream.
arion-compose = dontCheck super . arion-compose ;
# This used to be a core package provided by GHC, but then the compiler
# dropped it. We define the name here to make sure that old packages which
# depend on this library still evaluate (even though they won't compile
# successfully with recent versions of the compiler).
bin-package-db = null ;
2020-06-15 15:56:04 +00:00
# waiting for release: https://github.com/jwiegley/c2hsc/issues/41
c2hsc = appendPatch super . c2hsc ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / j w i e g l e y / c 2 h s c / c o m m i t / 4 9 0 e c a b 2 0 2 e 0 d e 7 f c 9 9 5 e e d f 7 4 4 a d 3 c b 4 0 8 b 5 3 c c . p a t c h " ;
sha256 = " 1 c 7 k n p v x r 7 p 8 c 1 5 9 j k y k 6 w 2 9 6 5 3 z 5 y z g j j q j 1 1 1 3 0 b b b 8 m k 9 q h q 7 " ;
} ) ;
2020-04-24 23:36:52 +00:00
# Some Hackage packages reference this attribute, which exists only in the
# GHCJS package set. We provide a dummy version here to fix potential
# evaluation errors.
ghcjs-base = null ;
ghcjs-prim = null ;
# Some packages add this (non-existent) dependency to express that they
# cannot compile in a given configuration. Win32 does this, for example, when
# compiled on Linux. We provide the name to avoid evaluation errors.
unbuildable = throw " p a c k a g e d e p e n d s o n m e t a p a c k a g e ' u n b u i l d a b l e ' " ;
# enable using a local hoogle with extra packagages in the database
# nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
# $ hoogle server
hoogleLocal = { packages ? [ ] }: self . callPackage ./hoogle.nix { inherit packages ; } ;
# Needs older QuickCheck version
attoparsec-varword = dontCheck super . attoparsec-varword ;
# These packages (and their reverse deps) cannot be built with profiling enabled.
ghc-heap-view = disableLibraryProfiling super . ghc-heap-view ;
ghc-datasize = disableLibraryProfiling super . ghc-datasize ;
# This test keeps being aborted because it runs too quietly for too long
Lazy-Pbkdf2 = if pkgs . stdenv . isi686 then dontCheck super . Lazy-Pbkdf2 else super . Lazy-Pbkdf2 ;
# check requires mysql server
mysql-simple = dontCheck super . mysql-simple ;
mysql-haskell = dontCheck super . mysql-haskell ;
# The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
# https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
git-annex = ( overrideSrc super . git-annex {
src = pkgs . fetchgit {
name = " g i t - a n n e x - ${ super . git-annex . version } - s r c " ;
url = " g i t : / / g i t - a n n e x . b r a n c h a b l e . c o m / " ;
rev = " r e f s / t a g s / " + super . git-annex . version ;
2020-10-11 12:50:04 +00:00
sha256 = " 0 5 y v l 0 9 k s y v z y k i b s 9 5 9 9 6 r n i 9 x 6 w 0 3 y f q y v 2 f a d d 7 3 z 1 m 6 l q 5 b f " ;
2020-04-24 23:36:52 +00:00
} ;
} ) . override {
dbus = if pkgs . stdenv . isLinux then self . dbus else null ;
fdo-notify = if pkgs . stdenv . isLinux then self . fdo-notify else null ;
hinotify = if pkgs . stdenv . isLinux then self . hinotify else self . fsnotify ;
} ;
# Fix test trying to access /home directory
shell-conduit = overrideCabal super . shell-conduit ( drv : {
postPatch = " s e d - i s / h o m e / t m p / t e s t / S p e c . h s " ;
# 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
kademlia = dontCheck super . kademlia ;
# Tests require older tasty
hzk = dontCheck super . hzk ;
# Tests require a Kafka broker running locally
haskakafka = dontCheck super . haskakafka ;
# Depends on broken "lss" package.
snaplet-lss = dontDistribute super . snaplet-lss ;
# Depends on broken "NewBinary" package.
ASN1 = dontDistribute super . ASN1 ;
# Depends on broken "frame" package.
frame-markdown = dontDistribute super . frame-markdown ;
# Depends on broken "Elm" package.
hakyll-elm = dontDistribute super . hakyll-elm ;
haskelm = dontDistribute super . haskelm ;
snap-elm = dontDistribute super . snap-elm ;
# Depends on broken "hails" package.
hails-bin = dontDistribute super . hails-bin ;
bindings-levmar = overrideCabal super . bindings-levmar ( drv : {
extraLibraries = [ pkgs . blas ] ;
} ) ;
# 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
hoodle-core = dontHaddock super . hoodle-core ;
hsc3-db = dontHaddock super . hsc3-db ;
# https://github.com/techtangents/ablist/issues/1
ABList = dontCheck super . ABList ;
# sse2 flag due to https://github.com/haskell/vector/issues/47.
2020-07-18 16:06:22 +00:00
vector = if pkgs . stdenv . isi686 then appendConfigureFlag super . vector " - - g h c - o p t i o n s = - m s s e 2 " else super . vector ;
2020-04-24 23:36:52 +00:00
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 ;
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 " - o p t c - s t d = c + + 1 1 " " "
'' ;
} ) ;
inline-java = addBuildDepend super . inline-java pkgs . jdk ;
# Upstream notified by e-mail.
permutation = dontCheck super . permutation ;
# https://github.com/jputcu/serialport/issues/25
serialport = dontCheck super . serialport ;
# Test suite build depends on ancient tasty 0.11.x.
cryptohash-sha512 = dontCheck super . cryptohash-sha512 ;
# Test suite depends on source code being available
simple-affine-space = dontCheck super . simple-affine-space ;
# Fails no apparent reason. Upstream has been notified by e-mail.
assertions = dontCheck super . assertions ;
# These packages try to execute non-existent external programs.
cmaes = dontCheck super . cmaes ; # http://hydra.cryp.to/build/498725/log/raw
dbmigrations = dontCheck super . dbmigrations ;
filestore = dontCheck super . filestore ;
graceful = dontCheck super . graceful ;
HList = dontCheck super . HList ;
ide-backend = dontCheck super . ide-backend ;
marquise = dontCheck super . marquise ; # https://github.com/anchor/marquise/issues/69
memcached-binary = dontCheck super . memcached-binary ;
msgpack-rpc = dontCheck super . msgpack-rpc ;
persistent-zookeeper = dontCheck super . persistent-zookeeper ;
pocket-dns = dontCheck super . pocket-dns ;
postgresql-simple = dontCheck super . postgresql-simple ;
postgrest = dontCheck super . postgrest ;
postgrest-ws = dontCheck super . postgrest-ws ;
snowball = dontCheck super . snowball ;
sophia = dontCheck super . sophia ;
test-sandbox = dontCheck super . test-sandbox ;
texrunner = dontCheck super . texrunner ;
users-postgresql-simple = dontCheck super . users-postgresql-simple ;
wai-middleware-hmac = dontCheck super . wai-middleware-hmac ;
xkbcommon = dontCheck super . xkbcommon ;
xmlgen = dontCheck super . xmlgen ;
HerbiePlugin = dontCheck super . HerbiePlugin ;
wai-cors = dontCheck super . wai-cors ;
# base bound
digit = doJailbreak super . digit ;
2020-08-20 17:08:02 +00:00
# 2020-06-05: HACK: does not pass own build suite - `dontCheck` We should
2020-07-18 16:06:22 +00:00
# generate optparse-applicative completions for the hnix executable. Sadly
# building of the executable has been disabled for ghc < 8.10 in hnix.
# Generating the completions should be activated again, once we default to
# ghc 8.10.
2020-08-20 17:08:02 +00:00
hnix = dontCheck ( super . hnix . override {
2020-09-25 04:45:31 +00:00
# 2020-09-18: Those packages are all needed by hnix at versions newer than on stackage
neat-interpolation = self . neat-interpolation_0_5_1_2 ; # at least 0.5.1
data-fix = self . data-fix_0_3_0 ; # at least 0.3
prettyprinter = self . prettyprinter_1_7_0 ; # at least 1.7
2020-08-20 17:08:02 +00:00
} ) ;
2020-04-24 23:36:52 +00:00
# Fails for non-obvious reasons while attempting to use doctest.
search = dontCheck super . search ;
# see https://github.com/LumiGuide/haskell-opencv/commit/cd613e200aa20887ded83256cf67d6903c207a60
opencv = dontCheck ( appendPatch super . opencv ./patches/opencv-fix-116.patch ) ;
opencv-extra = dontCheck ( appendPatch super . opencv-extra ./patches/opencv-fix-116.patch ) ;
# https://github.com/ekmett/structures/issues/3
structures = dontCheck super . structures ;
# Disable test suites to fix the build.
acme-year = dontCheck super . acme-year ; # http://hydra.cryp.to/build/497858/log/raw
aeson-lens = dontCheck super . aeson-lens ; # http://hydra.cryp.to/build/496769/log/raw
aeson-schema = dontCheck super . aeson-schema ; # https://github.com/timjb/aeson-schema/issues/9
angel = dontCheck super . angel ;
apache-md5 = dontCheck super . apache-md5 ; # http://hydra.cryp.to/build/498709/nixlog/1/raw
app-settings = dontCheck super . app-settings ; # http://hydra.cryp.to/build/497327/log/raw
aws = dontCheck super . aws ; # needs aws credentials
aws-kinesis = dontCheck super . aws-kinesis ; # needs aws credentials for testing
binary-protocol = dontCheck super . binary-protocol ; # http://hydra.cryp.to/build/499749/log/raw
binary-search = dontCheck super . binary-search ;
bits = dontCheck super . bits ; # http://hydra.cryp.to/build/500239/log/raw
bloodhound = dontCheck super . bloodhound ;
buildwrapper = dontCheck super . buildwrapper ;
burst-detection = dontCheck super . burst-detection ; # http://hydra.cryp.to/build/496948/log/raw
cabal-meta = dontCheck super . cabal-meta ; # http://hydra.cryp.to/build/497892/log/raw
camfort = dontCheck super . camfort ;
cjk = dontCheck super . cjk ;
CLI = dontCheck super . CLI ; # Upstream has no issue tracker.
command-qq = dontCheck super . command-qq ; # http://hydra.cryp.to/build/499042/log/raw
conduit-connection = dontCheck super . conduit-connection ;
craftwerk = dontCheck super . craftwerk ;
css-text = dontCheck super . css-text ;
damnpacket = dontCheck super . damnpacket ; # http://hydra.cryp.to/build/496923/log
data-hash = dontCheck super . data-hash ;
Deadpan-DDP = dontCheck super . Deadpan-DDP ; # http://hydra.cryp.to/build/496418/log/raw
DigitalOcean = dontCheck super . DigitalOcean ;
direct-sqlite = dontCheck super . direct-sqlite ;
directory-layout = dontCheck super . directory-layout ;
dlist = dontCheck super . dlist ;
docopt = dontCheck super . docopt ; # http://hydra.cryp.to/build/499172/log/raw
dom-selector = dontCheck super . dom-selector ; # http://hydra.cryp.to/build/497670/log/raw
dotenv = dontCheck super . dotenv ; # Tests fail because of missing test file on version 0.8.0.2 fixed on version 0.8.0.4
dotfs = dontCheck super . dotfs ; # http://hydra.cryp.to/build/498599/log/raw
DRBG = dontCheck super . DRBG ; # http://hydra.cryp.to/build/498245/nixlog/1/raw
ed25519 = dontCheck super . ed25519 ;
etcd = dontCheck super . etcd ;
fb = dontCheck super . fb ; # needs credentials for Facebook
fptest = dontCheck super . fptest ; # http://hydra.cryp.to/build/499124/log/raw
friday-juicypixels = dontCheck super . friday-juicypixels ; #tarball missing test/rgba8.png
ghc-events = dontCheck super . ghc-events ; # http://hydra.cryp.to/build/498226/log/raw
ghc-events-parallel = dontCheck super . ghc-events-parallel ; # http://hydra.cryp.to/build/496828/log/raw
ghc-imported-from = dontCheck super . ghc-imported-from ;
ghc-parmake = dontCheck super . ghc-parmake ;
ghcid = dontCheck super . ghcid ;
git-vogue = dontCheck super . git-vogue ;
github-rest = dontCheck super . github-rest ; # test suite needs the network
gitlib-cmdline = dontCheck super . gitlib-cmdline ;
GLFW-b = dontCheck super . GLFW-b ; # https://github.com/bsl/GLFW-b/issues/50
hackport = dontCheck super . hackport ;
hadoop-formats = dontCheck super . hadoop-formats ;
haeredes = dontCheck super . haeredes ;
hashed-storage = dontCheck super . hashed-storage ;
hashring = dontCheck super . hashring ;
hath = dontCheck super . hath ;
haxl = dontCheck super . haxl ; # non-deterministic failure https://github.com/facebook/Haxl/issues/85
haxl-facebook = dontCheck super . haxl-facebook ; # needs facebook credentials for testing
hdbi-postgresql = dontCheck super . hdbi-postgresql ;
hedis = dontCheck super . hedis ;
hedis-pile = dontCheck super . hedis-pile ;
hedis-tags = dontCheck super . hedis-tags ;
hedn = dontCheck super . hedn ;
hgdbmi = dontCheck super . hgdbmi ;
hi = dontCheck super . hi ;
hierarchical-clustering = dontCheck super . hierarchical-clustering ;
hlibgit2 = disableHardening super . hlibgit2 [ " f o r m a t " ] ;
hmatrix-tests = dontCheck super . hmatrix-tests ;
hquery = dontCheck super . hquery ;
hs2048 = dontCheck super . hs2048 ;
hsbencher = dontCheck super . hsbencher ;
hsexif = dontCheck super . hsexif ;
hspec-server = dontCheck super . hspec-server ;
HTF = dontCheck super . HTF ;
htsn = dontCheck super . htsn ;
htsn-import = dontCheck super . htsn-import ;
http-link-header = dontCheck super . http-link-header ; # non deterministic failure https://hydra.nixos.org/build/75041105
ihaskell = dontCheck super . ihaskell ;
influxdb = dontCheck super . influxdb ;
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 ) [ " f o r m a t " ] ;
2020-07-18 16:06:22 +00:00
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 ;
2020-04-24 23:36:52 +00:00
matplotlib = dontCheck super . matplotlib ;
2020-09-25 04:45:31 +00:00
# Needs the latest version of vty and brick.
matterhorn = super . matterhorn . overrideScope ( self : super : {
2020-10-07 09:15:18 +00:00
brick = self . brick_0_57 ;
vty = self . vty_5_31 ;
2020-09-25 04:45:31 +00:00
} ) ;
2020-04-24 23:36:52 +00:00
memcache = dontCheck super . memcache ;
metrics = dontCheck super . metrics ;
milena = dontCheck super . milena ;
2020-07-18 16:06:22 +00:00
mockery = if pkgs . stdenv . isDarwin
then overrideCabal super . mockery ( drv : { preCheck = " e x p o r t T R A V I S = t r u e " ; } ) # darwin doesn't have sub-second resolution https://github.com/hspec/mockery/issues/11
else super . mockery ;
2020-04-24 23:36:52 +00:00
modular-arithmetic = dontCheck super . modular-arithmetic ; # tests require a very old Glob (0.7.*)
nats-queue = dontCheck super . nats-queue ;
netpbm = dontCheck super . netpbm ;
network = dontCheck super . network ;
2020-05-15 21:57:56 +00:00
network_2_6_3_1 = dontCheck super . network_2_6_3_1 ;
2020-04-24 23:36:52 +00:00
network-dbus = dontCheck super . network-dbus ;
notcpp = dontCheck super . notcpp ;
ntp-control = dontCheck super . ntp-control ;
numerals = dontCheck super . numerals ;
odpic-raw = dontCheck super . odpic-raw ; # needs a running oracle database server
opaleye = dontCheck super . opaleye ;
openpgp = dontCheck super . openpgp ;
optional = dontCheck super . optional ;
orgmode-parse = dontCheck super . orgmode-parse ;
os-release = dontCheck super . os-release ;
persistent-redis = dontCheck super . persistent-redis ;
pipes-extra = dontCheck super . pipes-extra ;
pipes-websockets = dontCheck super . pipes-websockets ;
posix-pty = dontCheck super . posix-pty ; # https://github.com/merijn/posix-pty/issues/12
postgresql-binary = dontCheck super . postgresql-binary ; # needs a running postgresql server
postgresql-simple-migration = dontCheck super . postgresql-simple-migration ;
process-streaming = dontCheck super . process-streaming ;
punycode = dontCheck super . punycode ;
pwstore-cli = dontCheck super . pwstore-cli ;
quantities = dontCheck super . quantities ;
redis-io = dontCheck super . redis-io ;
rethinkdb = dontCheck super . rethinkdb ;
Rlang-QQ = dontCheck super . Rlang-QQ ;
safecopy = dontCheck super . safecopy ;
sai-shape-syb = dontCheck super . sai-shape-syb ;
saltine = dontCheck super . saltine ; # https://github.com/tel/saltine/pull/56
scp-streams = dontCheck super . scp-streams ;
sdl2 = dontCheck super . sdl2 ; # the test suite needs an x server
sdl2-ttf = dontCheck super . sdl2-ttf ; # as of version 0.2.1, the test suite requires user intervention
separated = dontCheck super . separated ;
shadowsocks = dontCheck super . shadowsocks ;
shake-language-c = dontCheck super . shake-language-c ;
snap-core = dontCheck super . snap-core ;
sourcemap = dontCheck super . sourcemap ;
static-resources = dontCheck super . static-resources ;
strive = dontCheck super . strive ; # fails its own hlint test with tons of warnings
svndump = dontCheck super . svndump ;
2020-05-15 21:57:56 +00:00
tar = dontCheck super . tar ; #https://hydra.nixos.org/build/25088435/nixlog/2 (fails only on 32-bit)
2020-04-24 23:36:52 +00:00
th-printf = dontCheck super . th-printf ;
thumbnail-plus = dontCheck super . thumbnail-plus ;
tickle = dontCheck super . tickle ;
tpdb = dontCheck super . tpdb ;
translatable-intset = dontCheck super . translatable-intset ;
2020-09-25 04:45:31 +00:00
trifecta = if pkgs . stdenv . hostPlatform . isAarch64 then dontCheck super . trifecta else super . trifecta ; # affected by this bug https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295461
2020-04-24 23:36:52 +00:00
ua-parser = dontCheck super . ua-parser ;
unagi-chan = dontCheck super . unagi-chan ;
wai-logger = dontCheck super . wai-logger ;
WebBits = dontCheck super . WebBits ; # http://hydra.cryp.to/build/499604/log/raw
webdriver = dontCheck super . webdriver ;
webdriver-angular = dontCheck super . webdriver-angular ;
xsd = dontCheck super . xsd ;
zip-archive = dontCheck super . zip-archive ; # https://github.com/jgm/zip-archive/issues/57
# These test suites run for ages, even on a fast machine. This is nuts.
Random123 = dontCheck super . Random123 ;
systemd = dontCheck super . systemd ;
# https://github.com/eli-frey/cmdtheline/issues/28
cmdtheline = dontCheck super . cmdtheline ;
# https://github.com/bos/snappy/issues/1
snappy = dontCheck super . snappy ;
# https://ghc.haskell.org/trac/ghc/ticket/9625
vty = dontCheck super . vty ;
# https://github.com/vincenthz/hs-crypto-pubkey/issues/20
crypto-pubkey = dontCheck super . crypto-pubkey ;
# https://github.com/Philonous/xml-picklers/issues/5
xml-picklers = dontCheck super . xml-picklers ;
# https://github.com/joeyadams/haskell-stm-delay/issues/3
stm-delay = dontCheck super . stm-delay ;
# https://github.com/pixbi/duplo/issues/25
duplo = dontCheck super . duplo ;
# https://github.com/evanrinehart/mikmod/issues/1
mikmod = addExtraLibrary super . mikmod pkgs . libmikmod ;
# https://github.com/basvandijk/threads/issues/10
threads = dontCheck super . threads ;
# Missing module.
rematch = dontCheck super . rematch ; # https://github.com/tcrayford/rematch/issues/5
rematch-text = dontCheck super . rematch-text ; # https://github.com/tcrayford/rematch/issues/6
# Should not appear in nixpkgs yet (broken anyway)
yarn2nix = throw " y a r n 2 n i x i s n o t y e t p a c k a g e d f o r n i x p k g s . S e e h t t p s : / / g i t h u b . c o m / P r o f p a t s c h / y a r n 2 n i x # y a r n 2 n i x " ;
# no haddock since this is an umbrella package.
cloud-haskell = dontHaddock super . cloud-haskell ;
# This packages compiles 4+ hours on a fast machine. That's just unreasonable.
CHXHtml = dontDistribute super . CHXHtml ;
# https://github.com/NixOS/nixpkgs/issues/6350
paypal-adaptive-hoops = overrideCabal super . paypal-adaptive-hoops ( drv : { testTarget = " l o c a l " ; } ) ;
# Avoid "QuickCheck >=2.3 && <2.10" dependency we cannot fulfill in lts-11.x.
test-framework = dontCheck super . test-framework ;
# Depends on broken test-framework-quickcheck.
apiary = dontCheck super . apiary ;
apiary-authenticate = dontCheck super . apiary-authenticate ;
apiary-clientsession = dontCheck super . apiary-clientsession ;
apiary-cookie = dontCheck super . apiary-cookie ;
apiary-eventsource = dontCheck super . apiary-eventsource ;
apiary-logger = dontCheck super . apiary-logger ;
apiary-memcached = dontCheck super . apiary-memcached ;
apiary-mongoDB = dontCheck super . apiary-mongoDB ;
apiary-persistent = dontCheck super . apiary-persistent ;
apiary-purescript = dontCheck super . apiary-purescript ;
apiary-session = dontCheck super . apiary-session ;
apiary-websockets = dontCheck super . apiary-websockets ;
# https://github.com/junjihashimoto/test-sandbox-compose/issues/2
test-sandbox-compose = dontCheck super . test-sandbox-compose ;
2020-07-18 16:06:22 +00:00
# Waiting on language-python 0.5.8 https://github.com/bjpop/language-python/issues/60
2020-04-24 23:36:52 +00:00
xcffib = dontCheck super . xcffib ;
# https://github.com/afcowie/locators/issues/1
locators = dontCheck super . locators ;
# Test suite won't compile against tasty-hunit 0.9.x.
zlib = dontCheck super . zlib ;
# Test suite won't compile against tasty-hunit 0.10.x.
binary-parser = dontCheck super . binary-parser ;
binary-parsers = dontCheck super . binary-parsers ;
bytestring-strict-builder = dontCheck super . bytestring-strict-builder ;
bytestring-tree-builder = dontCheck super . bytestring-tree-builder ;
2020-08-20 17:08:02 +00:00
# https://github.com/byteverse/bytebuild/issues/19
bytebuild = dontCheck super . bytebuild ;
# https://github.com/andrewthad/haskell-ip/issues/67
ip = dontCheck super . ip ;
2020-04-24 23:36:52 +00:00
# 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/nushio3/doctest-prop/issues/1
doctest-prop = dontCheck super . doctest-prop ;
# Missing file in source distribution:
# - https://github.com/karun012/doctest-discover/issues/22
# - https://github.com/karun012/doctest-discover/issues/23
#
# When these are fixed the following needs to be enabled again:
#
# # Depends on itself for testing
# doctest-discover = addBuildTool super.doctest-discover
# (if pkgs.buildPlatform != pkgs.hostPlatform
# then self.buildHaskellPackages.doctest-discover
# else dontCheck super.doctest-discover);
doctest-discover = dontCheck super . doctest-discover ;
# Depends on itself for testing
tasty-discover = addBuildTool super . tasty-discover
( if pkgs . buildPlatform != pkgs . hostPlatform
then self . buildHaskellPackages . tasty-discover
else dontCheck super . tasty-discover ) ;
2020-07-18 16:06:22 +00:00
# Waiting on https://github.com/RaphaelJ/friday/pull/36
2020-04-24 23:36:52 +00:00
friday = doJailbreak super . friday ;
# Won't compile with recent versions of QuickCheck.
inilist = dontCheck super . inilist ;
# https://github.com/yaccz/saturnin/issues/3
Saturnin = dontCheck super . Saturnin ;
# https://github.com/kkardzis/curlhs/issues/6
curlhs = dontCheck super . curlhs ;
# https://github.com/hvr/token-bucket/issues/3
token-bucket = dontCheck super . token-bucket ;
# https://github.com/alphaHeavy/lzma-enumerator/issues/3
lzma-enumerator = dontCheck super . lzma-enumerator ;
# FPCO's fork of Cabal won't succeed its test suite.
Cabal-ide-backend = dontCheck super . Cabal-ide-backend ;
# QuickCheck version, also set in cabal2nix
websockets = dontCheck super . websockets ;
# Avoid spurious test suite failures.
fft = dontCheck super . fft ;
# This package can't be built on non-Windows systems.
Win32 = overrideCabal super . Win32 ( drv : { broken = ! pkgs . stdenv . isCygwin ; } ) ;
inline-c-win32 = dontDistribute super . inline-c-win32 ;
Southpaw = dontDistribute super . Southpaw ;
# Hydra no longer allows building texlive packages.
lhs2tex = dontDistribute super . lhs2tex ;
# https://ghc.haskell.org/trac/ghc/ticket/9825
vimus = overrideCabal super . vimus ( drv : { broken = pkgs . stdenv . isLinux && pkgs . stdenv . isi686 ; } ) ;
# https://github.com/kazu-yamamoto/logger/issues/42
logger = dontCheck super . logger ;
# vector dependency < 0.12
imagemagick = doJailbreak super . imagemagick ;
# https://github.com/liyang/thyme/issues/36
thyme = dontCheck super . thyme ;
# https://github.com/k0ral/hbro-contrib/issues/1
hbro-contrib = dontDistribute super . hbro-contrib ;
# Elm is no longer actively maintained on Hackage: https://github.com/NixOS/nixpkgs/pull/9233.
Elm = markBroken super . Elm ;
elm-build-lib = markBroken super . elm-build-lib ;
elm-compiler = markBroken super . elm-compiler ;
elm-get = markBroken super . elm-get ;
elm-make = markBroken super . elm-make ;
elm-package = markBroken super . elm-package ;
elm-reactor = markBroken super . elm-reactor ;
elm-repl = markBroken super . elm-repl ;
elm-server = markBroken super . elm-server ;
elm-yesod = markBroken super . elm-yesod ;
# https://github.com/Euterpea/Euterpea2/issues/40
Euterpea = appendPatch super . Euterpea ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / E u t e r p e a / E u t e r p e a 2 / p u l l / 3 8 . p a t c h " ;
sha256 = " 1 3 g 4 6 2 q m j 8 c 7 i f 7 9 7 g n y v f 8 h 0 c d d m m 3 x y 0 p j l d w 4 8 w 8 f 8 s r 4 q s j 0 " ;
} ) ;
# Install icons, metadata and cli program.
bustle = overrideCabal super . bustle ( drv : {
buildDepends = [ pkgs . libpcap ] ;
buildTools = with pkgs . buildPackages ; [ gettext perl help2man ] ;
postInstall = ''
make install PREFIX = $ out
'' ;
} ) ;
# Byte-compile elisp code for Emacs.
ghc-mod = overrideCabal super . ghc-mod ( drv : {
preCheck = " e x p o r t H O M E = $ T M P D I R " ;
testToolDepends = drv . testToolDepends or [ ] ++ [ self . cabal-install ] ;
doCheck = false ; # https://github.com/kazu-yamamoto/ghc-mod/issues/335
executableToolDepends = drv . executableToolDepends or [ ] ++ [ pkgs . emacs ] ;
postInstall = ''
local lispdir = ( " $ d a t a / s h a r e / ${ self . ghc . name } / * / ${ drv . pname } - ${ drv . version } / e l i s p " )
make - C $ lispdir
mkdir - p $ data/share/emacs/site-lisp
ln - s " $ l i s p d i r / " * . el { , c } $ data/share/emacs/site-lisp /
'' ;
} ) ;
# Build the latest git version instead of the official release. This isn't
# ideal, but Chris doesn't seem to make official releases any more.
structured-haskell-mode = overrideCabal super . structured-haskell-mode ( drv : {
src = pkgs . fetchFromGitHub {
owner = " p r o j e c t i o n a l - h a s k e l l " ;
repo = " s t r u c t u r e d - h a s k e l l - m o d e " ;
rev = " 7 f 9 d f 7 3 f 4 5 d 1 0 7 0 1 7 c 1 8 c e 4 8 3 5 b b c 1 9 0 d f e 6 7 8 2 e " ;
sha256 = " 1 j c c 3 0 0 4 8 j 3 6 9 j g s b b m k b 6 3 w h s 4 w b 3 7 b q 2 1 j r m 3 r 6 r y 2 2 i z n d s q a " ;
} ;
version = " 2 0 1 7 0 2 0 5 - g i t " ;
editedCabalFile = null ;
# Make elisp files available at a location where people expect it. We
# cannot easily byte-compile these files, unfortunately, because they
# depend on a new version of haskell-mode that we don't have yet.
postInstall = ''
local lispdir = ( " $ d a t a / s h a r e / ${ self . ghc . name } / " * " / ${ drv . pname } - " * " / e l i s p " )
mkdir - p $ data/share/emacs
ln - s $ lispdir $ data/share/emacs/site-lisp
'' ;
} ) ;
# Make elisp files available at a location where people expect it.
hindent = ( overrideCabal super . hindent ( drv : {
# We cannot easily byte-compile these files, unfortunately, because they
# depend on a new version of haskell-mode that we don't have yet.
postInstall = ''
local lispdir = ( " $ d a t a / s h a r e / ${ self . ghc . name } / " * " / ${ drv . pname } - " * " / e l i s p " )
mkdir - p $ data/share/emacs
ln - s $ lispdir $ data/share/emacs/site-lisp
'' ;
doCheck = false ; # https://github.com/chrisdone/hindent/issues/299
} ) ) ;
# https://github.com/bos/configurator/issues/22
configurator = dontCheck super . configurator ;
# https://github.com/basvandijk/concurrent-extra/issues/12
concurrent-extra = dontCheck super . concurrent-extra ;
# https://github.com/bos/bloomfilter/issues/7
bloomfilter = appendPatch super . bloomfilter ./patches/bloomfilter-fix-on-32bit.patch ;
# https://github.com/ashutoshrishi/hunspell-hs/pull/3
hunspell-hs = addPkgconfigDepend ( dontCheck ( appendPatch super . hunspell-hs ./patches/hunspell.patch ) ) pkgs . hunspell ;
# https://github.com/pxqr/base32-bytestring/issues/4
base32-bytestring = dontCheck super . base32-bytestring ;
# Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal
# https://github.com/augustss/djinn/pull/8
djinn = appendPatch super . djinn ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / a u g u s t s s / d j i n n / c o m m i t / 6 c b 9 4 3 3 a 1 3 7 f b 6 b 5 1 9 4 a f e 4 1 d 6 1 6 b d 8 b 6 2 b 9 5 6 3 0 . p a t c h " ;
sha256 = " 0 s 0 2 1 y 5 n z r h 7 4 g f p 8 x p x p x m 1 1 i v z f s 3 j w g 6 m k r l y r y 3 i y 5 8 4 x q i l " ;
} ) ;
# We cannot build this package w/o the C library from <http://www.phash.org/>.
phash = markBroken super . phash ;
# https://github.com/Philonous/hs-stun/pull/1
# Remove if a version > 0.1.0.1 ever gets released.
stunclient = overrideCabal super . stunclient ( drv : {
postPatch = ( drv . postPatch or " " ) + ''
substituteInPlace source/Network/Stun/MappedAddress.hs - - replace " i m p o r t N e t w o r k . E n d i a n " " "
'' ;
} ) ;
# The standard libraries are compiled separately.
2020-06-02 18:00:15 +00:00
idris = generateOptparseApplicativeCompletion " i d r i s " ( dontCheck super . idris ) ;
2020-04-24 23:36:52 +00:00
# build servant docs from the repository
servant =
let
ver = super . servant . version ;
docs = pkgs . stdenv . mkDerivation {
name = " s e r v a n t - s p h i n x - d o c u m e n t a t i o n - ${ ver } " ;
src = " ${ pkgs . fetchFromGitHub {
owner = " h a s k e l l - s e r v a n t " ;
repo = " s e r v a n t " ;
rev = " v ${ ver } " ;
sha256 = " 0 x k 3 c z k 3 j h q j x h y 0 g 8 r 2 2 4 8 m 8 y x g v m q h g n 9 5 5 k 9 2 z 0 h 7 p 0 2 l f s 8 9 " ;
} } /doc " ;
# Needed after sphinx 1.7.9 -> 1.8.3
postPatch = ''
substituteInPlace conf . py - - replace " ' . m d ' : C o m m o n M a r k P a r s e r , " " "
'' ;
nativeBuildInputs = with pkgs . buildPackages . pythonPackages ; [ sphinx recommonmark sphinx_rtd_theme ] ;
makeFlags = [ " h t m l " ] ;
installPhase = ''
mv _build/html $ out
'' ;
} ;
in overrideCabal super . servant ( old : {
postInstall = old . postInstall or " " + ''
ln - s $ { docs } '' ${ ! outputDoc } / s h a r e / d o c / s e r v a n t
'' ;
} ) ;
# https://github.com/pontarius/pontarius-xmpp/issues/105
pontarius-xmpp = dontCheck super . pontarius-xmpp ;
# fails with sandbox
yi-keymap-vim = dontCheck super . yi-keymap-vim ;
# https://github.com/bmillwood/applicative-quoters/issues/6
applicative-quoters = doJailbreak super . applicative-quoters ;
# https://hydra.nixos.org/build/42769611/nixlog/1/raw
# note: the library is unmaintained, no upstream issue
dataenc = doJailbreak super . dataenc ;
# https://github.com/divipp/ActiveHs-misc/issues/10
data-pprint = doJailbreak super . data-pprint ;
# horribly outdated (X11 interface changed a lot)
sindre = markBroken super . sindre ;
# Test suite occasionally runs for 1+ days on Hydra.
distributed-process-tests = dontCheck super . distributed-process-tests ;
# https://github.com/mulby/diff-parse/issues/9
diff-parse = doJailbreak super . diff-parse ;
# https://github.com/josefs/STMonadTrans/issues/4
STMonadTrans = dontCheck super . STMonadTrans ;
# No upstream issue tracker
hspec-expectations-pretty-diff = dontCheck super . hspec-expectations-pretty-diff ;
# Don't depend on chell-quickcheck, which doesn't compile due to restricting
# QuickCheck to versions ">=2.3 && <2.9".
system-filepath = dontCheck super . system-filepath ;
# https://github.com/hvr/uuid/issues/28
uuid-types = doJailbreak super . uuid-types ;
uuid = doJailbreak super . uuid ;
# The tests spuriously fail
libmpd = dontCheck super . libmpd ;
# https://github.com/diagrams/diagrams-lib/issues/288
diagrams-lib = overrideCabal super . diagrams-lib ( drv : { doCheck = ! pkgs . stdenv . isi686 ; } ) ;
# https://github.com/danidiaz/streaming-eversion/issues/1
streaming-eversion = dontCheck super . streaming-eversion ;
# https://github.com/danidiaz/tailfile-hinotify/issues/2
tailfile-hinotify = dontCheck super . tailfile-hinotify ;
# Test suite fails: https://github.com/lymar/hastache/issues/46.
# Don't install internal mkReadme tool.
hastache = overrideCabal super . hastache ( drv : {
doCheck = false ;
postInstall = " r m $ o u t / b i n / m k R e a d m e & & r m d i r $ o u t / b i n " ;
} ) ;
# Has a dependency on outdated versions of directory.
cautious-file = doJailbreak ( dontCheck super . cautious-file ) ;
# https://github.com/diagrams/diagrams-solve/issues/4
diagrams-solve = dontCheck super . diagrams-solve ;
# test suite does not compile with recent versions of QuickCheck
integer-logarithms = dontCheck ( super . integer-logarithms ) ;
# missing dependencies: blaze-html >=0.5 && <0.9, blaze-markup >=0.5 && <0.8
digestive-functors-blaze = doJailbreak super . digestive-functors-blaze ;
digestive-functors = doJailbreak super . digestive-functors ;
# https://github.com/takano-akio/filelock/issues/5
filelock = dontCheck super . filelock ;
# Wrap the generated binaries to include their run-time dependencies in
# $PATH. Also, cryptol needs a version of sbl that's newer than what we have
# in LTS-13.x.
cryptol = overrideCabal super . cryptol ( drv : {
buildTools = drv . buildTools or [ ] ++ [ pkgs . makeWrapper ] ;
postInstall = drv . postInstall or " " + ''
for b in $ out/bin/cryptol $ out/bin/cryptol-html ; do
wrapProgram $ b - - prefix ' PATH' ' : ' " ${ pkgs . lib . getBin pkgs . z3 } / b i n "
done
'' ;
} ) ;
# Tests try to invoke external process and process == 1.4
grakn = dontCheck ( doJailbreak super . grakn ) ;
# test suite requires git and does a bunch of git operations
2020-07-18 16:06:22 +00:00
restless-git = dontCheck super . restless-git ;
2020-04-24 23:36:52 +00:00
# Depends on broken fluid.
fluid-idl-http-client = markBroken super . fluid-idl-http-client ;
fluid-idl-scotty = markBroken super . fluid-idl-scotty ;
# Work around https://github.com/haskell/c2hs/issues/192.
c2hs = dontCheck super . c2hs ;
# Needs pginit to function and pgrep to verify.
tmp-postgres = overrideCabal super . tmp-postgres ( drv : {
libraryToolDepends = drv . libraryToolDepends or [ ] ++ [ pkgs . postgresql ] ;
testToolDepends = drv . testToolDepends or [ ] ++ [ pkgs . procps ] ;
} ) ;
# Needs QuickCheck <2.10, which we don't have.
edit-distance = doJailbreak super . edit-distance ;
blaze-html = doJailbreak super . blaze-html ;
int-cast = doJailbreak super . int-cast ;
# Needs QuickCheck <2.10, HUnit <1.6 and base <4.10
pointfree = doJailbreak super . pointfree ;
2020-07-18 16:06:22 +00:00
# Depends on tasty < 1.x, which we don't have.
cryptohash-sha256 = doJailbreak super . cryptohash-sha256 ;
2020-04-24 23:36:52 +00:00
# Needs tasty-quickcheck ==0.8.*, which we don't have.
cryptohash-sha1 = doJailbreak super . cryptohash-sha1 ;
cryptohash-md5 = doJailbreak super . cryptohash-md5 ;
gitHUD = dontCheck super . gitHUD ;
githud = dontCheck super . githud ;
# https://github.com/aisamanra/config-ini/issues/12
config-ini = dontCheck super . config-ini ;
# doctest >=0.9 && <0.12
path = dontCheck super . path ;
# Test suite fails due to trying to create directories
path-io = dontCheck super . path-io ;
# Duplicate instance with smallcheck.
store = dontCheck super . store ;
# 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 ;
# https://github.com/bos/text-icu/issues/32
text-icu = dontCheck super . text-icu ;
# 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
hashable = if ( pkgs . stdenv . hostPlatform . isAarch32 || pkgs . stdenv . hostPlatform . isAarch64 ) then dontCheck super . hashable else super . hashable ; # https://github.com/tibbe/hashable/issues/95
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.
2020-09-25 04:45:31 +00:00
snap-templates = doJailbreak super . snap-templates ; # https://github.com/snapframework/snap-templates/issues/22
2020-04-24 23:36:52 +00:00
swagger2 = if ( pkgs . stdenv . hostPlatform . isAarch32 || pkgs . stdenv . hostPlatform . isAarch64 ) then dontHaddock ( dontCheck super . swagger2 ) else super . swagger2 ;
# Copy hledger man pages from data directory into the proper place. This code
# should be moved into the cabal2nix generator.
hledger = overrideCabal super . hledger ( drv : {
postInstall = ''
# Don't install files that don't belong into this package to avoid
# conflicts when hledger and hledger-ui end up in the same profile.
rm embeddedfiles/hledger- { api , ui , web } . *
for i in $ ( seq 1 9 ) ; do
for j in embeddedfiles /* . $ i ; d o
mkdir - p $ out/share/man/man $ i
cp - v $ j $ out/share/man/man $ i /
done
done
mkdir - p $ out/share/info
cp - v embeddedfiles /* . i n f o * $ o u t / s h a r e / i n f o /
'' ;
} ) ;
hledger-ui = overrideCabal super . hledger-ui ( drv : {
postInstall = ''
for i in $ ( seq 1 9 ) ; do
for j in * . $ i ; do
mkdir - p $ out/share/man/man $ i
cp - v $ j $ out/share/man/man $ i /
done
done
mkdir - p $ out/share/info
cp - v * . info * $ out/share/info /
'' ;
} ) ;
hledger-web = overrideCabal super . hledger-web ( drv : {
postInstall = ''
for i in $ ( seq 1 9 ) ; do
for j in * . $ i ; do
mkdir - p $ out/share/man/man $ i
cp - v $ j $ out/share/man/man $ i /
done
done
mkdir - p $ out/share/info
cp - v * . info * $ out/share/info /
'' ;
} ) ;
# https://github.com/haskell-hvr/resolv/pull/6
resolv_0_1_1_2 = dontCheck super . resolv_0_1_1_2 ;
# spdx 0.2.2.0 needs older tasty
# was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56)
spdx = dontCheck super . spdx ;
# The test suite does not know how to find the 'alex' binary.
alex = overrideCabal super . alex ( drv : {
testSystemDepends = ( drv . testSystemDepends or [ ] ) ++ [ pkgs . which ] ;
preCheck = '' e x p o r t P A T H = " $P W D / d i s t / b u i l d / a l e x : $P A T H " '' ;
} ) ;
# This package refers to the wrong library (itself in fact!)
vulkan = super . vulkan . override { vulkan = pkgs . vulkan-loader ; } ;
2020-06-02 18:00:15 +00:00
# Compiles some C++ source which requires these headers
VulkanMemoryAllocator = addExtraLibrary super . VulkanMemoryAllocator pkgs . vulkan-headers ;
2020-04-24 23:36:52 +00:00
# https://github.com/dmwit/encoding/pull/3
encoding = doJailbreak ( appendPatch super . encoding ./patches/encoding-Cabal-2.0.patch ) ;
# Work around overspecified constraint on github ==0.18.
github-backup = doJailbreak super . github-backup ;
# Test suite depends on cabal-install
doctest = dontCheck super . doctest ;
# https://github.com/haskell-servant/servant-auth/issues/113
servant-auth-client = dontCheck super . servant-auth-client ;
2020-08-20 17:08:02 +00:00
# Generate cli completions for dhall.
dhall = generateOptparseApplicativeCompletion " d h a l l " super . dhall ;
dhall-json = generateOptparseApplicativeCompletions [ " d h a l l - t o - j s o n " " d h a l l - t o - y a m l " ] super . dhall-json ;
2020-09-25 04:45:31 +00:00
dhall-nix = generateOptparseApplicativeCompletion " d h a l l - t o - n i x " (
super . dhall-nix . overrideScope ( self : super : {
dhall = super . dhall_1_35_0 ;
repline = self . repline_0_4_0_0 ;
haskeline = self . haskeline_0_8_1_0 ;
} ) ) ;
2020-04-24 23:36:52 +00:00
# https://github.com/haskell-hvr/netrc/pull/2#issuecomment-469526558
netrc = doJailbreak super . netrc ;
# https://github.com/haskell-hvr/hgettext/issues/14
hgettext = doJailbreak super . hgettext ;
# Generate shell completion.
cabal2nix = generateOptparseApplicativeCompletion " c a b a l 2 n i x " super . cabal2nix ;
2020-06-15 15:56:04 +00:00
stack = generateOptparseApplicativeCompletion " s t a c k " super . stack ;
2020-04-24 23:36:52 +00:00
# musl fixes
# dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test
unix-time = if pkgs . stdenv . hostPlatform . isMusl then dontCheck super . unix-time else super . unix-time ;
# dontCheck: printf double rounding behavior
prettyprinter = if pkgs . stdenv . hostPlatform . isMusl then dontCheck super . prettyprinter else super . prettyprinter ;
# Fix with Cabal 2.2, https://github.com/guillaume-nargeot/hpc-coveralls/pull/73
hpc-coveralls = appendPatch super . hpc-coveralls ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / g u i l l a u m e - n a r g e o t / h p c - c o v e r a l l s / p u l l / 7 3 / c o m m i t s / 3 4 4 2 1 7 f 5 1 3 b 7 a d f b 9 0 3 7 f 7 3 0 2 6 f 5 d 9 2 8 b e 9 8 d 0 7 f . p a t c h " ;
sha256 = " 0 5 6 r k 5 8 v 9 h 1 1 4 m j x 6 2 f 4 1 x 9 7 1 x n 9 p 3 n h s a z c f 9 z r c y x h 1 y m r d m 8 j " ;
} ) ;
# sexpr is old, broken and has no issue-tracker. Let's fix it the best we can.
sexpr =
appendPatch ( overrideCabal super . sexpr ( drv : {
isExecutable = false ;
libraryHaskellDepends = drv . libraryHaskellDepends ++ [ self . QuickCheck ] ;
} ) ) ./patches/sexpr-0.2.1.patch ;
# https://github.com/haskell/hoopl/issues/50
hoopl = dontCheck super . hoopl ;
purescript =
let
purescriptWithOverrides = super . purescript . override {
# PureScript requires an older version of happy.
happy = self . happy_1_19_9 ;
} ;
# PureScript is built against LTS-13, so we need to jailbreak it to
# accept more recent versions of the libraries it requires.
jailBrokenPurescript = doJailbreak purescriptWithOverrides ;
# Haddocks for PureScript can't be built.
# https://github.com/purescript/purescript/pull/3745
dontHaddockPurescript = dontHaddock jailBrokenPurescript ;
in
# Generate shell completions
generateOptparseApplicativeCompletion " p u r s " dontHaddockPurescript ;
2020-09-25 04:45:31 +00:00
# Generate shell completion for spago
spago = generateOptparseApplicativeCompletion " s p a g o " super . spago ;
2020-06-18 07:06:33 +00:00
# 2020-06-05: HACK: Package can not pass test suite,
# Upstream Report: https://github.com/kcsongor/generic-lens/issues/83
2020-04-24 23:36:52 +00:00
generic-lens = dontCheck super . generic-lens ;
# https://github.com/danfran/cabal-macosx/issues/13
cabal-macosx = dontCheck super . cabal-macosx ;
2020-07-18 16:06:22 +00:00
# https://github.com/DanielG/cabal-helper/pull/123
2020-04-24 23:36:52 +00:00
cabal-helper = doJailbreak super . cabal-helper ;
# TODO(Profpatsch): factor out local nix store setup from
# lib/tests/release.nix and use that for the tests of libnix
# libnix = overrideCabal super.libnix (old: {
# testToolDepends = old.testToolDepends or [] ++ [ pkgs.nix ];
# });
libnix = dontCheck super . libnix ;
2020-07-18 16:06:22 +00:00
# dontCheck: The test suite tries to mess with ALSA, which doesn't work in the build sandbox.
xmobar = dontCheck super . xmobar ;
2020-04-24 23:36:52 +00:00
# https://github.com/mgajda/json-autotype/issues/25
json-autotype = dontCheck super . json-autotype ;
# Requires pg_ctl command during tests
beam-postgres = overrideCabal super . beam-postgres ( drv : {
testToolDepends = ( drv . testToolDepends or [ ] ) ++ [ pkgs . postgresql ] ;
} ) ;
# Fix for base >= 4.11
scat = overrideCabal super . scat ( drv : {
patches = [ ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / r e d e l m a n n / s c a t / p u l l / 6 . d i f f " ;
sha256 = " 0 7 n j 2 p 0 k g 0 5 l i v h g p 1 h k k d p h 0 j 0 a 6 l b 2 1 6 f 8 x 3 4 8 q j a s y 0 l z b f h l " ;
} ) ] ;
} ) ;
# Fix build with attr-2.4.48 (see #53716)
xattr = appendPatch super . xattr ./patches/xattr-fix-build.patch ;
# Some tests depend on a postgresql instance
2020-07-18 16:06:22 +00:00
esqueleto = dontCheck super . esqueleto ;
2020-04-24 23:36:52 +00:00
# Requires API keys to run tests
algolia = dontCheck super . algolia ;
# antiope-s3's latest stackage version has a hspec < 2.6 requirement, but
# hspec which isn't in stackage is already past that
antiope-s3 = doJailbreak super . antiope-s3 ;
# Has tasty < 1.2 requirement, but works just fine with 1.2
temporary-resourcet = doJailbreak super . temporary-resourcet ;
# Requires dhall >= 1.23.0
ats-pkg = dontCheck ( super . ats-pkg . override { dhall = self . dhall_1_29_0 ; } ) ;
# fake a home dir and capture generated man page
ats-format = overrideCabal super . ats-format ( old : {
preConfigure = " e x p o r t H O M E = $ P W D " ;
postBuild = " m v . l o c a l / s h a r e $ o u t " ;
} ) ;
# Test suite doesn't work with current QuickCheck
# https://github.com/pruvisto/heap/issues/11
heap = dontCheck super . heap ;
# Test suite won't link for no apparent reason.
constraints-deriving = dontCheck super . constraints-deriving ;
# https://github.com/elliottt/hsopenid/issues/15
openid = markBroken super . openid ;
# The test suite needs the packages's executables in $PATH to succeed.
arbtt = overrideCabal super . arbtt ( drv : {
preCheck = ''
for i in $ PWD/dist/build /* ; d o
export PATH = " $ i : $ P A T H "
done
'' ;
} ) ;
# https://github.com/erikd/hjsmin/issues/32
hjsmin = dontCheck super . hjsmin ;
nix-tools = super . nix-tools . overrideScope ( self : super : {
# Needs https://github.com/peti/hackage-db/pull/9
hackage-db = super . hackage-db . overrideAttrs ( old : {
src = pkgs . fetchFromGitHub {
owner = " E l v i s h J e r r i c c o " ;
repo = " h a c k a g e - d b " ;
rev = " 8 4 c a 9 f c 7 5 a d 4 5 a 7 1 8 8 0 e 9 3 8 e 0 d 9 3 e a 4 b d e 0 5 f 5 b d " ;
sha256 = " 0 y 3 k w 1 h r x h s q m y x 5 9 s x b a 8 n p j 4 y a 8 d p g j l j c 2 1 g k g d v d y 9 6 2 8 q 4 c " ;
} ;
} ) ;
} ) ;
# upstream issue: https://github.com/vmchale/atspkg/issues/12
language-ats = dontCheck super . language-ats ;
# Remove for hail > 0.2.0.0
hail = overrideCabal super . hail ( drv : {
patches = [
( pkgs . fetchpatch {
# Relax dependency constraints,
# upstream PR: https://github.com/james-preston/hail/pull/13
url = " h t t p s : / / p a t c h - d i f f . g i t h u b u s e r c o n t e n t . c o m / r a w / j a m e s - p r e s t o n / h a i l / p u l l / 1 3 . p a t c h " ;
sha256 = " 0 3 9 p 5 m q g i c b h l d 2 z 4 4 c b v s m a m 3 p z 0 p y 3 y b a i f w r j s n 1 y 6 9 l d s m k x " ;
} )
( pkgs . fetchpatch {
# Relax dependency constraints,
# upstream PR: https://github.com/james-preston/hail/pull/15
url = " h t t p s : / / p a t c h - d i f f . g i t h u b u s e r c o n t e n t . c o m / r a w / j a m e s - p r e s t o n / h a i l / p u l l / 1 5 . p a t c h " ;
sha256 = " 0 3 k d v r 8 h x i 6 i s b 8 y x p 5 r g c m z 8 5 5 n 1 9 m 1 y a c n 3 d 5 6 a 4 i 5 8 j 2 m l d j w " ;
} )
] ;
} ) ;
# https://github.com/kazu-yamamoto/dns/issues/150
dns = dontCheck super . dns ;
# apply patches from https://github.com/snapframework/snap-server/pull/126
# manually until they are accepted upstream
snap-server = overrideCabal super . snap-server ( drv : {
patches = [ ( pkgs . fetchpatch {
# allow compilation with network >= 3
url = " h t t p s : / / g i t h u b . c o m / s n a p f r a m e w o r k / s n a p - s e r v e r / p u l l / 1 2 6 / c o m m i t s / 4 3 3 8 f e 1 5 d 6 8 e 1 1 e 3 c 7 f d 0 f 9 8 6 2 f 8 1 8 8 6 4 a d c 1 d 4 5 . p a t c h " ;
sha256 = " 1 n l w 9 l c k m 3 f l z k m h k z w c 7 z x h d h 9 n s 3 3 w 8 p 8 d s 8 n f 5 7 4 n q r 5 c r 8 b v " ;
} )
( pkgs . fetchpatch {
# prefer fdSocket over unsafeFdSocket
url = " h t t p s : / / g i t h u b . c o m / s n a p f r a m e w o r k / s n a p - s e r v e r / p u l l / 1 2 6 / c o m m i t s / 4 1 0 d e 2 d f 1 2 3 b 1 d 5 6 b 3 0 9 3 7 2 0 e 9 c 6 a 1 a d 7 9 f e 9 d e 6 . p a t c h " ;
sha256 = " 0 8 p s v w 0 x n y 6 4 q 4 b w 1 n w g 0 1 p k z h 0 1 a k 5 4 2 l w 6 k 1 p s 7 c d c w a x k 0 n 9 4 " ;
} ) ] ;
} ) ;
# https://github.com/haskell-servant/servant-blaze/issues/17
servant-blaze = doJailbreak super . servant-blaze ;
# https://github.com/haskell-servant/servant-ekg/issues/15
servant-ekg = doJailbreak super . servant-ekg ;
# the test suite has an overly tight restriction on doctest
# See https://github.com/ekmett/perhaps/pull/5
perhaps = doJailbreak super . perhaps ;
# it wants to build a statically linked binary by default
hledger-flow = overrideCabal super . hledger-flow ( drv : {
postPatch = ( drv . postPatch or " " ) + ''
substituteInPlace hledger-flow . cabal - - replace " - s t a t i c " " "
'' ;
} ) ;
2020-07-18 16:06:22 +00:00
# gtk/gtk3 needs to be told on Darwin to use the Quartz
2020-04-24 23:36:52 +00:00
# rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
2020-07-18 16:06:22 +00:00
gtk3 = appendConfigureFlags super . gtk3 ( pkgs . lib . optional pkgs . stdenv . isDarwin " - f h a v e - q u a r t z - g t k " ) ;
gtk = appendConfigureFlags super . gtk ( pkgs . lib . optional pkgs . stdenv . isDarwin " - f h a v e - q u a r t z - g t k " ) ;
2020-04-24 23:36:52 +00:00
# Chart-tests needs and compiles some modules from Chart itself
Chart-tests = ( addExtraLibrary super . Chart-tests self . QuickCheck ) . overrideAttrs ( old : {
preCheck = old . postPatch or " " + ''
tar - - one-top-level = ../chart - - strip-components = 1 - xf $ { self . Chart . src }
'' ;
} ) ;
# This breaks because of version bounds, but compiles and runs fine.
# Last commit is 5 years ago, so we likely won't get upstream fixed soon.
# https://bitbucket.org/rvlm/hakyll-contrib-hyphenation/src/master/
# Therefore we jailbreak it.
hakyll-contrib-hyphenation = doJailbreak super . hakyll-contrib-hyphenation ;
2020-07-18 16:06:22 +00:00
# 2020-06-22: NOTE: > 0.4.0 => rm Jailbreak: https://github.com/serokell/nixfmt/issues/71
2020-04-24 23:36:52 +00:00
nixfmt = doJailbreak super . nixfmt ;
2020-07-18 16:06:22 +00:00
# 2020-06-22: NOTE: QuickCheck upstreamed https://github.com/phadej/binary-instances/issues/7
2020-04-24 23:36:52 +00:00
binary-instances = dontCheck super . binary-instances ;
# The test suite depends on an impure cabal-install installation in
2020-05-03 17:38:23 +00:00
# $HOME, which we don't have in our build sandbox.
cabal-install-parsers = dontCheck super . cabal-install-parsers ;
2020-04-24 23:36:52 +00:00
2020-06-18 07:06:33 +00:00
# gitit is unbroken in the latest release
gitit = markUnbroken super . gitit ;
2020-04-24 23:36:52 +00:00
# Test suite requires database
persistent-mysql = dontCheck super . persistent-mysql ;
persistent-postgresql = dontCheck super . persistent-postgresql ;
# Fix EdisonAPI and EdisonCore for GHC 8.8:
# https://github.com/robdockins/edison/pull/16
EdisonAPI = appendPatch super . EdisonAPI ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / r o b d o c k i n s / e d i s o n / p u l l / 1 6 / c o m m i t s / 8 d a 6 c 0 f 7 d 8 6 6 6 7 6 6 e 2 f 0 6 9 3 4 2 5 c 3 4 7 c 0 a d b 4 9 2 d c . p a t c h " ;
postFetch = ''
$ { pkgs . patchutils } /bin/filterdiff - - include = ' a/edison-api /* ' - - s t r i p = 1 " $ o u t " > " $ t m p f i l e "
mv " $ t m p f i l e " " $ o u t "
'' ;
sha256 = " 0 y i 5 p z 0 3 9 l c m 4 p l 9 x n l 6 k r q x y q q 5 r g b 5 b 6 m 0 9 w 0 s f y 0 6 x 0 n 4 x 2 1 3 " ;
} ) ;
EdisonCore = appendPatch super . EdisonCore ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / r o b d o c k i n s / e d i s o n / p u l l / 1 6 / c o m m i t s / 8 d a 6 c 0 f 7 d 8 6 6 6 7 6 6 e 2 f 0 6 9 3 4 2 5 c 3 4 7 c 0 a d b 4 9 2 d c . p a t c h " ;
postFetch = ''
$ { pkgs . patchutils } /bin/filterdiff - - include = ' a/edison-core /* ' - - s t r i p = 1 " $ o u t " > " $ t m p f i l e "
mv " $ t m p f i l e " " $ o u t "
'' ;
sha256 = " 0 9 7 w q n 8 h x s r 5 0 b 9 m h n d g 5 p j i m 5 j m a 2 y m 4 y l p i b a k m m b 5 m 9 8 n 1 7 z p " ;
} ) ;
2020-06-15 15:56:04 +00:00
# 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
2020-04-24 23:36:52 +00:00
polysemy-plugin = super . polysemy-plugin . override {
ghc-tcplugins-extra = self . ghc-tcplugins-extra_0_3_2 ;
} ;
# Test suite requires running a database server. Testing is done upstream.
2020-06-18 07:06:33 +00:00
hasql-notifications = dontCheck super . hasql-notifications ;
2020-04-24 23:36:52 +00:00
hasql-pool = dontCheck super . hasql-pool ;
# This bumps optparse-applicative to <0.16 in the cabal file, as otherwise
# the version bounds are not satisfied. This can be removed if the PR at
# https://github.com/ananthakumaran/webify/pull/27 is merged and a new
# release of webify is published.
webify = appendPatch super . webify ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / a n a n t h a k u m a r a n / w e b i f y / p u l l / 2 7 / c o m m i t s / 6 d 6 5 3 e 7 b d c 1 f f d a 7 5 e a d 4 6 8 5 1 b 5 d b 4 5 e 8 7 c b 2 a a 0 . p a t c h " ;
2020-06-02 18:00:15 +00:00
sha256 = " 0 x b f h z h z g 9 4 b 4 r 5 q y 5 d g 1 c 4 0 l i s w w p q a r r c 2 c h c w g f b f n r m w k f c 2 " ;
2020-04-24 23:36:52 +00:00
} ) ;
2020-05-15 21:57:56 +00:00
# this will probably need to get updated with every ghcide update,
# we need an override because ghcide is tracking haskell-lsp closely.
2020-09-25 04:45:31 +00:00
ghcide = dontCheck ( super . ghcide . overrideScope ( self : super : {
hie-bios = dontCheck super . hie-bios_0_7_1 ;
2020-10-11 12:50:04 +00:00
lsp-test = dontCheck self . lsp-test_0_11_0_7 ;
2020-09-25 04:45:31 +00:00
} ) ) ;
2020-05-15 21:57:56 +00:00
# hasn‘ t bumped upper bounds
# upstream: https://github.com/obsidiansystems/which/pull/6
which = doJailbreak super . which ;
2020-06-02 18:00:15 +00:00
# the test suite attempts to run the binaries built in this package
# through $PATH but they aren't in $PATH
dhall-lsp-server = dontCheck super . dhall-lsp-server ;
2020-06-15 15:56:04 +00:00
# https://github.com/ocharles/weeder/issues/15
weeder = doJailbreak super . weeder ;
# Requested version bump on upstream https://github.com/obsidiansystems/constraints-extras/issues/32
constraints-extras = doJailbreak super . constraints-extras ;
# Necessary for stack
# x509-validation test suite hangs: upstream https://github.com/vincenthz/hs-certificate/issues/120
# tls test suite fails: upstream https://github.com/vincenthz/hs-tls/issues/434
x509-validation = dontCheck super . x509-validation ;
tls = dontCheck super . tls ;
patch = appendPatches super . patch [
# Upstream PR: https://github.com/reflex-frp/patch/pull/20
# Makes tests work with hlint 3
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / p a t c h / c o m m i t / 3 e d 2 3 a 4 e 4 0 4 9 e e 1 7 e 6 4 a 1 a 5 b b e b f 1 9 9 0 c d b e 0 3 3 a . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 1 h f a 9 8 0 w l n 8 k z b q w 1 l r 8 d d s z g c i b w 2 5 x f 1 2 k i 2 j b 9 x k l 4 6 4 a y n z f " ;
} )
# Upstream PR: https://github.com/reflex-frp/patch/pull/17
# Bumps version dependencies
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / p a t c h / c o m m i t / a 1 9 1 e d 9 d e d 7 0 8 e d 7 f f 0 c f 5 3 a d 6 d a f a f 5 4 d b 5 b 9 5 a . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 1 x 9 w 5 f i m h k 3 a 0 l 2 a a 5 z 9 1 n q a a 6 s 2 i r z 1 7 7 5 i i d d 0 1 9 1 m 6 w 2 5 v s z p " ;
} )
] ;
reflex = appendPatches super . reflex [
# Upstream PR: https://github.com/reflex-frp/reflex/pull/434
# Bump version bounds
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / r e f l e x / c o m m i t / e 6 1 0 4 b d f d 7 f 6 6 4 f 5 2 4 b 6 7 6 5 2 7 5 4 9 0 7 2 2 e 3 7 6 d f 4 d . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 1 a w p 5 p 4 6 4 0 c n h f d 5 0 d p l s v p 0 k z y 6 h 8 r 0 h p b w 1 s 4 0 b l n i 7 4 r 3 d h z r " ;
} )
# Upstream PR: https://github.com/reflex-frp/reflex/pull/436
# Fix build with newest dependent-map version
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / r e f l e x / c o m m i t / d c 3 b f 4 4 d 8 2 2 d 7 0 5 9 4 e 3 c 4 7 4 f e 3 8 6 9 2 6 1 7 7 6 c 3 5 5 4 . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 0 r b j f j 9 b 8 p 6 z k v d 5 j 4 p a k 5 k p g a r d 6 c y f v z k 7 5 0 s 4 x w p c 1 v 8 4 i i q d " ;
} )
# Upstream PR: https://github.com/reflex-frp/reflex/pull/437
# Fix tests with newer dep versions
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / r e f l e x / c o m m i t / 8 7 c 7 4 a 1 b 9 d 9 0 9 8 e a e 8 a 5 6 1 4 8 c 5 9 e d 4 9 6 3 a 5 2 3 2 c 2 . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 0 q h j j g d 6 n 4 f m s 1 h p b b l n y 7 8 c 9 5 b f h 7 4 i z h x 9 d v r d l n h z 6 q 7 x l m 9 q " ;
} )
] ;
# Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
# Tests disabled because of very old dep: https://github.com/reflex-frp/reflex-dom/issues/393
2020-07-18 16:06:22 +00:00
reflex-dom-core = doDistribute ( unmarkBroken ( dontCheck ( appendPatches super . reflex-dom-core [
2020-06-15 15:56:04 +00:00
# Upstream PR: https://github.com/reflex-frp/reflex-dom/pull/388
# Fix upper bounds
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / r e f l e x - d o m / c o m m i t / 5 e f 0 4 d 8 e 4 7 8 f 4 1 0 d 2 c 6 3 6 0 3 b 8 4 a f 0 5 2 c 9 2 7 3 a 5 3 3 . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 0 d 0 b 8 1 9 y h 8 m q w 8 i h 5 a s d i 9 q c c a 2 k m g g f s i 8 g f 2 2 a k f w 1 n 7 x v m a v i " ;
stripLen = 2 ;
extraPrefix = " " ;
} )
# Upstream PR: https://github.com/reflex-frp/reflex-dom/pull/394
# Bump dependent-map
( pkgs . fetchpatch {
2020-07-18 16:06:22 +00:00
url = " h t t p s : / / g i t h u b . c o m / r e f l e x - f r p / r e f l e x - d o m / c o m m i t / 6 9 5 b d 1 7 d 5 d c d b 1 b f 3 2 1 e e 8 8 5 8 6 7 0 7 3 1 6 3 7 f 6 5 1 d b . p a t c h " ;
2020-06-15 15:56:04 +00:00
sha256 = " 0 l l k y 3 i 3 7 r a k g s w 9 v q a q m w r y v 7 s 9 1 w 8 p h 8 x j k h 8 3 n x j s 1 4 p 5 z f y k " ;
stripLen = 2 ;
extraPrefix = " " ;
} )
2020-07-18 16:06:22 +00:00
] ) ) ) ;
# add unreleased commit fixing version constraint as a patch
# Can be removed if https://github.com/lpeterse/haskell-utc/issues/8 is resolved
utc = appendPatch super . utc ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / l p e t e r s e / h a s k e l l - u t c / c o m m i t / e 4 5 0 2 c 0 8 5 9 1 e 8 0 d 4 1 1 1 2 9 b b 7 c 0 4 1 4 5 3 9 f 6 3 0 2 a a f . d i f f " ;
sha256 = " 0 v 6 k v 1 d 4 s y j z g z c 2 s 7 a 7 6 c 6 k 4 v m i n l c q 6 2 n 7 j g 3 n n 9 x d 0 0 g w m m v 7 " ;
} ) ;
# Tests disabled because they assume to run in the whole jsaddle repo and not the hackage tarbal of jsaddle-warp.
2020-08-20 17:08:02 +00:00
jsaddle-warp = dontCheck super . jsaddle-warp ;
2020-07-18 16:06:22 +00:00
# 2020-06-24: Jailbreaking because of restrictive test dep bounds
# Upstream issue: https://github.com/kowainik/trial/issues/62
trial = doJailbreak super . trial ;
# 2020-06-24: Tests are broken in hackage distribution.
# See: https://github.com/kowainik/stan/issues/316
stan = dontCheck super . stan ;
# 2020-06-24: Tests are broken in hackage distribution.
# See: https://github.com/robstewart57/rdf4h/issues/39
rdf4h = dontCheck super . rdf4h ;
# hasn't bumped upper bounds
# test fails: "floskell-test: styles/base.md: openBinaryFile: does not exist (No such file or directory)"
# https://github.com/ennocramer/floskell/issues/48
floskell = dontCheck ( doJailbreak super . floskell ) ;
# hasn't bumped upper bounds
# test fails because of a "Warning: Unused LANGUAGE pragma"
# https://github.com/ennocramer/monad-dijkstra/issues/4
monad-dijkstra = dontCheck ( doJailbreak super . monad-dijkstra ) ;
2020-09-25 04:45:31 +00:00
# Fixed upstream but not released to Hackage yet:
# https://github.com/k0001/hs-libsodium/issues/2
libsodium = overrideCabal super . libsodium ( drv : {
libraryToolDepends = ( drv . libraryToolDepends or [ ] ) ++ [ self . c2hs ] ;
} ) ;
2020-07-18 16:06:22 +00:00
# https://github.com/kowainik/policeman/issues/57
policeman = doJailbreak super . policeman ;
2020-08-20 17:08:02 +00:00
# 2020-08-14: gi-pango from stackage is to old for the C libs it links against in nixpkgs.
# That's why we need to bump a ton of dependency versions to unbreak them.
gi-pango = assert super . gi-pango . version == " 1 . 0 . 2 2 " ; self . gi-pango_1_0_23 ;
2020-09-25 04:45:31 +00:00
haskell-gi-base = assert super . haskell-gi-base . version == " 0 . 2 3 . 0 " ; addBuildDepends ( self . haskell-gi-base_0_24_3 ) [ pkgs . gobject-introspection ] ;
2020-10-07 09:15:18 +00:00
haskell-gi = assert super . haskell-gi . version == " 0 . 2 3 . 1 " ; self . haskell-gi_0_24_5 ;
2020-08-20 17:08:02 +00:00
gi-cairo = assert super . gi-cairo . version == " 1 . 0 . 2 3 " ; self . gi-cairo_1_0_24 ;
gi-glib = assert super . gi-glib . version == " 2 . 0 . 2 3 " ; self . gi-glib_2_0_24 ;
gi-gobject = assert super . gi-gobject . version == " 2 . 0 . 2 2 " ; self . gi-gobject_2_0_24 ;
gi-atk = assert super . gi-atk . version == " 2 . 0 . 2 1 " ; self . gi-atk_2_0_22 ;
gi-gio = assert super . gi-gio . version == " 2 . 0 . 2 6 " ; self . gi-gio_2_0_27 ;
gi-gdk = assert super . gi-gdk . version == " 3 . 0 . 2 2 " ; self . gi-gdk_3_0_23 ;
gi-gtk = assert super . gi-gtk . version == " 3 . 0 . 3 3 " ; self . gi-gtk_3_0_35 ;
gi-gdkpixbuf = assert super . gi-gdkpixbuf . version == " 2 . 0 . 2 3 " ; self . gi-gdkpixbuf_2_0_24 ;
# 2020-08-14: Needs some manual patching to be compatible with haskell-gi-base 0.24
# Created upstream PR @ https://github.com/ghcjs/jsaddle/pull/119
jsaddle-webkit2gtk = appendPatch super . jsaddle-webkit2gtk ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / g h c j s / j s a d d l e / c o m p a r e / 9 7 2 7 3 6 5 . . . f 8 4 2 7 4 8 . p a t c h " ;
sha256 = " 0 7 l 4 l 9 9 9 l m l x 7 s q x f 7 v 4 f 7 0 r m x h x 9 r 0 c j b l k g c 4 n 0 y 6 j i n 4 i v 1 c b " ;
stripLen = 2 ;
extraPrefix = " " ;
} ) ;
# Missing -Iinclude parameter to doc-tests (pull has been accepted, so should be resolved when 0.5.3 released)
# https://github.com/lehins/massiv/pull/104
massiv = dontCheck super . massiv ;
# Upstream PR: https://github.com/jkff/splot/pull/9
splot = appendPatch super . splot ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / j k f f / s p l o t / c o m m i t / a 6 7 1 0 b 0 5 4 7 0 d 2 5 c b 5 3 7 3 4 8 1 c f 1 c f c 1 f e b d 6 8 6 4 0 7 . p a t c h " ;
sha256 = " 1 c 5 c k 2 i b a g 2 g c y a g 6 r j i v m l w d l p 5 k 0 d m r 8 n h k 7 w l k z q 2 v h 7 z g w 6 3 " ;
} ) ;
# Version bumps have not been merged by upstream yet.
# https://github.com/obsidiansystems/dependent-sum-aeson-orphans/pull/5
dependent-sum-aeson-orphans = appendPatch super . dependent-sum-aeson-orphans ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / o b s i d i a n s y s t e m s / d e p e n d e n t - s u m - a e s o n - o r p h a n s / c o m m i t / 5 a 3 6 9 e 4 3 3 a d 7 e 3 e e f 5 4 c 7 c 3 7 2 5 d 3 4 2 7 0 f 6 a a 4 8 c c . p a t c h " ;
sha256 = " 1 l z r c i c v d g 7 7 h d 8 j 2 f g 3 7 z 1 9 a m p 5 y n a 5 x m w 1 f c 0 6 z i 0 j 9 5 c s l l 4 r " ;
} ) ;
# Tests are broken because of missing files in hackage tarball.
# https://github.com/jgm/commonmark-hs/issues/55
commonmark-extensions = dontCheck super . commonmark-extensions ;
2020-10-11 12:50:04 +00:00
# 2020-10-11: reflex-dom-pandoc and neuron require skylighting >= 9, which we
# can‘ t support, because there is no pandoc release compatible with this.
reflex-dom-pandoc = doJailbreak super . reflex-dom-pandoc ;
neuron = doJailbreak super . neuron ;
2020-08-20 17:08:02 +00:00
# Testsuite trying to run `which haskeline-examples-Test`
2020-09-25 04:45:31 +00:00
haskeline_0_8_1_0 = dontCheck super . haskeline_0_8_1_0 ;
# Tests for list-t, superbuffer, and stm-containers
# depend on HTF and it is broken, 2020-08-23
list-t = dontCheck super . list-t ;
superbuffer = dontCheck super . superbuffer ;
stm-containers = dontCheck super . stm-containers ;
# Fails with "supports custom headers"
Spock-core = dontCheck super . Spock-core ;
# Needed by Hasura 1.3.1
dependent-map_0_2_4_0 = super . dependent-map_0_2_4_0 . override {
dependent-sum = self . dependent-sum_0_4 ;
} ;
# Hasura 1.3.1
# Because of ghc-heap-view, profiling needs to be disabled.
graphql-engine = disableLibraryProfiling ( overrideCabal ( super . graphql-engine . override {
immortal = self . immortal_0_2_2_1 ;
dependent-map = self . dependent-map_0_2_4_0 ;
dependent-sum = self . dependent-sum_0_4 ;
witherable = self . witherable_0_3_2 ;
} ) ( drv : {
# version in cabal file is invalid
version = " 1 . 3 . 1 - b e t a 1 " ;
# hasura needs VERSION env exported during build
preBuild = " e x p o r t V E R S I O N = 1 . 3 . 1 - b e t a 1 " ;
} ) ) ;
graphql-parser = super . graphql-parser . override {
protolude = self . protolude_0_3_0 ;
} ;
2020-08-20 17:08:02 +00:00
# Requires repline 0.4 which is the default only for ghc8101, override for the rest
zre = super . zre . override {
repline = self . repline_0_4_0_0 . override {
2020-09-25 04:45:31 +00:00
haskeline = self . haskeline_0_8_1_0 ;
2020-08-20 17:08:02 +00:00
} ;
} ;
# https://github.com/bos/statistics/issues/170
statistics = dontCheck super . statistics ;
2020-06-15 15:56:04 +00:00
2020-09-25 04:45:31 +00:00
hcoord = overrideCabal super . hcoord ( drv : {
# Remove when https://github.com/danfran/hcoord/pull/8 is merged.
patches = [
( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / d a n f r a n / h c o o r d / p u l l / 8 / c o m m i t s / 7 6 2 7 3 8 b 9 e 4 2 8 4 1 3 9 f 5 c 2 1 f 5 5 3 6 6 7 a 9 9 7 5 b a d 6 8 8 e . p a t c h " ;
sha256 = " 0 3 r 4 j g 9 a 6 x h 7 w 3 j z 3 g 4 b s 7 f f 3 5 w a 4 r r m j g c g g q 5 1 y 0 j c 1 s j q v h y z " ;
} )
] ;
# Remove when https://github.com/danfran/hcoord/issues/9 is closed.
doCheck = false ;
} ) ;
# Tests rely on `Int` being 64-bit: https://github.com/hspec/hspec/issues/431.
# Also, we need QuickCheck-2.14.x to build the test suite, which isn't easy in LTS-16.x.
# So let's not go there and just disable the tests altogether.
hspec-core = dontCheck super . hspec-core ;
# github.com/ucsd-progsys/liquidhaskell/issues/1729
liquidhaskell = super . liquidhaskell . override { Diff = self . Diff_0_3_4 ; } ;
Diff_0_3_4 = dontCheck super . Diff_0_3_4 ;
# We want the latest version of cryptonite. This is a first step towards
# resolving https://github.com/NixOS/nixpkgs/issues/81915.
cryptonite = doDistribute self . cryptonite_0_27 ;
# We want the latest version of Pandoc.
hslua = doDistribute self . hslua_1_1_2 ;
jira-wiki-markup = doDistribute self . jira-wiki-markup_1_3_2 ;
pandoc = doDistribute self . pandoc_2_10_1 ;
pandoc-citeproc = doDistribute self . pandoc-citeproc_0_17_0_2 ;
pandoc-types = doDistribute self . pandoc-types_1_21 ;
rfc5051 = doDistribute self . rfc5051_0_2 ;
# Upstream forgot to change the Cabal version bounds in the test suite.
# See: https://github.com/jaspervdj/stylish-haskell/pull/297
# Will be fixed whenever they next bump the version number
stylish-haskell = appendPatch super . stylish-haskell ( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / j a s p e r v d j / s t y l i s h - h a s k e l l / c o m m i t / 9 5 5 0 a a 1 c d 1 7 7 a a 6 f e 2 7 1 d 0 7 5 1 7 7 1 0 9 d 6 6 a 7 9 e 6 7 f . p a t c h " ;
sha256 = " 1 f f n b d 2 s 4 f x 0 y l n n l c y y a g 1 1 9 y x b 3 2 p 5 r 2 0 b 3 8 l 3 9 l s a 0 j w v 2 2 9 f " ;
} ) ;
2020-10-11 12:50:04 +00:00
# The test suite attempts to read `/etc/resolv.conf`, which doesn't work in the sandbox.
domain-auth = dontCheck super . domain-auth ;
2020-09-25 04:45:31 +00:00
# INSERT NEW OVERRIDES ABOVE THIS LINE
} // ( let
inherit ( self ) hls-ghcide hls-brittany ;
hlsScopeOverride = self : super : {
# haskell-language-server uses its own fork of ghcide
# Test disabled: it seems to freeze (is it just that it takes a long time ?)
ghcide = dontCheck hls-ghcide ;
# we are faster than stack here
hie-bios = dontCheck super . hie-bios_0_7_1 ;
2020-10-11 12:50:04 +00:00
lsp-test = dontCheck super . lsp-test_0_11_0_7 ;
2020-09-25 04:45:31 +00:00
# fourmolu can‘ t compile with an older aeson
aeson = dontCheck super . aeson_1_5_2_0 ;
# brittany has an aeson upper bound of 1.5
brittany = hls-brittany ;
data-tree-print = doJailbreak super . data-tree-print ;
ghc-exactprint = dontCheck super . ghc-exactprint_0_6_3_2 ;
} ;
in {
2020-10-11 12:50:04 +00:00
haskell-language-server = dontCheck ( super . haskell-language-server . overrideScope hlsScopeOverride ) ;
2020-09-25 04:45:31 +00:00
hls-ghcide = dontCheck ( super . hls-ghcide . overrideScope hlsScopeOverride ) ;
hls-brittany = dontCheck ( super . hls-brittany . overrideScope hlsScopeOverride ) ;
fourmolu = dontCheck ( super . fourmolu . overrideScope hlsScopeOverride ) ;
}
) // import ./configuration-tensorflow.nix { inherit pkgs haskellLib ; } self super