2015-01-07 20:31:32 +01:00
|
|
|
{ pkgs }:
|
|
|
|
|
2015-01-10 20:26:08 +01:00
|
|
|
with import ./lib.nix { inherit pkgs; };
|
2015-01-07 20:31:32 +01:00
|
|
|
|
|
|
|
self: super: {
|
|
|
|
|
|
|
|
# Some packages need a non-core version of Cabal.
|
2015-01-14 21:27:06 +01:00
|
|
|
Cabal_1_18_1_6 = dontCheck super.Cabal_1_18_1_6;
|
2015-01-11 13:22:56 +01:00
|
|
|
Cabal_1_20_0_3 = doJailbreak (dontCheck super.Cabal_1_20_0_3);
|
2015-01-10 20:27:16 +01:00
|
|
|
Cabal_1_22_0_0 = dontCheck super.Cabal_1_22_0_0;
|
|
|
|
cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_0_0; });
|
2015-01-07 20:31:32 +01:00
|
|
|
|
|
|
|
# Break infinite recursions.
|
|
|
|
digest = super.digest.override { inherit (pkgs) zlib; };
|
2015-01-12 13:43:06 +01:00
|
|
|
Dust-crypto = dontCheck super.Dust-crypto;
|
|
|
|
hasql-postgres = dontCheck super.hasql-postgres;
|
2015-01-10 20:27:16 +01:00
|
|
|
hspec-expectations = dontCheck super.hspec-expectations;
|
|
|
|
HTTP = dontCheck super.HTTP;
|
2015-01-07 20:31:32 +01:00
|
|
|
matlab = super.matlab.override { matlab = null; };
|
2015-01-10 20:27:16 +01:00
|
|
|
mwc-random = dontCheck super.mwc-random;
|
|
|
|
nanospec = dontCheck super.nanospec;
|
|
|
|
options = dontCheck super.options;
|
|
|
|
statistics = dontCheck super.statistics;
|
|
|
|
text = dontCheck super.text;
|
2015-01-07 20:31:32 +01:00
|
|
|
|
|
|
|
# Doesn't compile with lua 5.2.
|
|
|
|
hslua = super.hslua.override { lua = pkgs.lua5_1; };
|
|
|
|
|
2015-01-13 18:35:14 +01:00
|
|
|
# Please also remove optparse-applicative special case from
|
|
|
|
# cabal2nix/hackage2nix.hs when removing the following.
|
2015-01-13 20:43:18 +01:00
|
|
|
elm-make = super.elm-make.override { optparse-applicative = self.optparse-applicative_0_10_0; };
|
|
|
|
elm-package = super.elm-package.override { optparse-applicative = self.optparse-applicative_0_10_0; };
|
|
|
|
|
2015-01-13 18:35:14 +01:00
|
|
|
# elm-compiler jail-break can be removed after next elm-compiler
|
|
|
|
# release: bumped language-ecmascript's limit in git already.
|
|
|
|
elm-compiler = doJailbreak super.elm-compiler;
|
|
|
|
|
2015-01-13 20:22:07 +01:00
|
|
|
# https://github.com/acid-state/safecopy/issues/17
|
2015-01-13 19:00:01 +01:00
|
|
|
safecopy = dontCheck super.safecopy;
|
|
|
|
|
2015-01-13 20:22:07 +01:00
|
|
|
# Link the proper version.
|
|
|
|
zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
|
2015-01-13 19:36:36 +01:00
|
|
|
|
2015-01-07 20:31:32 +01:00
|
|
|
# "curl" means pkgs.curl
|
|
|
|
git-annex = super.git-annex.override { inherit (pkgs) git rsync gnupg1 curl lsof openssh which bup perl wget; };
|
|
|
|
|
|
|
|
# Depends on code distributed under a non-free license.
|
2015-01-12 13:43:06 +01:00
|
|
|
bindings-yices = dontDistribute super.bindings-yices;
|
|
|
|
yices = dontDistribute super.yices;
|
|
|
|
yices-easy = dontDistribute super.yices-easy;
|
|
|
|
yices-painless = dontDistribute super.yices-painless;
|
2015-01-07 20:31:32 +01:00
|
|
|
|
|
|
|
# This package overrides the one from pkgs.gnome.
|
|
|
|
gtkglext = super.gtkglext.override { inherit (pkgs.gnome) gtkglext; };
|
|
|
|
|
|
|
|
# The test suite refers to its own library with an invalid version constraint.
|
2015-01-10 20:27:16 +01:00
|
|
|
presburger = dontCheck super.presburger;
|
2015-01-07 20:31:32 +01:00
|
|
|
|
|
|
|
# Won't find it's header files without help.
|
2015-01-10 20:27:16 +01:00
|
|
|
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
|
2015-01-07 20:31:32 +01:00
|
|
|
|
2015-01-08 16:52:24 +01:00
|
|
|
# https://github.com/haskell/time/issues/23
|
2015-01-10 20:27:16 +01:00
|
|
|
time_1_5_0_1 = dontCheck super.time_1_5_0_1;
|
|
|
|
|
|
|
|
# Won't accept recent random: https://bitbucket.org/dafis/arithmoi/issue/14/outdated-dependency-on-random.
|
|
|
|
arithmoi = doJailbreak super.arithmoi;
|
|
|
|
|
|
|
|
# Doesn't accept modern versions of hashtable.
|
|
|
|
Agda = dontHaddock (doJailbreak super.Agda);
|
|
|
|
|
|
|
|
# Cannot compile its own test suite: https://github.com/haskell/network-uri/issues/10.
|
|
|
|
network-uri = dontCheck super.network-uri;
|
|
|
|
|
|
|
|
# 0.7.0.2 doesn't accept recent versions of HaXml.
|
|
|
|
encoding = doJailbreak super.encoding;
|
|
|
|
|
|
|
|
# Doesn't accept recent versions of vector-space.
|
|
|
|
active = doJailbreak super.active;
|
|
|
|
diagrams-core = doJailbreak super.diagrams-core; # https://github.com/diagrams/diagrams-core/issues/78
|
|
|
|
diagrams-contrib = doJailbreak super.diagrams-contrib;
|
|
|
|
diagrams-lib = doJailbreak super.diagrams-lib;
|
|
|
|
diagrams-svg = doJailbreak super.diagrams-svg;
|
|
|
|
force-layout = doJailbreak super.force-layout;
|
|
|
|
vector-space-points = doJailbreak super.vector-space-points;
|
|
|
|
|
|
|
|
# The Haddock phase fails for one reason or another.
|
|
|
|
attoparsec-conduit = dontHaddock super.attoparsec-conduit;
|
|
|
|
blaze-builder-conduit = dontHaddock super.blaze-builder-conduit;
|
|
|
|
bytestring-progress = dontHaddock super.bytestring-progress;
|
|
|
|
comonads-fd = dontHaddock super.comonads-fd;
|
|
|
|
comonad-transformers = dontHaddock super.comonad-transformers;
|
|
|
|
diagrams = dontHaddock super.diagrams;
|
|
|
|
either = dontHaddock super.either;
|
|
|
|
gl = dontHaddock super.gl;
|
|
|
|
groupoids = dontHaddock super.groupoids;
|
|
|
|
hamlet = dontHaddock super.hamlet;
|
|
|
|
haste-compiler = dontHaddock super.haste-compiler;
|
|
|
|
HaXml = dontHaddock super.HaXml;
|
|
|
|
HDBC-odbc = dontHaddock super.HDBC-odbc;
|
|
|
|
hoodle-core = dontHaddock super.hoodle-core;
|
|
|
|
hsc3-db = dontHaddock super.hsc3-db;
|
|
|
|
hspec-discover = dontHaddock super.hspec-discover;
|
|
|
|
http-client-conduit = dontHaddock super.http-client-conduit;
|
|
|
|
http-client-multipart = dontHaddock super.http-client-multipart;
|
|
|
|
markdown-unlit = dontHaddock super.markdown-unlit;
|
|
|
|
network-conduit = dontHaddock super.network-conduit;
|
|
|
|
shakespeare-text = dontHaddock super.shakespeare-text;
|
|
|
|
|
|
|
|
# jailbreak doesn't get the job done because the Cabal file uses conditionals a lot.
|
|
|
|
darcs = overrideCabal super.darcs (drv: {
|
|
|
|
patchPhase = "sed -i -e 's|random.*==.*|random|' -e 's|text.*>=.*,|text,|' -e s'|terminfo == .*|terminfo|' darcs.cabal";
|
|
|
|
});
|
2015-01-08 16:52:24 +01:00
|
|
|
|
2015-01-11 01:46:30 +01:00
|
|
|
# The test suite imposes too narrow restrictions on the version of
|
|
|
|
# Cabal that can be used to build this package.
|
|
|
|
cabal-test-quickcheck = dontCheck super.cabal-test-quickcheck;
|
2015-01-11 16:30:56 +01:00
|
|
|
|
|
|
|
# https://github.com/techtangents/ablist/issues/1
|
|
|
|
ABList = dontCheck super.ABList;
|
2015-01-11 17:18:22 +01:00
|
|
|
|
|
|
|
# https://github.com/gcross/AbortT-transformers/issues/1
|
|
|
|
AbortT-transformers = doJailbreak super.AbortT-transformers;
|
|
|
|
|
2015-01-12 13:43:06 +01:00
|
|
|
# Depends on broken NewBinary package.
|
|
|
|
ASN1 = markBroken super.ASN1;
|
|
|
|
|
|
|
|
# Depends on broken Hails package.
|
|
|
|
hails-bin = markBroken super.hails-bin;
|
|
|
|
|
|
|
|
# Depends on broken frame package.
|
|
|
|
frame-markdown = markBroken super.frame-markdown;
|
|
|
|
|
|
|
|
# Depends on broken lss package.
|
|
|
|
snaplet-lss = markBroken super.snaplet-lss;
|
|
|
|
|
|
|
|
# depends on broken hbro package.
|
|
|
|
hbro-contrib = markBroken super.hbro-contrib;
|
|
|
|
|
2015-01-14 15:10:34 +01:00
|
|
|
# https://github.com/prowdsponsor/fb/pull/33
|
|
|
|
fb = doJailbreak (overrideCabal super.fb (drv: {
|
|
|
|
patches = [
|
|
|
|
(pkgs.fetchpatch {
|
2015-01-15 15:26:06 +01:00
|
|
|
url = https://github.com/prowdsponsor/fb/pull/31.patch;
|
|
|
|
sha256 = "0ip8mhpbbvlp4pz7d27d6cg39gm6ypfsf4rdmfrmdh3pkig0axls";
|
2015-01-14 15:10:34 +01:00
|
|
|
})
|
|
|
|
];
|
|
|
|
}));
|
|
|
|
|
2015-01-14 16:02:51 +01:00
|
|
|
# https://github.com/haskell/vector/issues/47
|
|
|
|
vector = if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector;
|
|
|
|
|
2015-01-07 20:31:32 +01:00
|
|
|
}
|
2015-01-10 10:03:53 +01:00
|
|
|
// {
|
|
|
|
# Not on Hackage yet.
|
|
|
|
cabal2nix = self.mkDerivation {
|
|
|
|
pname = "cabal2nix";
|
|
|
|
version = "2.0";
|
|
|
|
src = pkgs.fetchgit {
|
|
|
|
url = "git://github.com/NixOS/cabal2nix.git";
|
2015-01-14 15:38:28 +01:00
|
|
|
rev = "2a1a10f38f21f27e6555b399db131380af1cf7ff";
|
|
|
|
sha256 = "51c96e5a089396c34bfa27e76778743161504e04d6220b2bb7e0fbcde80430fa";
|
2015-01-10 10:03:53 +01:00
|
|
|
};
|
|
|
|
isLibrary = false;
|
|
|
|
isExecutable = true;
|
|
|
|
buildDepends = with self; [
|
|
|
|
aeson base bytestring Cabal containers deepseq directory filepath
|
|
|
|
hackage-db monad-par monad-par-extras mtl pretty process
|
|
|
|
regex-posix SHA split transformers utf8-string
|
|
|
|
];
|
|
|
|
testDepends = with self; [ base doctest ];
|
|
|
|
homepage = "http://github.com/NixOS/cabal2nix";
|
|
|
|
description = "Convert Cabal files into Nix build instructions";
|
|
|
|
license = pkgs.stdenv.lib.licenses.bsd3;
|
|
|
|
};
|
|
|
|
}
|