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 ;
# 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 ;
2021-03-15 08:37:03 +00:00
sha256 = " 1 y 9 j s 3 n 8 m l 2 g 4 9 2 n i v y 7 g k 3 7 1 r d m i b w y d b 4 f w z z w b v i y a 2 8 0 a k a q " ;
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 ;
} ;
2020-10-16 20:44:37 +00:00
# Backport fix for bash: compgen: command not found
# which happens in nix-shell when a non-interactive bash is on PATH
# PR to master: https://github.com/pcapriotti/optparse-applicative/pull/408
optparse-applicative = appendPatch super . optparse-applicative ( pkgs . fetchpatch {
name = " o p t p a r s e - a p p l i c a t i v e - 0 . 1 5 . 1 - h e r c u l e s - c i - c o m p g e n . d i f f " ;
url = " h t t p s : / / g i t h u b . c o m / h e r c u l e s - c i / o p t p a r s e - a p p l i c a t i v e / c o m p a r e / 0 . 1 5 . 1 . . . h e r c u l e s - c i : 0 . 1 5 . 1 - n i x p k g s - c o m p g e n . d i f f " ;
sha256 = " 1 b c p 6 b 7 g v c 8 p q b n 1 n 1 y b h i z k k l 5 i f 7 h k 9 i p g l 7 4 6 v k 0 8 v 0 d 3 x x q l " ;
} ) ;
2020-04-24 23:36:52 +00:00
# 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.
2021-01-05 17:05:55 +00:00
# Jailbreak is necessary for QuickCheck dependency.
vector = doJailbreak ( 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 ;
2020-10-16 20:44:37 +00:00
# Test suite fails due golden tests checking text representation
# of normalized dhall expressions, and newer dhall versions format
# differently.
hpack-dhall =
if pkgs . lib . versionOlder " 0 . 5 . 2 " super . hpack-dhall . version
then throw " D r o p d o n t C h e c k o v e r r i d e f o r h p a c k - d h a l l > 0 . 5 . 2 "
else dontCheck super . hpack-dhall ;
2020-04-24 23:36:52 +00:00
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 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 ;
2021-03-09 03:18:52 +00:00
# 2020-06-05: HACK: does not pass own build suite - `dontCheck`
hnix = generateOptparseApplicativeCompletion " h n i x " ( dontCheck super . hnix ) ;
2021-01-09 10:05:03 +00:00
2021-02-05 17:12:51 +00:00
# https://github.com/haskell-nix/hnix-store/issues/127
2021-03-09 03:18:52 +00:00
hnix-store-core = addTestToolDepend super . hnix-store-core self . tasty-discover ;
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
2020-11-21 19:51:51 +00:00
aws = appendPatch ( dontCheck super . aws ) # needs aws credentials
( pkgs . fetchpatch {
# https://github.com/aristidb/aws/pull/271
# bump a version bound
url = https://github.com/aristidb/aws/commit/3639262ccd6761dea76f052692ac3aefbd254723.patch ;
sha256 = " 0 n x a s p l d g a y q j n i d d a 8 w 7 w p s 5 g d p r 2 w z 6 v y n l 7 v k a w 8 k z x k s 9 b c i " ;
} ) ;
2020-04-24 23:36:52 +00:00
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
2020-11-30 08:33:03 +00:00
#next release supports random 1.1; jailbroken because i didn't know about vty when glguy was updating the bounds
#should be fixed soon. maybe even before this is merged. currently glirc is 2.37
glirc = doJailbreak ( super . glirc . override { random = self . random_1_2_0 ; } ) ;
2020-04-24 23:36:52 +00:00
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 ;
2020-12-07 07:45:13 +00:00
integer-roots = dontCheck super . integer-roots ; # requires an old version of smallcheck, will be fixed in > 1.0
2020-04-24 23:36:52 +00:00
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-11-30 08:33:03 +00:00
# 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 :')
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 ;
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-11-30 08:33:03 +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
# 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 ) ;
2021-01-15 22:18:51 +00:00
# Known issue with nondeterministic test suite failure
# https://github.com/nomeata/tasty-expected-failure/issues/21
tasty-expected-failure = dontCheck super . tasty-expected-failure ;
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 " " "
'' ;
} ) ;
2021-03-09 03:18:52 +00:00
# * The standard libraries are compiled separately.
# * We need multiple patches from master to fix compilation with
# updated dependencies (haskeline and megaparsec) which can be
# removed when the next idris release (1.3.4 probably) comes
# around.
idris = generateOptparseApplicativeCompletion " i d r i s "
( doJailbreak ( dontCheck
( appendPatches super . idris [
# compatibility with haskeline >= 0.8
( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / i d r i s - l a n g / I d r i s - d e v / c o m m i t / 8 9 a 8 7 c f 6 6 6 e b 8 b 2 7 1 9 0 c 7 7 9 e 7 2 d 0 d 7 6 e a d c 1 b c 1 4 . p a t c h " ;
sha256 = " 0 f v 4 9 3 z l p g j s f 5 7 w 0 s n c d 4 v q f k a b f c z p 3 x a z j j m q w 5 4 m 9 r s f i x 3 5 " ;
} )
# compatibility with megaparsec >= 0.9
( pkgs . fetchpatch {
url = " h t t p s : / / g i t h u b . c o m / i d r i s - l a n g / I d r i s - d e v / c o m m i t / 6 e a 9 b c 9 1 3 8 7 7 d 7 6 5 0 4 8 d 7 c d b 7 f c 5 a e c 6 0 b 1 9 6 f a c . p a t c h " ;
sha256 = " 0 y m s 7 4 d 1 x d x d 1 c 0 8 d n p 4 5 n b 1 d d z q 5 4 n 6 h q g z x x 0 r 4 9 4 w y 6 1 4 i r 8 q " ;
} )
] )
) ) ;
2020-04-24 23:36:52 +00:00
# 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 ;
2021-03-15 08:37:03 +00:00
# 2021-03-12: All of this libraries have to restrictive upper bounds
# https://github.com/diagrams/diagrams-core/issues/112
active = doJailbreak super . active ;
statestack = doJailbreak super . statestack ;
force-layout = doJailbreak super . force-layout ;
size-based = doJailbreak super . size-based ;
dual-tree = doJailbreak super . dual-tree ;
diagrams-core = doJailbreak super . diagrams-core ;
diagrams-postscript = doJailbreak super . diagrams-postscript ;
diagrams-svg = doJailbreak super . diagrams-svg ;
diagrams-contrib = doJailbreak super . diagrams-contrib ;
2020-04-24 23:36:52 +00:00
# https://github.com/diagrams/diagrams-lib/issues/288
2021-03-15 08:37:03 +00:00
diagrams-lib = doJailbreak ( overrideCabal super . diagrams-lib ( drv : { doCheck = ! pkgs . stdenv . isi686 ; } ) ) ;
2020-04-24 23:36:52 +00:00
# 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 ;
2021-01-09 10:05:03 +00:00
# The project is stale
#
# Archiving request: https://github.com/haskell-hvr/cryptohash-sha512/issues/6
#
# doJailbreak since base <4.12 && bytestring <0.11
# Request to support:
# https://github.com/haskell-hvr/cryptohash-sha512/issues/4
# PRs to support base <4.12:
# https://github.com/haskell-hvr/cryptohash-sha512/pull/3
# https://github.com/haskell-hvr/cryptohash-sha512/pull/5
#
# dontCheck since test suite does not support new `base16-bytestring` >= 1 format
# https://github.com/haskell-hvr/cryptohash-sha512/pull/5#issuecomment-752796913
cryptohash-sha512 = dontCheck ( doJailbreak super . cryptohash-sha512 ) ;
2020-12-25 13:55:36 +00:00
2021-02-05 17:12:51 +00:00
# https://github.com/haskell-hvr/cryptohash-sha256/issues/11
# Jailbreak is necessary to break out of tasty < 1.x dependency.
cryptohash-sha256 = markUnbroken ( doJailbreak super . cryptohash-sha256 ) ;
2020-07-18 16:06:22 +00:00
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 ;
2021-03-09 03:18:52 +00:00
# Is this package still maintained? https://github.com/haskell/text-icu/issues/30
text-icu = overrideCabal super . text-icu ( drv : {
doCheck = false ; # https://github.com/bos/text-icu/issues/32
configureFlags = [ " - - g h c - o p t i o n = - D U _ D E F I N E _ F A L S E _ A N D _ T R U E = 1 " ] ; # https://github.com/haskell/text-icu/issues/49
} ) ;
2020-04-24 23:36:52 +00:00
# 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 ;
2020-12-25 13:55:36 +00:00
# hledger-lib requires the latest version of pretty-simple
2021-01-05 17:05:55 +00:00
hledger-lib = super . hledger-lib . override { pretty-simple = self . pretty-simple ; } ;
2020-12-25 13:55:36 +00:00
2020-04-24 23:36:52 +00:00
# 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 : {
2020-12-25 13:55:36 +00:00
preCheck = " e x p o r t H O M E = $ T M P D I R " ;
2020-04-24 23:36:52 +00:00
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-11-06 00:33:48 +00:00
# Compiles some C or C++ source which requires these headers
2020-06-02 18:00:15 +00:00
VulkanMemoryAllocator = addExtraLibrary super . VulkanMemoryAllocator pkgs . vulkan-headers ;
2020-11-06 00:33:48 +00:00
vulkan-utils = addExtraLibrary super . vulkan-utils pkgs . vulkan-headers ;
2020-06-02 18:00:15 +00:00
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 ;
2021-01-15 22:18:51 +00:00
# https://github.com/andrewthad/chronos/issues/62
# doctests are failing on newer GHC versions
chronos = dontCheck super . chronos ;
2020-04-24 23:36:52 +00:00
# Test suite depends on cabal-install
doctest = dontCheck super . doctest ;
2020-11-21 19:51:51 +00:00
# dontCheck: https://github.com/haskell-servant/servant-auth/issues/113
# doJailbreak: waiting on revision 1 to hit hackage
servant-auth-client = doJailbreak ( dontCheck super . servant-auth-client ) ;
2020-04-24 23:36:52 +00:00
2020-08-20 17:08:02 +00:00
# Generate cli completions for dhall.
dhall = generateOptparseApplicativeCompletion " d h a l l " super . dhall ;
2021-01-15 22:18:51 +00:00
# For reasons that are not quire clear 'dhall-json' won't compile without 'tasty 1.4' due to its tests
# https://github.com/commercialhaskell/stackage/issues/5795
# This issue can be mitigated with 'dontCheck' which skips the tests and their compilation.
dhall-json = generateOptparseApplicativeCompletions [ " d h a l l - t o - j s o n " " d h a l l - t o - y a m l " ] ( dontCheck super . dhall-json ) ;
2020-11-21 19:51:51 +00:00
dhall-nix = generateOptparseApplicativeCompletion " d h a l l - t o - n i x " super . dhall-nix ;
2021-01-15 22:18:51 +00:00
dhall-yaml = generateOptparseApplicativeCompletions [ " d h a l l - t o - y a m l - n g " " y a m l - t o - d h a l l " ] super . dhall-yaml ;
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-12-25 13:55:36 +00:00
niv = generateOptparseApplicativeCompletion " n i v " super . niv ;
ormolu = generateOptparseApplicativeCompletion " o r m o l u " super . ormolu ;
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 ;
2021-03-09 03:18:52 +00:00
# The test suite runs for 20+ minutes on a very fast machine, which feels kinda disproportionate.
prettyprinter = dontCheck super . prettyprinter ;
brittany = doJailbreak ( dontCheck super . brittany ) ; # Outdated upperbound on ghc-exactprint: https://github.com/lspitzner/brittany/issues/342
2020-04-24 23:36:52 +00:00
# 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,
2020-11-12 23:50:31 +00:00
# upstream PR: https://github.com/james-preston/hail/pull/16
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 6 . p a t c h " ;
sha256 = " 0 d p a g p n 6 5 4 z j r l k l i h s g 9 1 1 l m x j j 8 m s y l b m 3 c 6 8 x a 5 a a d 1 s 9 g c f 7 " ;
2020-04-24 23:36:52 +00:00
} )
] ;
} ) ;
# https://github.com/kazu-yamamoto/dns/issues/150
dns = dontCheck super . dns ;
# 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 ;
# 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-12-26 04:20:00 +00:00
# version constraints break the build, so we jailbreak
# can be removed at a new release which also fixes
# https://github.com/jgm/gitit/issues/665
gitit = doJailbreak super . gitit ;
2020-06-18 07:06:33 +00:00
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
# 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 ;
2020-11-06 00:33:48 +00:00
# Allow building with recent versions of hlint.
patch = doJailbreak super . patch ;
2020-06-15 15:56:04 +00:00
# Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
2020-11-21 19:51:51 +00:00
reflex-dom-core = doDistribute ( unmarkBroken ( dontCheck ( appendPatch super . reflex-dom-core ( pkgs . fetchpatch {
url = https://github.com/reflex-frp/reflex-dom/commit/6aed7b7ebb70372778f1a29a724fcb4de815ba04.patch ;
sha256 = " 1 g 7 l g w j 7 r p z i i l i f 2 g i a n 4 1 2 i y 0 5 g q b z w x 9 w 0 m 6 a j q 3 c l x s 5 z s 7 l " ;
stripLen = 2 ;
extraPrefix = " " ;
includes = [ " r e f l e x - d o m - c o r e . c a b a l " ] ;
} ) ) ) ) ;
# Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
reflex-dom = appendPatch super . reflex-dom ( pkgs . fetchpatch {
url = https://github.com/reflex-frp/reflex-dom/commit/6aed7b7ebb70372778f1a29a724fcb4de815ba04.patch ;
sha256 = " 1 n d q w 5 r 8 5 a x y n m x 5 5 l d 6 q r 8 i k 1 i 1 m k h 6 w r n k z p x b w y i l 2 m s 8 m x n 0 " ;
stripLen = 2 ;
extraPrefix = " " ;
includes = [ " r e f l e x - d o m . c a b a l " ] ;
} ) ;
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/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-11-21 19:51:51 +00:00
haskell-gi-base = addBuildDepends super . haskell-gi-base [ pkgs . gobject-introspection ] ;
2020-08-20 17:08:02 +00:00
# 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 " ;
} ) ;
# Tests are broken because of missing files in hackage tarball.
# https://github.com/jgm/commonmark-hs/issues/55
commonmark-extensions = dontCheck super . commonmark-extensions ;
# Testsuite trying to run `which haskeline-examples-Test`
2021-01-09 10:05:03 +00:00
haskeline_0_8_1_1 = dontCheck super . haskeline_0_8_1_1 ;
2020-09-25 04:45:31 +00:00
# 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 ;
} ) ( 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 " ;
} ) ) ;
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 ;
2020-10-16 20:44:37 +00:00
# jailbreaking pandoc-citeproc because it has not bumped upper bound on pandoc
2020-11-21 19:51:51 +00:00
pandoc-citeproc = doJailbreak super . pandoc-citeproc ;
2020-09-25 04:45:31 +00:00
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
2020-10-27 00:29:36 +00:00
# Too tight version bounds, see https://github.com/haskell-hvr/microaeson/pull/4
microaeson = doJailbreak super . microaeson ;
2020-11-15 13:44:38 +00:00
# - Deps are required during the build for testing and also during execution,
# so add them to build input and also wrap the resulting binary so they're in
# PATH.
update-nix-fetchgit = let deps = [ pkgs . git pkgs . nix pkgs . nix-prefetch-git ] ;
in generateOptparseApplicativeCompletion " u p d a t e - n i x - f e t c h g i t " ( overrideCabal
( addTestToolDepends ( super . update-nix-fetchgit . overrideScope ( self : super : {
optparse-generic = self . optparse-generic_1_4_4 ;
2020-11-30 08:33:03 +00:00
optparse-applicative = self . optparse-applicative_0_16_1_0 ;
2020-11-15 13:44:38 +00:00
} ) ) deps ) ( drv : {
buildTools = drv . buildTools or [ ] ++ [ pkgs . makeWrapper ] ;
postInstall = drv . postInstall or " " + ''
wrapProgram " $ o u t / b i n / u p d a t e - n i x - f e t c h g i t " - - prefix ' PATH' ' : ' " ${
pkgs . lib . makeBinPath deps
} "
'' ;
} ) ) ;
# Our quickcheck-instances is too old for the newer binary-instances, but
# quickcheck-instances is only used in the tests of binary-instances.
binary-instances = dontCheck super . binary-instances ;
2020-11-21 19:51:51 +00:00
# 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests:
# https://github.com/haskell/haskell-language-server/issues/610
# https://github.com/haskell/haskell-language-server/issues/611
2021-03-09 03:18:52 +00:00
haskell-language-server = dontCheck super . haskell-language-server ;
2021-02-13 14:23:35 +00:00
2021-03-15 08:37:03 +00:00
# 2021-03-09: Overrides because nightly is to old for hls 1.0.0
lsp-test = doDistribute ( dontCheck self . lsp-test_0_13_0_0 ) ;
2020-11-21 19:51:51 +00:00
2021-03-15 08:37:03 +00:00
# 2021-03-09: Golden tests seem to be missing in hackage release:
# https://github.com/haskell/haskell-language-server/issues/1536
hls-tactics-plugin = dontCheck super . hls-tactics-plugin ;
2021-02-05 17:12:51 +00:00
2021-03-15 08:37:03 +00:00
# 2021-03-21 Test hangs
# https://github.com/haskell/haskell-language-server/issues/1562
ghcide = dontCheck super . ghcide ;
# 2020-03-09: Tests broken in hackage release
# fixed on upstream, but not released in hiedb 0.3.0.1
# https://github.com/wz1000/HieDb/issues/30
hiedb = dontCheck super . hiedb ;
2021-02-13 14:23:35 +00:00
2020-11-21 19:51:51 +00:00
data-tree-print = doJailbreak super . data-tree-print ;
# 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
aeson = dontCheck super . aeson ;
# 2020-11-15: nettle tests are pre MonadFail change
# https://github.com/stbuehler/haskell-nettle/issues/10
nettle = dontCheck super . nettle ;
# 2020-11-17: Disable tests for hackage-security because of this issue:
# https://github.com/haskell/hackage-security/issues/247
hackage-security = dontCheck super . hackage-security ;
# 2020-11-17: persistent-test is ahead of the persistent version in stack
persistent-sqlite = dontCheck super . persistent-sqlite ;
# The tests for semver-range need to be updated for the MonadFail change in
# ghc-8.8:
# https://github.com/adnelson/semver-range/issues/15
semver-range = dontCheck super . semver-range ;
2021-01-15 22:18:51 +00:00
# https://github.com/obsidiansystems/dependent-sum/issues/55
dependent-sum = doJailbreak super . dependent-sum ;
2020-11-21 19:51:51 +00:00
dependent-sum-aeson-orphans = appendPatch super . dependent-sum-aeson-orphans ( pkgs . fetchpatch {
# 2020-11-18: https://github.com/obsidiansystems/dependent-sum-aeson-orphans/pull/9
# Bump version bounds for ghc 8.10
url = https://github.com/obsidiansystems/dependent-sum-aeson-orphans/commit/e1f5898116222a1bc557d41f3395066f83736093.patch ;
sha256 = " 0 1 f j 2 9 x d b l x p z 4 d r a s a y g f 9 8 7 5 f i p y l p j 8 w 1 6 4 l b 0 c s z d 1 v m q w n b " ;
} ) ;
# 2020-11-18: https://github.com/srid/rib/issues/169
# aeson bound out of sync
rib-core = doJailbreak super . rib-core ;
# 2020-11-18: https://github.com/srid/neuron/issues/474
# base upper bound is incompatible with ghc 8.10
neuron = doJailbreak super . neuron ;
2021-01-15 22:18:51 +00:00
reflex = dontCheck ( doJailbreak ( appendPatches super . reflex [
2020-11-21 19:51:51 +00:00
# https://github.com/reflex-frp/reflex/pull/444
# Fixes for ghc 8.10
( pkgs . fetchpatch {
url = https://github.com/reflex-frp/reflex/commit/d230632427fc1b7031163567c97f20050610c122.patch ;
sha256 = " 0 g a f q q i 6 q 1 6 m 5 y 4 m r c 2 f 7 l h a h m a z v c b i a d n 2 v 8 4 y 9 p 3 z v x 2 v 2 6 x y " ;
} )
# https://github.com/reflex-frp/reflex/pull/444
# Bound bumps for ghc 8.10
( pkgs . fetchpatch {
url = https://patch-diff.githubusercontent.com/raw/reflex-frp/reflex/pull/448.patch ;
sha256 = " 0 a 8 g c q 9 g 8 d y y a f k v s 5 4 m i 3 f n i s f f 2 0 r 0 x 0 q z m h x c p 9 m d 6 1 n k f 7 g q " ;
} )
2021-01-15 22:18:51 +00:00
] ) ) ;
2020-11-21 19:51:51 +00:00
# 2020-11-19: jailbreaking because of pretty-simple bound out of date
# https://github.com/kowainik/stan/issues/408
# Tests disabled because of: https://github.com/kowainik/stan/issues/409
stan = doJailbreak ( dontCheck super . stan ) ;
# Due to tests restricting base in 0.8.0.0 release
http-media = doJailbreak super . http-media ;
2021-01-09 10:05:03 +00:00
# https://github.com/ekmett/half/issues/35
half = if pkgs . stdenv . isAarch64
then dontCheck super . half
else super . half ;
2020-11-21 19:51:51 +00:00
# 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
heist = doJailbreak super . heist ;
2021-02-22 21:28:39 +00:00
hinit = generateOptparseApplicativeCompletion " h i " ( super . hinit . override { haskeline = self . haskeline_0_8_1_1 ; } ) ;
2020-11-21 19:51:51 +00:00
# 2020-11-19: Jailbreaking until: https://github.com/snapframework/snap/pull/219
snap = doJailbreak super . snap ;
2021-01-09 10:05:03 +00:00
cachix = generateOptparseApplicativeCompletion " c a c h i x " super . cachix ;
2020-11-21 19:51:51 +00:00
2020-11-30 08:33:03 +00:00
# 2020-11-23: Jailbreaking until: https://github.com/michaelt/text-pipes/pull/29
pipes-text = doJailbreak super . pipes-text ;
# 2020-11-23: https://github.com/Rufflewind/blas-hs/issues/8
blas-hs = dontCheck super . blas-hs ;
# 2020-11-23: https://github.com/cdornan/fmt/issues/30
fmt = dontCheck super . fmt ;
# 2020-11-27: Tests broken
# Upstream issue: https://github.com/haskell-servant/servant-swagger/issues/129
servant-swagger = dontCheck super . servant-swagger ;
2021-03-15 08:37:03 +00:00
hercules-ci-agent = super . hercules-ci-agent . override {
cachix =
# https://github.com/cachix/cachix/pull/361
( appendPatch
( addBuildDepend super . cachix super . hercules-ci-cnix-store )
( pkgs . fetchpatch {
name = " c a c h i x - 3 6 1 . p a t c h " ;
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 / c a c h i x / c a c h i x / p u l l / 3 6 1 . p a t c h " ;
sha256 = " 0 w w l c p m n q m v k 1 c s s 5 f 7 2 3 d z g j v g 4 j r 7 i 5 8 i f h n i 5 z g 9 h 5 i w y c d f r " ;
stripLen = 1 ;
includes = [ " * . c a b a l " " * . h s " ] ;
} )
) ;
} ;
hercules-ci-cli = generateOptparseApplicativeCompletion " h c i " (
# See hercules-ci-optparse-applicative in non-hackage-packages.nix.
addBuildDepend ( unmarkBroken super . hercules-ci-cli ) super . hercules-ci-optparse-applicative
) ;
2020-11-30 08:33:03 +00:00
2020-12-25 13:55:36 +00:00
# 2020-12-05: http-client is fixed on too old version
essence-of-live-coding-warp = super . essence-of-live-coding-warp . override {
2021-03-09 03:18:52 +00:00
http-client = self . http-client_0_7_6 ;
2020-12-25 13:55:36 +00:00
} ;
# 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
pandoc-include-code = doJailbreak super . pandoc-include-code ;
# https://github.com/yesodweb/yesod/issues/1714
yesod-core = dontCheck super . yesod-core ;
2020-12-26 04:20:00 +00:00
# Add ApplicationServices on darwin
2021-01-05 17:05:55 +00:00
apecs-physics = addPkgconfigDepends super . apecs-physics
2020-12-26 04:20:00 +00:00
( pkgs . lib . optional pkgs . stdenv . isDarwin pkgs . darwin . apple_sdk . frameworks . ApplicationServices ) ;
2021-01-05 17:05:55 +00:00
# Break out of overspecified constraint on QuickCheck.
algebraic-graphs = dontCheck super . algebraic-graphs ;
attoparsec = doJailbreak super . attoparsec ; # https://github.com/haskell/attoparsec/pull/168
cassava = doJailbreak super . cassava ;
filepath-bytestring = doJailbreak super . filepath-bytestring ;
ghc-source-gen = doJailbreak super . ghc-source-gen ;
haddock-library = doJailbreak super . haddock-library ;
HsYAML = doJailbreak super . HsYAML ;
http-api-data = doJailbreak super . http-api-data ;
lzma = doJailbreak super . lzma ;
psqueues = doJailbreak super . psqueues ;
# Break out of overspecified constraint on QuickCheck.
# https://github.com/Gabriel439/Haskell-Nix-Derivation-Library/pull/10
nix-derivation = doJailbreak super . nix-derivation ;
# Break out of overspecified constraint on QuickCheck.
# Fixed by https://github.com/haskell-servant/servant/commit/08579ca0039410e04d6c36c975ddc20165819db6
servant-client = doJailbreak super . servant-client ;
servant-client-core = doJailbreak super . servant-client-core ;
2021-01-09 10:05:03 +00:00
# overly strict dependency on aeson
# https://github.com/jaspervdj/profiteur/issues/33
profiteur = doJailbreak super . profiteur ;
2021-01-15 22:18:51 +00:00
# Test suite has overly strict bounds on tasty.
# https://github.com/input-output-hk/nothunks/issues/9
nothunks = doJailbreak super . nothunks ;
# Allow building with recent versions of tasty.
lukko = doJailbreak super . lukko ;
# Allow building with older versions of http-client.
http-client-restricted = doJailbreak super . http-client-restricted ;
2021-02-13 14:23:35 +00:00
# 2020-02-11: https://github.com/ekmett/lens/issues/969
# A change in vector 0.2.12 broke the lens doctests.
# This is fixed on lens master. Remove this override on assert fail.
lens = assert super . lens . version == " 4 . 1 9 . 2 " ; doJailbreak ( dontCheck super . lens ) ;
# Test suite fails, upstream not reachable for simple fix (not responsive on github)
vivid-osc = dontCheck super . vivid-osc ;
vivid-supercollider = dontCheck super . vivid-supercollider ;
2021-02-22 21:28:39 +00:00
# Overly strict version bounds: https://github.com/Profpatsch/yarn-lock/issues/8
yarn-lock = doJailbreak super . yarn-lock ;
2021-03-09 03:18:52 +00:00
# Dependency to regex-tdfa-text can be removed for later regex-tdfa versions.
# Fix protolude compilation error by applying patch from pull-request.
# Override can be removed for the next release > 0.8.0.
yarn2nix = overrideCabal ( super . yarn2nix . override {
regex-tdfa-text = null ;
} ) ( attrs : {
jailbreak = true ;
# remove dependency on regex-tdfa-text
# which has been merged into regex-tdfa
postPatch = ''
sed - i ' /regex-tdfa-text/d ' yarn2nix . cabal
'' ;
patches = ( attrs . patches or [ ] ) ++ [
# fix a compilation error related to protolude 0.3
( pkgs . fetchpatch {
url = " 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 / c o m m i t / c a 7 8 c f 0 6 2 2 6 8 1 9 b 2 e 7 8 c b 6 c d b c 1 5 7 d 2 7 a f b 4 1 5 3 2 . p a t c h " ;
sha256 = " 1 v k c z w z h x i l n p 8 7 a p y b 1 8 n y c n 8 3 4 y 5 n b w 4 y r 1 k p w l w h r h a l v z w 6 1 " ;
includes = [ " * / R e s o l v e L o c k f i l e . h s " ] ;
} )
] ;
} ) ;
2021-03-15 08:37:03 +00:00
# cabal-install switched to build type simple in 3.2.0.0
# as a result, the cabal(1) man page is no longer installed
# automatically. Instead we need to use the `cabal man`
# command which generates the man page on the fly and
# install it to $out/share/man/man1 ourselves in this
# override.
# The commit that introduced this change:
# https://github.com/haskell/cabal/commit/91ac075930c87712eeada4305727a4fa651726e7
cabal-install = overrideCabal super . cabal-install ( old : {
postInstall = old . postInstall + ''
mkdir - p " $ o u t / s h a r e / m a n / m a n 1 "
" $ o u t / b i n / c a b a l " man - - raw > " $ o u t / s h a r e / m a n / m a n 1 / c a b a l . 1 "
'' ;
} ) ;
# while waiting for a new release: https://github.com/brendanhay/amazonka/pull/572
amazonka = appendPatches ( doJailbreak super . amazonka ) [
( pkgs . fetchpatch {
stripLen = 1 ;
url = " h t t p s : / / g i t h u b . c o m / b r e n d a n h a y / a m a z o n k a / c o m m i t / 4 3 d d d 8 7 b 1 e b d 6 a f 7 5 5 b 1 6 6 e 1 6 3 3 6 2 5 9 e c 0 2 5 b 3 3 7 . p a t c h " ;
sha256 = " 1 x 9 l 5 x g v r h 9 0 8 d i 6 w h p a v y p 0 8 c y s 1 1 v 3 y n 6 r c 2 1 z w 8 7 x i y i g d b i 3 " ;
} )
] ;
# Test suite does not compile.
feed = dontCheck super . feed ;
2020-11-21 19:51:51 +00:00
} // import ./configuration-tensorflow.nix { inherit pkgs haskellLib ; } self super