My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nomicon/pkgs/development/haskell-modules/configuration-common.nix

124 lines
5.0 KiB

{ pkgs }:
with import ./lib.nix { inherit pkgs; };
self: super: {
# Some packages need a non-core version of Cabal.
Cabal_1_18_1_6 = doJailbreak (dontCheck super.Cabal_1_18_1_6);
Cabal_1_20_0_3 = doJailbreak (dontCheck super.Cabal_1_20_0_3);
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; });
# Break infinite recursions.
digest = super.digest.override { inherit (pkgs) zlib; };
hspec-expectations = dontCheck super.hspec-expectations;
HTTP = dontCheck super.HTTP;
matlab = super.matlab.override { matlab = null; };
mwc-random = dontCheck super.mwc-random;
nanospec = dontCheck super.nanospec;
options = dontCheck super.options;
statistics = dontCheck super.statistics;
text = dontCheck super.text;
# Doesn't compile with lua 5.2.
hslua = super.hslua.override { lua = pkgs.lua5_1; };
# "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.
yices-painless = overrideCabal super.yices-painless (drv: { hydraPlatforms = []; });
# 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.
presburger = dontCheck super.presburger;
# Won't find it's header files without help.
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
# https://github.com/haskell/time/issues/23
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;
# https://github.com/simonmichael/hledger/issues/232
hledger-web = dontCheck super.hledger-web;
# 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";
});
# 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;
}
// {
# Not on Hackage yet.
cabal2nix = self.mkDerivation {
pname = "cabal2nix";
version = "2.0";
src = pkgs.fetchgit {
url = "git://github.com/NixOS/cabal2nix.git";
sha256 = "b9dde970f8e64fd5faff9402f5788ee832874d7584a67210f59f2c5e504ce631";
rev = "6398667f4ad670eb3aa3334044a65a06971494d0";
};
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;
};
}