Merge together merge bases of 19.09 and master
This commit is contained in:
@@ -32,33 +32,20 @@ self: super: {
|
||||
# compiled on Linux. We provide the name to avoid evaluation errors.
|
||||
unbuildable = throw "package depends on meta package 'unbuildable'";
|
||||
|
||||
# Use the latest version of the Cabal library.
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_1_0; });
|
||||
|
||||
# The test suite depends on old versions of tasty and QuickCheck.
|
||||
hackage-security = dontCheck super.hackage-security;
|
||||
|
||||
# Link statically to avoid runtime dependency on GHC.
|
||||
jailbreak-cabal = disableSharedExecutables super.jailbreak-cabal;
|
||||
|
||||
# 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; };
|
||||
|
||||
# Break infinite recursions.
|
||||
attoparsec-varword = super.attoparsec-varword.override { bytestring-builder-varword = dontCheck self.bytestring-builder-varword; };
|
||||
clock = dontCheck super.clock;
|
||||
Dust-crypto = dontCheck super.Dust-crypto;
|
||||
hasql-postgres = dontCheck super.hasql-postgres;
|
||||
hspec-core = super.hspec-core.override { silently = dontCheck self.silently; temporary = dontCheck self.temporary; };
|
||||
hspec-expectations = dontCheck super.hspec-expectations;
|
||||
HTTP = dontCheck super.HTTP;
|
||||
http-streams = dontCheck super.http-streams;
|
||||
nanospec = dontCheck super.nanospec;
|
||||
options = dontCheck super.options;
|
||||
# Needs older QuickCheck version
|
||||
attoparsec-varword = dontCheck super.attoparsec-varword;
|
||||
|
||||
# Tests are failing
|
||||
# https://github.com/bos/statistics/issues/123
|
||||
statistics = dontCheck super.statistics;
|
||||
vector-builder = dontCheck super.vector-builder;
|
||||
|
||||
# These packages (and their reverse deps) cannot be built with profiling enabled.
|
||||
ghc-heap-view = disableLibraryProfiling super.ghc-heap-view;
|
||||
@@ -67,16 +54,13 @@ self: super: {
|
||||
# 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;
|
||||
|
||||
# Use the default version of mysql to build this package (which is actually mariadb).
|
||||
# test phase requires networking
|
||||
mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.connector-c; });
|
||||
|
||||
# check requires mysql server
|
||||
mysql-simple = dontCheck super.mysql-simple;
|
||||
mysql-haskell = dontCheck super.mysql-haskell;
|
||||
|
||||
# Link the proper version.
|
||||
zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
|
||||
# Tests failing, fixed once 0.8.0 is in stackage
|
||||
# https://gitlab.com/twittner/zeromq-haskell/issues/63
|
||||
zeromq4-haskell = dontCheck super.zeromq4-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/
|
||||
@@ -85,7 +69,7 @@ self: super: {
|
||||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "06385r9rlncrrmzdfl8q600bw6plbvkmkwgl3llg595xrm711a97";
|
||||
sha256 = "1795sad0jr2da2pn28nbqsvpld6zw8gf9yscywixkbabf7ls66fn";
|
||||
};
|
||||
}).override {
|
||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||
@@ -105,7 +89,7 @@ self: super: {
|
||||
# https://github.com/froozen/kademlia/issues/2
|
||||
kademlia = dontCheck super.kademlia;
|
||||
|
||||
# Test suite doesn't terminate
|
||||
# Tests require older tasty
|
||||
hzk = dontCheck super.hzk;
|
||||
|
||||
# Tests require a Kafka broker running locally
|
||||
@@ -143,6 +127,7 @@ self: super: {
|
||||
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;
|
||||
classy-prelude-yesod = dontHaddock super.classy-prelude-yesod; # https://github.com/haskell/haddock/issues/979
|
||||
|
||||
# https://github.com/techtangents/ablist/issues/1
|
||||
ABList = dontCheck super.ABList;
|
||||
@@ -161,33 +146,29 @@ self: super: {
|
||||
else super.halive;
|
||||
|
||||
# Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
|
||||
hakyll = if pkgs.stdenv.isDarwin
|
||||
hakyll = appendPatch
|
||||
(if pkgs.stdenv.isDarwin
|
||||
then dontCheck (overrideCabal super.hakyll (drv: {
|
||||
testToolDepends = [];
|
||||
}))
|
||||
# https://github.com/jaspervdj/hakyll/issues/491
|
||||
else dontCheck super.hakyll;
|
||||
else super.hakyll)
|
||||
(pkgs.fetchpatch {
|
||||
url = https://github.com/jaspervdj/hakyll/commit/25a4460b75b3c9f3ce339b3311b084d92994f5f1.patch;
|
||||
sha256 = "sha256-F59WHt52LOKGsGoaD3LAIZFEMe9s9WHfGxQgSh9Q8uQ=";
|
||||
});
|
||||
|
||||
double-conversion = if !pkgs.stdenv.isDarwin
|
||||
then super.double-conversion
|
||||
else addExtraLibrary super.double-conversion pkgs.libcxx;
|
||||
|
||||
inline-c-cpp = if !pkgs.stdenv.isDarwin
|
||||
then super.inline-c-cpp
|
||||
else
|
||||
let drv = addExtraLibrary (overrideCabal super.inline-c-cpp (drv: {
|
||||
postPatch = ''
|
||||
substituteInPlace inline-c-cpp.cabal --replace stdc++ c++
|
||||
'';
|
||||
})) pkgs.libcxx;
|
||||
in # https://github.com/fpco/inline-c/issues/75
|
||||
dontCheck drv;
|
||||
inline-c-cpp = overrideCabal super.inline-c-cpp (drv: {
|
||||
postPatch = (drv.postPatch or "") + ''
|
||||
substituteInPlace inline-c-cpp.cabal --replace "-optc-std=c++11" ""
|
||||
'';
|
||||
});
|
||||
|
||||
inline-java = addBuildDepend super.inline-java pkgs.jdk;
|
||||
|
||||
# https://github.com/mvoidex/hsdev/issues/11
|
||||
hsdev = dontHaddock super.hsdev;
|
||||
|
||||
# Upstream notified by e-mail.
|
||||
permutation = dontCheck super.permutation;
|
||||
|
||||
@@ -235,15 +216,19 @@ self: super: {
|
||||
# base bound
|
||||
digit = doJailbreak super.digit;
|
||||
|
||||
# Needs older version of QuickCheck.
|
||||
these_0_7_6 = doJailbreak super.these_0_7_6;
|
||||
|
||||
# dontCheck: Can be removed once https://github.com/haskell-nix/hnix/commit/471712f is in (5.2 probably)
|
||||
# This is due to GenList having been removed from generic-random in 1.2.0.0
|
||||
# doJailbreak: Can be removed once https://github.com/haskell-nix/hnix/pull/329 is in (5.2 probably)
|
||||
# This is due to hnix currently having an upper bound of <0.5 on deriving-compat, works just fine with our current version 0.5.1 though
|
||||
# Does not support recent versions of "these".
|
||||
# https://github.com/haskell-nix/hnix/issues/514
|
||||
hnix =
|
||||
generateOptparseApplicativeCompletion "hnix" (
|
||||
dontCheck (doJailbreak (overrideCabal super.hnix (old: {
|
||||
testHaskellDepends = old.testHaskellDepends or [] ++ [ pkgs.nix ];
|
||||
}))));
|
||||
dontCheck (doJailbreak (super.hnix.override { these = self.these_0_7_6; }))
|
||||
);
|
||||
|
||||
# Fails for non-obvious reasons while attempting to use doctest.
|
||||
search = dontCheck super.search;
|
||||
@@ -340,6 +325,7 @@ self: super: {
|
||||
lensref = dontCheck super.lensref;
|
||||
lucid = dontCheck super.lucid; #https://github.com/chrisdone/lucid/issues/25
|
||||
lvmrun = disableHardening (dontCheck super.lvmrun) ["format"];
|
||||
matplotlib = dontCheck super.matplotlib;
|
||||
memcache = dontCheck super.memcache;
|
||||
MemoTrie = dontHaddock (dontCheck super.MemoTrie);
|
||||
metrics = dontCheck super.metrics;
|
||||
@@ -370,6 +356,7 @@ self: super: {
|
||||
pwstore-cli = dontCheck super.pwstore-cli;
|
||||
quantities = dontCheck super.quantities;
|
||||
redis-io = dontCheck super.redis-io;
|
||||
reflex = dontCheck super.reflex; # test suite uses hlint, which has different haskell-src-exts version
|
||||
rethinkdb = dontCheck super.rethinkdb;
|
||||
Rlang-QQ = dontCheck super.Rlang-QQ;
|
||||
safecopy = dontCheck super.safecopy;
|
||||
@@ -398,6 +385,7 @@ self: super: {
|
||||
xsd = dontCheck super.xsd;
|
||||
snap-core = dontCheck super.snap-core;
|
||||
sourcemap = dontCheck super.sourcemap;
|
||||
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;
|
||||
@@ -725,15 +713,9 @@ self: super: {
|
||||
'';
|
||||
});
|
||||
|
||||
# A simple MonadFail patch would do too, but not doing the tests is easier
|
||||
megaparsec_6_5_0 = dontCheck super.megaparsec_6_5_0;
|
||||
|
||||
# The standard libraries are compiled separately
|
||||
idris = generateOptparseApplicativeCompletion "idris" (
|
||||
doJailbreak (dontCheck (super.idris.override {
|
||||
# Needed for versions <= 1.3.1 https://github.com/idris-lang/Idris-dev/pull/4610
|
||||
megaparsec = self.megaparsec_6_5_0;
|
||||
}))
|
||||
doJailbreak (dontCheck super.idris)
|
||||
);
|
||||
|
||||
# https://github.com/bos/math-functions/issues/25
|
||||
@@ -763,7 +745,7 @@ self: super: {
|
||||
};
|
||||
in overrideCabal super.servant (old: {
|
||||
postInstall = old.postInstall or "" + ''
|
||||
ln -s ${docs} $doc/share/doc/servant
|
||||
ln -s ${docs} ''${!outputDoc}/share/doc/servant
|
||||
'';
|
||||
});
|
||||
|
||||
@@ -870,8 +852,17 @@ self: super: {
|
||||
# https://github.com/takano-akio/filelock/issues/5
|
||||
filelock = dontCheck super.filelock;
|
||||
|
||||
# cryptol-2.5.0 doesn't want happy 1.19.6+.
|
||||
cryptol = super.cryptol.override { happy = self.happy_1_19_5; };
|
||||
# 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}/bin"
|
||||
done
|
||||
'';
|
||||
});
|
||||
|
||||
# Tests try to invoke external process and process == 1.4
|
||||
grakn = dontCheck (doJailbreak super.grakn);
|
||||
@@ -953,17 +944,13 @@ self: super: {
|
||||
# Tries to read a file it is not allowed to in the test suite
|
||||
load-env = dontCheck super.load-env;
|
||||
|
||||
# hledger needs a newer megaparsec version than we have in LTS 12.x.
|
||||
hledger-lib = super.hledger-lib.overrideScope (self: super: {
|
||||
# cassava-megaparsec = self.cassava-megaparsec_2_0_0;
|
||||
# hspec-megaparsec = self.hspec-megaparsec_2_0_0;
|
||||
# megaparsec = self.megaparsec_7_0_4;
|
||||
});
|
||||
|
||||
# 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; do
|
||||
mkdir -p $out/share/man/man$i
|
||||
@@ -974,7 +961,7 @@ self: super: {
|
||||
cp -v embeddedfiles/*.info* $out/share/info/
|
||||
'';
|
||||
});
|
||||
hledger-ui = (overrideCabal super.hledger-ui (drv: {
|
||||
hledger-ui = overrideCabal super.hledger-ui (drv: {
|
||||
postInstall = ''
|
||||
for i in $(seq 1 9); do
|
||||
for j in *.$i; do
|
||||
@@ -985,11 +972,6 @@ self: super: {
|
||||
mkdir -p $out/share/info
|
||||
cp -v *.info* $out/share/info/
|
||||
'';
|
||||
})).overrideScope (self: super: {
|
||||
# cassava-megaparsec = self.cassava-megaparsec_2_0_0;
|
||||
# config-ini = self.config-ini_0_2_4_0;
|
||||
# hspec-megaparsec = self.hspec-megaparsec_2_0_0;
|
||||
# megaparsec = self.megaparsec_7_0_4;
|
||||
});
|
||||
hledger-web = overrideCabal super.hledger-web (drv: {
|
||||
postInstall = ''
|
||||
@@ -1004,26 +986,19 @@ self: super: {
|
||||
'';
|
||||
});
|
||||
|
||||
# https://github.com/haskell-rewriting/term-rewriting/issues/11
|
||||
term-rewriting = dontCheck (doJailbreak super.term-rewriting);
|
||||
# https://github.com/haskell-rewriting/term-rewriting/pull/15
|
||||
# remove on next hackage update
|
||||
term-rewriting = doJailbreak super.term-rewriting;
|
||||
|
||||
# https://github.com/nick8325/twee/pull/1
|
||||
twee-lib = dontHaddock super.twee-lib;
|
||||
|
||||
# Needs older hlint
|
||||
hpio = dontCheck super.hpio;
|
||||
|
||||
# https://github.com/fpco/inline-c/issues/72
|
||||
inline-c = dontCheck super.inline-c;
|
||||
|
||||
# https://github.com/GaloisInc/pure-zlib/issues/6
|
||||
# https://github.com/GaloisInc/pure-zlib/pull/11
|
||||
pure-zlib = doJailbreak super.pure-zlib;
|
||||
|
||||
# https://github.com/strake/lenz-template.hs/issues/1
|
||||
# https://github.com/strake/lenz-template.hs/pull/2
|
||||
lenz-template = doJailbreak super.lenz-template;
|
||||
|
||||
# https://github.com/haskell-hvr/resolv/issues/1
|
||||
# https://github.com/haskell-hvr/resolv/pull/6
|
||||
resolv = dontCheck super.resolv;
|
||||
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)
|
||||
@@ -1044,14 +1019,11 @@ self: super: {
|
||||
# };
|
||||
|
||||
# https://github.com/dmwit/encoding/pull/3
|
||||
encoding = appendPatch super.encoding ./patches/encoding-Cabal-2.0.patch;
|
||||
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;
|
||||
|
||||
# https://github.com/fpco/streaming-commons/issues/49
|
||||
streaming-commons = dontCheck super.streaming-commons;
|
||||
|
||||
# Test suite depends on old QuickCheck 2.10.x.
|
||||
cassava = dontCheck super.cassava;
|
||||
|
||||
@@ -1070,9 +1042,11 @@ self: super: {
|
||||
dontCheck super.dhall
|
||||
);
|
||||
|
||||
# Missing test files in source distribution, fixed once 1.4.0 is bumped
|
||||
# https://github.com/dhall-lang/dhall-haskell/pull/997
|
||||
dhall-json =
|
||||
generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] (
|
||||
super.dhall-json
|
||||
dontCheck super.dhall-json
|
||||
);
|
||||
|
||||
dhall-nix =
|
||||
@@ -1080,29 +1054,23 @@ self: super: {
|
||||
super.dhall-nix
|
||||
);
|
||||
|
||||
# https://github.com/well-typed/cborg/issues/174
|
||||
cborg = doJailbreak super.cborg;
|
||||
serialise = doJailbreak (dontCheck super.serialise);
|
||||
|
||||
# https://github.com/phadej/tree-diff/issues/19
|
||||
tree-diff = doJailbreak super.tree-diff;
|
||||
# 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;
|
||||
|
||||
# haddock-api-2.22.0: Break out of “QuickCheck ==2.11.*, hspec >=2.4.4 && <2.6”
|
||||
haddock-api = dontHaddock (doJailbreak (super.haddock-api));
|
||||
|
||||
# The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
|
||||
haddock-library = doJailbreak (dontCheck super.haddock-library);
|
||||
# haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
|
||||
|
||||
# Break out of tasty >=0.10 && <1.2.
|
||||
aeson-compat = doJailbreak super.aeson-compat;
|
||||
|
||||
# Break out of pretty-show >=1.6 && <1.9
|
||||
hedgehog = doJailbreak super.hedgehog;
|
||||
|
||||
# Generate shell completion.
|
||||
cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
|
||||
stack = generateOptparseApplicativeCompletion "stack" super.stack;
|
||||
stack = generateOptparseApplicativeCompletion "stack" (super.stack.overrideScope (self: super: {
|
||||
}));
|
||||
|
||||
# musl fixes
|
||||
# dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test
|
||||
@@ -1139,29 +1107,9 @@ self: super: {
|
||||
# Generate shell completions
|
||||
purescript = generateOptparseApplicativeCompletion "purs" super.purescript;
|
||||
|
||||
# https://github.com/adinapoli/mandrill/pull/52
|
||||
mandrill = appendPatch super.mandrill (pkgs.fetchpatch {
|
||||
url = https://github.com/adinapoli/mandrill/commit/30356d9dfc025a5f35a156b17685241fc3882c55.patch;
|
||||
sha256 = "1qair09xs6vln3vsjz7sy4hhv037146zak4mq3iv6kdhmp606hqv";
|
||||
});
|
||||
|
||||
# https://github.com/Euterpea/Euterpea2/pull/22
|
||||
Euterpea = overrideSrc super.Euterpea {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Euterpea";
|
||||
repo = "Euterpea2";
|
||||
rev = "6f49b790adfb8b65d95a758116c20098fb0cd34c";
|
||||
sha256 = "0qz1svb96n42nmig16vyphwxas34hypgayvwc91ri7w7xd6yi1ba";
|
||||
};
|
||||
};
|
||||
|
||||
# https://github.com/kcsongor/generic-lens/pull/65
|
||||
generic-lens = dontCheck super.generic-lens;
|
||||
|
||||
xmonad-extras = doJailbreak super.xmonad-extras;
|
||||
|
||||
arbtt = doJailbreak super.arbtt;
|
||||
|
||||
# https://github.com/danfran/cabal-macosx/issues/13
|
||||
cabal-macosx = dontCheck super.cabal-macosx;
|
||||
|
||||
@@ -1175,44 +1123,23 @@ self: super: {
|
||||
# });
|
||||
libnix = dontCheck super.libnix;
|
||||
|
||||
# https://github.com/jmillikin/chell/issues/1
|
||||
chell = super.chell.override { patience = self.patience_0_1_1; };
|
||||
|
||||
# The test suite tries to mess with ALSA, which doesn't work in the build sandbox.
|
||||
xmobar = dontCheck super.xmobar;
|
||||
|
||||
# https://github.com/mgajda/json-autotype/issues/25
|
||||
json-autotype = dontCheck super.json-autotype;
|
||||
|
||||
# The LTS-12.x version doesn't suffice to build hlint, hoogle, etc.
|
||||
hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; });
|
||||
hoogle = super.hoogle.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_21_0; });
|
||||
|
||||
# Jailbreak tasty < 1.2: https://github.com/phadej/tdigest/issues/30
|
||||
tdigest = doJailbreak super.tdigest; # until tdigest > 0.2.1
|
||||
these = doJailbreak super.these; # until these >= 0.7.6
|
||||
insert-ordered-containers = appendPatch super.insert-ordered-containers ./patches/insert-ordered-containers-fix-test.patch;
|
||||
|
||||
uri-bytestring = appendPatch super.uri-bytestring (pkgs.fetchpatch {
|
||||
url = "https://github.com/Soostone/uri-bytestring/commit/e5c5602a97160a6a6304a24947e33e47c9155460.patch";
|
||||
sha256 = "1qwy8bj6vywhp0075dza8j90zrzsm3144qz3c703s9c4n6pg3gw4";
|
||||
});
|
||||
|
||||
# These patches contain fixes for 8.6 that should be safe for
|
||||
# earlier versions, but we need the relaxed version bounds in GHC
|
||||
# 8.4 builds. beam needs to release a round of updates that relax
|
||||
# bounds and include the 8.6 fixes:
|
||||
# https://github.com/tathougies/beam/issues/315
|
||||
beam-core = appendPatch super.beam-core ./patches/beam-core-fix-ghc-8.6.x-build.patch;
|
||||
beam-migrate = appendPatch super.beam-migrate ./patches/beam-migrate-fix-ghc-8.6.x-build.patch;
|
||||
beam-postgres = appendPatch super.beam-postgres ./patches/beam-postgres-fix-ghc-8.6.x-build.patch;
|
||||
beam-sqlite = appendPatch super.beam-sqlite ./patches/beam-sqlite-fix-ghc-8.6.x-build.patch;
|
||||
|
||||
# https://github.com/sighingnow/computations/pull/1
|
||||
primesieve = appendPatch super.primesieve (pkgs.fetchpatch {
|
||||
url = "https://github.com/sighingnow/computations/commit/1f96788367c879b999afe733e2fe28d919d17702.patch";
|
||||
sha256 = "0lrcmcrxp9imj9rfaq7mb0fn9mxms4gq4sz95n4san3dpd0qmj9x";
|
||||
stripLen = 1;
|
||||
# Requires pg_ctl command during tests
|
||||
beam-postgres = overrideCabal super.beam-postgres (drv: {
|
||||
testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql];
|
||||
});
|
||||
|
||||
# Fix for base >= 4.11
|
||||
@@ -1223,12 +1150,82 @@ self: super: {
|
||||
})];
|
||||
});
|
||||
|
||||
# Use latest pandoc despite what LTS says.
|
||||
# Test suite fails in both 2.5 and 2.6: https://github.com/jgm/pandoc/issues/5309.
|
||||
pandoc = doDistribute (dontCheck super.pandoc_2_6);
|
||||
pandoc-citeproc = self.pandoc-citeproc_0_16_1;
|
||||
# Remove unecessary constraint:
|
||||
# https://github.com/agrafix/superbuffer/pull/2
|
||||
superbuffer = overrideCabal super.superbuffer (drv: {
|
||||
postPatch = ''
|
||||
sed -i 's#QuickCheck < 2.10#QuickCheck < 2.13#' superbuffer.cabal
|
||||
'';
|
||||
});
|
||||
|
||||
# https://github.com/qfpl/tasty-hedgehog/issues/24
|
||||
tasty-hedgehog = dontCheck super.tasty-hedgehog;
|
||||
# test suite failure: https://github.com/jgm/pandoc/issues/5582
|
||||
pandoc = dontCheck super.pandoc;
|
||||
|
||||
# The latest release version is ancient. You really need this tool from git.
|
||||
haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
|
||||
(addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
|
||||
version = "20190814-git";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "haskell-CI";
|
||||
repo = "haskell-ci";
|
||||
rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556";
|
||||
sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k";
|
||||
};
|
||||
}) (with self; [temporary lattices Cabal_3_0_0_0]));
|
||||
|
||||
# Fix build with attr-2.4.48 (see #53716)
|
||||
xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
|
||||
|
||||
# These packages needs network 3.x, which is not in LTS-13.x.
|
||||
network-bsd_2_8_1_0 = super.network-bsd_2_8_1_0.override { network = self.network_3_0_1_1; };
|
||||
lambdabot-core = super.lambdabot-core.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
|
||||
lambdabot-reference-plugins = super.lambdabot-reference-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
|
||||
lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; });
|
||||
|
||||
# Some tests depend on a postgresql instance
|
||||
# Haddock failure: https://github.com/haskell/haddock/issues/979
|
||||
esqueleto = dontHaddock (dontCheck super.esqueleto);
|
||||
|
||||
# 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 = super.ats-pkg.override { dhall = self.dhall_1_25_0; };
|
||||
dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_25_0; };
|
||||
|
||||
# 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;
|
||||
|
||||
# need newer version of ghc-libparser
|
||||
hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_0_20190723; };
|
||||
|
||||
# https://github.com/sol/hpack/issues/366
|
||||
hpack = self.hpack_0_32_0;
|
||||
|
||||
# QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
|
||||
graphviz = dontCheck super.graphviz;
|
||||
|
||||
# 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/*; do
|
||||
export PATH="$i:$PATH"
|
||||
done
|
||||
'';
|
||||
});
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
||||
@@ -20,6 +20,7 @@ self: super: {
|
||||
ghc-boot = null;
|
||||
ghc-boot-th = null;
|
||||
ghc-compact = null;
|
||||
ghc-heap = null;
|
||||
ghc-prim = null;
|
||||
ghci = null;
|
||||
haskeline = null;
|
||||
@@ -38,17 +39,12 @@ self: super: {
|
||||
|
||||
# These are now core libraries in GHC 8.4.x.
|
||||
mtl = self.mtl_2_2_2;
|
||||
parsec = self.parsec_3_1_13_0;
|
||||
parsec = self.parsec_3_1_14_0;
|
||||
stm = self.stm_2_5_0_0;
|
||||
text = self.text_1_2_3_1;
|
||||
text = self.text_1_2_4_0;
|
||||
|
||||
# Make sure we can still build Cabal 1.x.
|
||||
Cabal_1_24_2_0 = overrideCabal super.Cabal_1_24_2_0 (drv: {
|
||||
prePatch = "sed -i -e 's/process.*< 1.5,/process,/g' Cabal.cabal";
|
||||
});
|
||||
|
||||
# Build with the latest Cabal version, which works best albeit not perfectly.
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_2_2_0_1; };
|
||||
# Needs Cabal 3.0.x.
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_0_0_0; };
|
||||
|
||||
# https://github.com/bmillwood/applicative-quoters/issues/6
|
||||
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
|
||||
@@ -89,10 +85,10 @@ self: super: {
|
||||
cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
|
||||
cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
|
||||
distribution-nixpkgs = super.distribution-nixpkgs.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
|
||||
hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
|
||||
stack = super.stack.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
|
||||
|
||||
# GHC 8.2 doesn't have semigroups included by default
|
||||
# Older GHC versions need these additional dependencies.
|
||||
ListLike = addBuildDepend super.ListLike self.semigroups;
|
||||
base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ self: super: {
|
||||
ghc-boot = null;
|
||||
ghc-boot-th = null;
|
||||
ghc-compact = null;
|
||||
ghc-heap = null;
|
||||
ghc-prim = null;
|
||||
ghci = null;
|
||||
haskeline = null;
|
||||
@@ -39,6 +40,14 @@ self: super: {
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Needs Cabal 3.0.x.
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_0_0_0; };
|
||||
|
||||
# Restricts aeson to <1.4
|
||||
# https://github.com/purescript/purescript/pull/3537
|
||||
purescript = doJailbreak super.purescript;
|
||||
|
||||
# https://github.com/jcristovao/enclosed-exceptions/issues/12
|
||||
enclosed-exceptions = dontCheck super.enclosed-exceptions;
|
||||
|
||||
@@ -63,15 +72,15 @@ self: super: {
|
||||
# more verbose but friendlier for Hydra.
|
||||
stack = (doJailbreak super.stack).override {
|
||||
Cabal = self.Cabal_2_4_1_0;
|
||||
hpack = self.hpack_0_31_1.override { Cabal = self.Cabal_2_4_1_0; };
|
||||
yaml = self.yaml_0_11_0_0;
|
||||
hpack = self.hpack.override { Cabal = self.Cabal_2_4_1_0; };
|
||||
hackage-security = self.hackage-security.override { Cabal = self.Cabal_2_4_1_0; };
|
||||
};
|
||||
hpack_0_31_1 = super.hpack_0_31_1.override {
|
||||
yaml = self.yaml_0_11_0_0;
|
||||
};
|
||||
|
||||
# cabal2nix doesn't list this because of a conditional on the GHC version.
|
||||
# Older GHC versions need these additional dependencies.
|
||||
aeson = addBuildDepend super.aeson self.contravariant;
|
||||
base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
|
||||
|
||||
# Newer versions don't compile.
|
||||
resolv = self.resolv_0_1_1_2;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 5.x.
|
||||
llvmPackages = pkgs.llvmPackages_5;
|
||||
# This compiler version needs llvm 6.x.
|
||||
llvmPackages = pkgs.llvmPackages_6;
|
||||
|
||||
# Disable GHC 8.6.x core libraries.
|
||||
array = null;
|
||||
@@ -41,11 +41,14 @@ self: super: {
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Needs Cabal 3.0.x.
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_0_0_0; };
|
||||
|
||||
# https://github.com/tibbe/unordered-containers/issues/214
|
||||
unordered-containers = dontCheck super.unordered-containers;
|
||||
|
||||
# Test suite does not compile.
|
||||
cereal = dontCheck super.cereal;
|
||||
data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x
|
||||
dates = doJailbreak super.dates; # base >=4.9 && <4.12
|
||||
Diff = dontCheck super.Diff;
|
||||
@@ -54,7 +57,6 @@ self: super: {
|
||||
hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
|
||||
http-api-data = doJailbreak super.http-api-data;
|
||||
persistent-sqlite = dontCheck super.persistent-sqlite;
|
||||
psqueues = dontCheck super.psqueues; # won't cope with QuickCheck 2.12.x
|
||||
system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience"
|
||||
unicode-transforms = dontCheck super.unicode-transforms;
|
||||
wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
|
||||
@@ -69,4 +71,28 @@ self: super: {
|
||||
# Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
|
||||
stack = doJailbreak super.stack;
|
||||
|
||||
# Needs a recent version from the "develop" branch of the upstream git
|
||||
# repository to compile with ghc 8.6.4.
|
||||
liquid-fixpoint = assert super.liquid-fixpoint.version == "0.7.0.7"; overrideSrc super.liquid-fixpoint {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ucsd-progsys";
|
||||
repo = "liquid-fixpoint";
|
||||
rev = "42c027ab9ae47907c588a2f1f9c05a5e0aa881e9";
|
||||
sha256 = "17qmzq1vx7h04yd38drr6sh6hys3q2rz62qh3pna9kbxlcnikkqf";
|
||||
};
|
||||
version = "0.8.0.2-pre-release";
|
||||
};
|
||||
liquidhaskell = assert super.liquidhaskell.version == "0.8.2.4"; overrideSrc super.liquidhaskell {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ucsd-progsys";
|
||||
repo = "liquidhaskell";
|
||||
rev = "46f11e8faef006e70d39572d08419283b1280b88";
|
||||
sha256 = "10z5r6g5acd43bsak762kwhy33ff262zmhs0wga545nbg29q1fyp";
|
||||
};
|
||||
version = "0.8.6.0-pre-release";
|
||||
};
|
||||
|
||||
# Newer versions don't compile.
|
||||
resolv = self.resolv_0_1_1_2;
|
||||
|
||||
}
|
||||
|
||||
172
pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Normal file
172
pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Normal file
@@ -0,0 +1,172 @@
|
||||
{ pkgs, haskellLib }:
|
||||
|
||||
with haskellLib;
|
||||
|
||||
self: super: {
|
||||
|
||||
# This compiler version needs llvm 7.x.
|
||||
llvmPackages = pkgs.llvmPackages_7;
|
||||
|
||||
# Disable GHC 8.8.x core libraries.
|
||||
array = null;
|
||||
base = null;
|
||||
binary = null;
|
||||
bytestring = null;
|
||||
Cabal = null;
|
||||
containers = null;
|
||||
deepseq = null;
|
||||
directory = null;
|
||||
filepath = null;
|
||||
ghc-boot = null;
|
||||
ghc-boot-th = null;
|
||||
ghc-compact = null;
|
||||
ghc-heap = null;
|
||||
ghc-prim = null;
|
||||
ghci = null;
|
||||
haskeline = null;
|
||||
hpc = null;
|
||||
integer-gmp = null;
|
||||
libiserv = null;
|
||||
mtl = null;
|
||||
parsec = null;
|
||||
pretty = null;
|
||||
process = null;
|
||||
rts = null;
|
||||
stm = null;
|
||||
template-haskell = null;
|
||||
terminfo = null;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Ignore overly restrictive upper version bounds.
|
||||
async = doJailbreak super.async;
|
||||
cabal-install = doJailbreak super.cabal-install;
|
||||
ChasingBottoms = doJailbreak super.ChasingBottoms;
|
||||
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
|
||||
Diff = dontCheck super.Diff;
|
||||
doctest = doJailbreak super.doctest;
|
||||
hashable = doJailbreak super.hashable;
|
||||
hashable-time = doJailbreak super.hashable-time;
|
||||
hledger-lib = doJailbreak super.hledger-lib; # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
|
||||
integer-logarithms = doJailbreak super.integer-logarithms;
|
||||
lucid = doJailbreak super.lucid;
|
||||
parallel = doJailbreak super.parallel;
|
||||
quickcheck-instances = doJailbreak super.quickcheck-instances;
|
||||
setlocale = doJailbreak super.setlocale;
|
||||
split = doJailbreak super.split;
|
||||
tasty-expected-failure = doJailbreak super.tasty-expected-failure;
|
||||
test-framework = doJailbreak super.test-framework;
|
||||
|
||||
# These packages don't work and need patching and/or an update.
|
||||
primitive = overrideSrc (doJailbreak super.primitive) {
|
||||
version = "20180530-git";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "haskell";
|
||||
repo = "primitive";
|
||||
rev = "97964182881aa0419546e0bb188b2d17e4468324";
|
||||
sha256 = "1p1pinca33vd10iy7hl20c1fc99vharcgcai6z3ngqbq50k2pd3q";
|
||||
};
|
||||
};
|
||||
vector-th-unbox = appendPatch super.vector-th-unbox (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/vector-th-unbox-0.2.1.6.patch";
|
||||
sha256 = "0169yf9ms1g5mmkc5l6hpffzm34zdrqdng4df02nbdmfgba45h19";
|
||||
});
|
||||
cabal-doctest = super.cabal-doctest_1_0_7;
|
||||
regex-base = overrideCabal (appendPatch super.regex-base (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-base-0.93.2.patch";
|
||||
sha256 = "01d1plrdx6hcspwn2h6y9pyi5366qk926vb5cl5qcl6x4m23l6y1";
|
||||
})) (drv: {
|
||||
preConfigure = "sed -i -e 's/base >=4 && < 4.13,/base,/' regex-base.cabal";
|
||||
});
|
||||
regex-posix = appendPatch super.regex-posix (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch";
|
||||
sha256 = "006yli58jpqp786zm1xlncjsilc38iv3a09r4pv94l587sdzasd2";
|
||||
});
|
||||
haskell-src-exts = appendPatch super.haskell-src-exts (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/haskell-src-exts-1.21.0.patch";
|
||||
sha256 = "0alb28hcsp774c9s73dgrajcb44vgv1xqfg2n5a9y2bpyngqscs3";
|
||||
});
|
||||
optparse-applicative = appendPatch (doJailbreak super.optparse-applicative) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch";
|
||||
sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y";
|
||||
});
|
||||
hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
|
||||
sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";
|
||||
});
|
||||
happy = appendPatch super.happy (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/happy-1.19.11.patch";
|
||||
sha256 = "16m659kxbq0s87ak2y1pqggfy67yfvcwc0zi3hcphf3v8735xhkk";
|
||||
});
|
||||
hedgehog = appendPatch super.hedgehog (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hedgehog-0.6.1.patch";
|
||||
sha256 = "04xwznd3lfgracfz68ls6vfm19rhq8fb74r6ii0grpv6cx4rr21i";
|
||||
});
|
||||
easytest = self.easytest_0_3;
|
||||
regex-tdfa = appendPatch super.regex-tdfa (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-tdfa-1.2.3.1.patch";
|
||||
sha256 = "1lhas4s2ms666prb475gaw2bqw1v4y8cxi66sy20j727sx7ppjs7";
|
||||
});
|
||||
attoparsec = appendPatch (doJailbreak super.attoparsec) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/attoparsec-0.13.2.2.patch";
|
||||
sha256 = "13i1p5g0xzxnv966nlyb77mfmxvg9jzbym1d36h1ajn045yf4igl";
|
||||
});
|
||||
cassava = appendPatch super.cassava (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cassava-0.5.1.0.patch";
|
||||
sha256 = "11scwwjp94si90vb8v5yr291g9qwv5l223z8y0g0lc63932bp63g";
|
||||
});
|
||||
shakespeare = appendPatch super.shakespeare (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shakespeare-2.0.20.patch";
|
||||
sha256 = "1dgx41ylahj4wk8r422aik0d7qdpawdga4gqz905nvlnhqjla58y";
|
||||
});
|
||||
socks = appendPatch super.socks (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/socks-0.6.0.patch";
|
||||
sha256 = "1dsqmx0sw62x4glh43c0sbizd2y00v5xybiqadn96v6pmfrap5cp";
|
||||
});
|
||||
lens = appendPatch (doJailbreak super.lens) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/lens-4.17.1.patch";
|
||||
sha256 = "0w89ipi6dfkx5vlw4a64hh6fd0bm9hg33mwpghliyyxik5jmilv1";
|
||||
});
|
||||
polyparse = appendPatch (doJailbreak super.polyparse) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/polyparse-1.12.1.patch";
|
||||
sha256 = "01b2gnsq0x4fd9na8zpk6pajym55mbz64hgzawlwxdw0y6681kr5";
|
||||
});
|
||||
foundation = dontCheck super.foundation;
|
||||
memory = overrideCabal (appendPatch super.memory (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/memory-0.14.18.patch";
|
||||
sha256 = "16ar8921s3bi31y1az9zgyg0iaxxc2wvvwqjnl11a17p03wi6b29";
|
||||
})) (drv: {
|
||||
editedCabalFile = null;
|
||||
preConfigure = ''
|
||||
cp -v ${pkgs.fetchurl {url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/memory-0.14.18.cabal"; sha256 = "1325wny0irnq51rz0f4xgkvm01p6n4z5jid2jgpkhjac8a2sdgwl";}} memory.cabal
|
||||
'';
|
||||
});
|
||||
chell = overrideCabal (doJailbreak super.chell) (_drv: {
|
||||
broken = false;
|
||||
});
|
||||
th-expand-syns = doJailbreak super.th-expand-syns;
|
||||
shelly = overrideCabal (appendPatch (doJailbreak super.shelly) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shelly-1.8.1.patch";
|
||||
sha256 = "1kglbwrr4ra81v9x3bfsk5l6pyl0my2a1zkr3qjjx7acn0dfpgbc";
|
||||
})) (drv: {
|
||||
editedCabalFile = null;
|
||||
preConfigure = ''
|
||||
cp -v ${pkgs.fetchurl {url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shelly-1.8.1.cabal"; sha256 = "0crf0m077wky76f5nav2p9q4fa5q4yhv5l4bq9hd073dzdaywhz0";}} shelly.cabal
|
||||
sed -i -e 's/< 1.9,/< 2,/' shelly.cabal # bump time version
|
||||
'';
|
||||
});
|
||||
system-fileio = doJailbreak super.system-fileio;
|
||||
yaml = self.yaml_0_11_1_2;
|
||||
haskell-src-meta = appendPatch (dontCheck (doJailbreak super.haskell-src-meta)) (pkgs.fetchpatch {
|
||||
url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/haskell-src-meta-0.8.2.patch";
|
||||
sha256 = "146im1amywyl29kcldvgrxpwj22lrpzxysl7vc8rmn3hrq130dyc";
|
||||
});
|
||||
asn1-encoding = appendPatch (dontCheck (doJailbreak super.asn1-encoding)) (pkgs.fetchpatch {
|
||||
url = "https://gitlab.haskell.org/ghc/head.hackage/raw/master/patches/asn1-encoding-0.9.5.patch";
|
||||
sha256 = "0a3159rnaw6shjzdm46799crd4pxh33s23qy51xa7z6nv5q8wsb5";
|
||||
});
|
||||
tls = self.tls_1_5_1;
|
||||
}
|
||||
@@ -52,7 +52,6 @@ self: super: {
|
||||
unordered-containers = dontCheck super.unordered-containers;
|
||||
|
||||
# Test suite does not compile.
|
||||
cereal = dontCheck super.cereal;
|
||||
data-clist = doJailbreak super.data-clist; # won't cope with QuickCheck 2.12.x
|
||||
dates = doJailbreak super.dates; # base >=4.9 && <4.12
|
||||
Diff = dontCheck super.Diff;
|
||||
@@ -60,7 +59,6 @@ self: super: {
|
||||
hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
|
||||
http-api-data = doJailbreak super.http-api-data;
|
||||
persistent-sqlite = dontCheck super.persistent-sqlite;
|
||||
psqueues = dontCheck super.psqueues; # won't cope with QuickCheck 2.12.x
|
||||
system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience"
|
||||
unicode-transforms = dontCheck super.unicode-transforms;
|
||||
wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -94,6 +94,14 @@ self: super: builtins.intersectAttrs super {
|
||||
# Won't find it's header files without help.
|
||||
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
|
||||
|
||||
cachix = overrideCabal (addBuildTools (enableSeparateBinOutput super.cachix) [pkgs.boost]) (drv: {
|
||||
postPatch = (drv.postPatch or "") + ''
|
||||
substituteInPlace cachix.cabal --replace "c++14" "c++17"
|
||||
'';
|
||||
});
|
||||
|
||||
ghcid = enableSeparateBinOutput super.ghcid;
|
||||
|
||||
hzk = overrideCabal super.hzk (drv: {
|
||||
preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
|
||||
configureFlags = "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper";
|
||||
@@ -128,17 +136,18 @@ self: super: builtins.intersectAttrs super {
|
||||
|
||||
# Prevents needing to add `security_tool` as a run-time dependency for
|
||||
# everything using x509-system to give access to the `security` executable.
|
||||
x509-system = if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
|
||||
then let inherit (pkgs.darwin) security_tool;
|
||||
in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
|
||||
# darwin.security_tool is broken in Mojave (#45042)
|
||||
x509-system =
|
||||
if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
|
||||
then
|
||||
# darwin.security_tool is broken in Mojave (#45042)
|
||||
|
||||
# We will use the system provided security for now.
|
||||
# Beware this WILL break in sandboxes!
|
||||
# We will use the system provided security for now.
|
||||
# Beware this WILL break in sandboxes!
|
||||
|
||||
# TODO(matthewbauer): If someone really needs this to work in sandboxes,
|
||||
# I think we can add a propagatedImpureHost dep here, but I’m hoping to
|
||||
# get a proper fix available soonish.
|
||||
# TODO(matthewbauer): If someone really needs this to work in sandboxes,
|
||||
# I think we can add a propagatedImpureHost dep here, but I’m hoping to
|
||||
# get a proper fix available soonish.
|
||||
overrideCabal super.x509-system (drv: {
|
||||
postPatch = (drv.postPatch or "") + ''
|
||||
substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security
|
||||
'';
|
||||
@@ -276,9 +285,7 @@ self: super: builtins.intersectAttrs super {
|
||||
let dontCheckDarwin = if pkgs.stdenv.isDarwin
|
||||
then dontCheck
|
||||
else pkgs.lib.id;
|
||||
in dontCheckDarwin (super.llvm-hs.override {
|
||||
llvm-config = pkgs.llvm_6;
|
||||
});
|
||||
in dontCheckDarwin (super.llvm-hs.override { llvm-config = pkgs.llvm_8; });
|
||||
|
||||
# Needs help finding LLVM.
|
||||
spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
|
||||
@@ -286,7 +293,7 @@ self: super: builtins.intersectAttrs super {
|
||||
# Tries to run GUI in tests
|
||||
leksah = dontCheck (overrideCabal super.leksah (drv: {
|
||||
executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [
|
||||
gnome3.defaultIconTheme # Fix error: Icon 'window-close' not present in theme ...
|
||||
gnome3.adwaita-icon-theme # Fix error: Icon 'window-close' not present in theme ...
|
||||
wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
|
||||
gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed
|
||||
]);
|
||||
@@ -487,6 +494,13 @@ self: super: builtins.intersectAttrs super {
|
||||
# https://github.com/plow-technologies/servant-streaming/issues/12
|
||||
servant-streaming-server = dontCheck super.servant-streaming-server;
|
||||
|
||||
# https://github.com/haskell-servant/servant/pull/1128
|
||||
servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.15" then
|
||||
appendPatch super.servant-client-core ./patches/servant-client-core-streamBody.patch
|
||||
else
|
||||
super.servant-client-core;
|
||||
|
||||
|
||||
# tests run executable, relying on PATH
|
||||
# without this, tests fail with "Couldn't launch intero process"
|
||||
intero = overrideCabal super.intero (drv: {
|
||||
@@ -495,6 +509,12 @@ self: super: builtins.intersectAttrs super {
|
||||
'';
|
||||
});
|
||||
|
||||
# Break infinite recursion cycle between QuickCheck and splitmix.
|
||||
splitmix = dontCheck super.splitmix;
|
||||
|
||||
# Break infinite recursion cycle between tasty and clock.
|
||||
clock = dontCheck super.clock;
|
||||
|
||||
# loc and loc-test depend on each other for testing. Break that infinite cycle:
|
||||
loc-test = super.loc-test.override { loc = dontCheck self.loc; };
|
||||
|
||||
@@ -516,10 +536,6 @@ self: super: builtins.intersectAttrs super {
|
||||
librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
|
||||
}));
|
||||
|
||||
# Doctests hang only when compiling with nix.
|
||||
# https://github.com/cdepillabout/termonad/issues/15
|
||||
termonad = dontCheck super.termonad;
|
||||
|
||||
# Expects z3 to be on path so we replace it with a hard
|
||||
sbv = overrideCabal super.sbv (drv: {
|
||||
postPatch = ''
|
||||
@@ -533,10 +549,7 @@ self: super: builtins.intersectAttrs super {
|
||||
let path = stdenv.lib.makeBinPath [ gcc ];
|
||||
in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: {
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/futhark-c \
|
||||
--prefix PATH : "${path}"
|
||||
|
||||
wrapProgram $out/bin/futhark-opencl \
|
||||
wrapProgram $out/bin/futhark \
|
||||
--prefix PATH : "${path}" \
|
||||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
|
||||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
|
||||
@@ -566,4 +579,18 @@ self: super: builtins.intersectAttrs super {
|
||||
# Avoid infitite recursion with tonatona.
|
||||
tonaparser = dontCheck super.tonaparser;
|
||||
|
||||
# Needs internet to run tests
|
||||
HTTP = dontCheck super.HTTP;
|
||||
|
||||
# Break infinite recursions.
|
||||
Dust-crypto = dontCheck super.Dust-crypto;
|
||||
nanospec = dontCheck super.nanospec;
|
||||
options = dontCheck super.options;
|
||||
snap-server = dontCheck super.snap-server;
|
||||
|
||||
# Tests require internet
|
||||
dhall_1_25_0 = dontCheck super.dhall_1_25_0;
|
||||
http-download = dontCheck super.http-download;
|
||||
pantry = dontCheck super.pantry;
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ in
|
||||
, buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
|
||||
, configureFlags ? []
|
||||
, buildFlags ? []
|
||||
, haddockFlags ? []
|
||||
, description ? ""
|
||||
, doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
|
||||
, doBenchmark ? false
|
||||
@@ -39,7 +40,7 @@ in
|
||||
# They must be propagated to the environment of any executable linking with the library
|
||||
, libraryFrameworkDepends ? [], executableFrameworkDepends ? []
|
||||
, homepage ? "https://hackage.haskell.org/package/${pname}"
|
||||
, platforms ? with stdenv.lib.platforms; unix ++ windows # GHC can cross-compile
|
||||
, platforms ? with stdenv.lib.platforms; all # GHC can cross-compile
|
||||
, hydraPlatforms ? null
|
||||
, hyperlinkSource ? true
|
||||
, isExecutable ? false, isLibrary ? !isExecutable
|
||||
@@ -72,6 +73,7 @@ in
|
||||
, coreSetup ? false # Use only core packages to build Setup.hs.
|
||||
, useCpphs ? false
|
||||
, hardeningDisable ? stdenv.lib.optional (ghc.isHaLVM or false) "all"
|
||||
, enableSeparateBinOutput ? false
|
||||
, enableSeparateDataOutput ? false
|
||||
, enableSeparateDocOutput ? doHaddock
|
||||
, # Don't fail at configure time if there are multiple versions of the
|
||||
@@ -79,6 +81,10 @@ in
|
||||
# built. Will delay failures, if any, to compile time.
|
||||
allowInconsistentDependencies ? false
|
||||
, maxBuildCores ? 4 # GHC usually suffers beyond -j4. https://ghc.haskell.org/trac/ghc/ticket/9221
|
||||
, # If set to true, this builds a pre-linked .o file for this Haskell library.
|
||||
# This can make it slightly faster to load this library into GHCi, but takes
|
||||
# extra disk space and compile time.
|
||||
enableLibraryForGhci ? false
|
||||
} @ args:
|
||||
|
||||
assert editedCabalFile != null -> revision != null;
|
||||
@@ -90,7 +96,7 @@ assert stdenv.hostPlatform.isWindows -> enableStaticLibraries == false;
|
||||
let
|
||||
|
||||
inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast
|
||||
concatStringsSep enableFeature optionalAttrs toUpper;
|
||||
concatStringsSep enableFeature optionalAttrs;
|
||||
|
||||
isGhcjs = ghc.isGhcjs or false;
|
||||
isHaLVM = ghc.isHaLVM or false;
|
||||
@@ -110,7 +116,9 @@ let
|
||||
# the target dir for haddock documentation
|
||||
docdir = docoutput: docoutput + "/share/doc/" + pname + "-" + version;
|
||||
|
||||
newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
|
||||
binDir = if enableSeparateBinOutput then "$bin/bin" else "$out/bin";
|
||||
|
||||
newCabalFileUrl = "mirror://hackage/${pname}-${version}/revision/${revision}.cabal";
|
||||
newCabalFile = fetchurl {
|
||||
url = newCabalFileUrl;
|
||||
sha256 = editedCabalFile;
|
||||
@@ -123,9 +131,13 @@ let
|
||||
'';
|
||||
|
||||
crossCabalFlags = [
|
||||
"--with-ghc=${ghc.targetPrefix}ghc"
|
||||
"--with-ghc=${ghcCommand}"
|
||||
"--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
|
||||
"--with-gcc=${stdenv.cc.targetPrefix}cc"
|
||||
# Pass the "wrong" C compiler rather than none at all so packages that just
|
||||
# use the C preproccessor still work, see
|
||||
# https://github.com/haskell/cabal/issues/6466 for details.
|
||||
"--with-gcc=${(if stdenv.hasCC then stdenv else buildPackages.stdenv).cc.targetPrefix}cc"
|
||||
] ++ optionals stdenv.hasCC [
|
||||
"--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
|
||||
"--with-ar=${stdenv.cc.bintools.targetPrefix}ar"
|
||||
# use the one that comes with the cross compiler.
|
||||
@@ -142,10 +154,15 @@ let
|
||||
buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags);
|
||||
|
||||
defaultConfigureFlags = [
|
||||
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$abi/\\$libname"
|
||||
"--verbose"
|
||||
"--prefix=$out"
|
||||
"--libdir=\\$prefix/lib/\\$compiler"
|
||||
"--libsubdir=\\$abi/\\$libname"
|
||||
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
|
||||
(optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
|
||||
] ++ optionals stdenv.hasCC [
|
||||
"--with-gcc=$CC" # Clang won't work without that extra information.
|
||||
] ++ [
|
||||
"--package-db=$packageConfDir"
|
||||
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
|
||||
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
|
||||
@@ -162,7 +179,7 @@ let
|
||||
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
|
||||
(enableFeature doBenchmark "benchmarks")
|
||||
"--enable-library-vanilla" # TODO: Should this be configurable?
|
||||
"--enable-library-for-ghci" # TODO: Should this be configurable?
|
||||
(enableFeature enableLibraryForGhci "library-for-ghci")
|
||||
] ++ optionals (enableDeadCodeElimination && (stdenv.lib.versionOlder "8.0.1" ghc.version)) [
|
||||
"--ghc-option=-split-sections"
|
||||
] ++ optionals dontStrip [
|
||||
@@ -172,7 +189,8 @@ let
|
||||
"--ghcjs"
|
||||
] ++ optionals isCross ([
|
||||
"--configure-option=--host=${stdenv.hostPlatform.config}"
|
||||
] ++ crossCabalFlags);
|
||||
] ++ crossCabalFlags
|
||||
) ++ optionals enableSeparateBinOutput ["--bindir=${binDir}"];
|
||||
|
||||
setupCompileFlags = [
|
||||
(optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir")
|
||||
@@ -211,7 +229,16 @@ let
|
||||
nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
|
||||
|
||||
buildPkgDb = ghcName: packageConfDir: ''
|
||||
if [ -d "$p/lib/${ghcName}/package.conf.d" ]; then
|
||||
# If this dependency has a package database, then copy the contents of it,
|
||||
# unless it is one of our GHCs. These can appear in our dependencies when
|
||||
# we are doing native builds, and they have package databases in them, but
|
||||
# we do not want to copy them over.
|
||||
#
|
||||
# We don't need to, since those packages will be provided by the GHC when
|
||||
# we compile with it, and doing so can result in having multiple copies of
|
||||
# e.g. Cabal in the database with the same name and version, which is
|
||||
# ambiguous.
|
||||
if [ -d "$p/lib/${ghcName}/package.conf.d" ] && [ "$p" != "${ghc}" ] && [ "$p" != "${nativeGhc}" ]; then
|
||||
cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf ${packageConfDir}/
|
||||
continue
|
||||
fi
|
||||
@@ -223,7 +250,10 @@ assert allPkgconfigDepends != [] -> pkgconfig != null;
|
||||
stdenv.mkDerivation ({
|
||||
name = "${pname}-${version}";
|
||||
|
||||
outputs = [ "out" ] ++ (optional enableSeparateDataOutput "data") ++ (optional enableSeparateDocOutput "doc");
|
||||
outputs = [ "out" ]
|
||||
++ (optional enableSeparateDataOutput "data")
|
||||
++ (optional enableSeparateDocOutput "doc")
|
||||
++ (optional enableSeparateBinOutput "bin");
|
||||
setOutputFlags = false;
|
||||
|
||||
pos = builtins.unsafeGetAttrPos "pname" args;
|
||||
@@ -372,7 +402,8 @@ stdenv.mkDerivation ({
|
||||
${optionalString (doHaddock && isLibrary) ''
|
||||
${setupCommand} haddock --html \
|
||||
${optionalString doHoogle "--hoogle"} \
|
||||
${optionalString (isLibrary && hyperlinkSource) "--hyperlink-source"}
|
||||
${optionalString (isLibrary && hyperlinkSource) "--hyperlink-source"} \
|
||||
${stdenv.lib.concatStringsSep " " haddockFlags}
|
||||
''}
|
||||
runHook postHaddock
|
||||
'';
|
||||
@@ -403,7 +434,7 @@ stdenv.mkDerivation ({
|
||||
find $packageConfDir -maxdepth 0 -empty -delete;
|
||||
''}
|
||||
${optionalString isGhcjs ''
|
||||
for exeDir in "$out/bin/"*.jsexe; do
|
||||
for exeDir in "${binDir}/"*.jsexe; do
|
||||
exe="''${exeDir%.jsexe}"
|
||||
printWords '#!${nodejs}/bin/node' > "$exe"
|
||||
echo >> "$exe"
|
||||
@@ -413,7 +444,7 @@ stdenv.mkDerivation ({
|
||||
''}
|
||||
${optionalString doCoverage "mkdir -p $out/share && cp -r dist/hpc $out/share"}
|
||||
${optionalString (enableSharedExecutables && isExecutable && !isGhcjs && stdenv.isDarwin && stdenv.lib.versionOlder ghc.version "7.10") ''
|
||||
for exe in "$out/bin/"* ; do
|
||||
for exe in "${binDir}/"* ; do
|
||||
install_name_tool -add_rpath "$out/lib/ghc-${ghc.version}/${pname}-${version}" "$exe"
|
||||
done
|
||||
''}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, cacert, stack, makeSetupHook, lib }@depArgs:
|
||||
|
||||
{ buildInputs ? []
|
||||
, nativeBuildInputs ? []
|
||||
, extraArgs ? []
|
||||
, LD_LIBRARY_PATH ? []
|
||||
, ghc ? depArgs.ghc
|
||||
@@ -22,7 +23,8 @@ in stdenv.mkDerivation (args // {
|
||||
buildInputs = buildInputs
|
||||
++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales;
|
||||
|
||||
nativeBuildInputs = [ ghc pkgconfig stack stackHook ];
|
||||
nativeBuildInputs = nativeBuildInputs
|
||||
++ [ ghc pkgconfig stack stackHook ];
|
||||
|
||||
STACK_PLATFORM_VARIANT = "nix";
|
||||
STACK_IN_NIX_SHELL = 1;
|
||||
|
||||
39444
pkgs/development/haskell-modules/hackage-packages.nix
generated
39444
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,8 @@
|
||||
# This will build mmorph and monadControl, and have the hoogle installation
|
||||
# refer to their documentation via symlink so they are not garbage collected.
|
||||
|
||||
{ lib, stdenv, hoogle, writeText, ghc
|
||||
{ lib, stdenv, buildPackages
|
||||
, hoogle, writeText, ghc
|
||||
, packages
|
||||
}:
|
||||
|
||||
@@ -53,15 +54,15 @@ let
|
||||
(map (lib.getOutput "doc") packages);
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
buildPackages.stdenv.mkDerivation {
|
||||
name = "hoogle-local-0.1";
|
||||
buildInputs = [ghc hoogle];
|
||||
|
||||
phases = [ "buildPhase" ];
|
||||
|
||||
inherit docPackages;
|
||||
|
||||
buildPhase = ''
|
||||
passAsFile = ["buildCommand"];
|
||||
|
||||
buildCommand = ''
|
||||
${lib.optionalString (packages != [] -> docPackages == [])
|
||||
("echo WARNING: localHoogle package list empty, even though"
|
||||
+ " the following were specified: "
|
||||
|
||||
@@ -161,7 +161,9 @@ rec {
|
||||
disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}";
|
||||
|
||||
markBroken = drv: overrideCabal drv (drv: { broken = true; hydraPlatforms = []; });
|
||||
unmarkBroken = drv: overrideCabal drv (drv: { broken = false; });
|
||||
markBrokenVersion = version: drv: assert drv.version == version; markBroken drv;
|
||||
markUnbroken = drv: overrideCabal drv (drv: { broken = false; });
|
||||
|
||||
enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; });
|
||||
disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; });
|
||||
@@ -181,6 +183,8 @@ rec {
|
||||
enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; });
|
||||
disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; });
|
||||
|
||||
enableSeparateBinOutput = drv: overrideCabal drv (drv: { enableSeparateBinOutput = true; });
|
||||
|
||||
appendPatch = drv: x: appendPatches drv [x];
|
||||
appendPatches = drv: xs: overrideCabal drv (drv: { patches = (drv.patches or []) ++ xs; });
|
||||
|
||||
|
||||
@@ -118,9 +118,10 @@ let
|
||||
inherit packages;
|
||||
};
|
||||
|
||||
# Use cabal2nix to create a default.nix for the package sources found at 'src'.
|
||||
haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
|
||||
let
|
||||
sha256Arg = if isNull sha256 then "--sha256=" else ''--sha256="${sha256}"'';
|
||||
sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"'';
|
||||
in pkgs.buildPackages.stdenv.mkDerivation {
|
||||
name = "cabal2nix-${name}";
|
||||
nativeBuildInputs = [ pkgs.buildPackages.cabal2nix ];
|
||||
@@ -174,16 +175,22 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
|
||||
|
||||
inherit (haskellLib) packageSourceOverrides;
|
||||
|
||||
# callHackage :: Text -> Text -> AttrSet -> HaskellPackage
|
||||
#
|
||||
# e.g., while overriding a package set:
|
||||
# '... foo = self.callHackage "foo" "1.5.3" {}; ...'
|
||||
callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
|
||||
|
||||
# callHackageDirect :: Text -> Text -> AttrSet -> HaskellPackage
|
||||
#
|
||||
# This function does not depend on all-cabal-hashes and therefore will work
|
||||
# for any version that has been released on hackage as opposed to only
|
||||
# versions released before whatever version of all-cabal-hashes you happen
|
||||
# to be currently using.
|
||||
callHackageDirect = {pkg, ver, sha256}@args:
|
||||
callHackageDirect = {pkg, ver, sha256}:
|
||||
let pkgver = "${pkg}-${ver}";
|
||||
in self.callCabal2nix pkg (pkgs.fetchzip {
|
||||
url = "http://hackage.haskell.org/package/${pkgver}/${pkgver}.tar.gz";
|
||||
url = "mirror://hackage/${pkgver}/${pkgver}.tar.gz";
|
||||
inherit sha256;
|
||||
});
|
||||
|
||||
|
||||
@@ -12,4 +12,5 @@ self: super: {
|
||||
|
||||
# https://github.com/channable/vaultenv/issues/1
|
||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||
|
||||
}
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
diff --git a/Setup.hs b/Setup.hs
|
||||
index ddf5a02..7ad1f26 100644
|
||||
--- a/Setup.hs
|
||||
+++ b/Setup.hs
|
||||
@@ -1,4 +1,4 @@
|
||||
-
|
||||
+{-# LANGUAGE CPP #-}
|
||||
import Control.Monad (when)
|
||||
import Language.Haskell.TH
|
||||
import Distribution.Simple (defaultMainWithHooks, simpleUserHooks, UserHooks(postConf), Args)
|
||||
@@ -6,14 +6,25 @@ import Distribution.Simple.Utils (cabalVersion)
|
||||
import Distribution.Simple.LocalBuildInfo
|
||||
import Distribution.Simple.Setup (ConfigFlags)
|
||||
import Distribution.Version (Version(..))
|
||||
+#if MIN_VERSION_Cabal(1,25,0)
|
||||
+import Distribution.Version (mkVersion)
|
||||
+#endif
|
||||
import Distribution.PackageDescription (PackageDescription)
|
||||
import Debug.Trace
|
||||
|
||||
+#if MIN_VERSION_Cabal(1,25,0)
|
||||
+versionBranch :: Version -> Version
|
||||
+versionBranch = id
|
||||
+#else
|
||||
+mkVersion :: [Int] -> Version
|
||||
+mkVersion vs = Version vs []
|
||||
+#endif
|
||||
+
|
||||
-- I couldn't figure out a way to do this check from the cabal file, so we drop down
|
||||
-- here to do it instead:
|
||||
checkGoodVersion :: IO ()
|
||||
checkGoodVersion =
|
||||
- if cabalVersion >= Version [1,17,0] []
|
||||
+ if cabalVersion >= mkVersion [1,17,0]
|
||||
then putStrLn (" [Setup.hs] This version of Cabal is ok for profiling: "++show cabalVersion)
|
||||
else error (" [Setup.hs] This package should not be used in profiling mode with cabal version "++
|
||||
show (versionBranch cabalVersion)++" < 1.17.0\n"++
|
||||
@@ -1,72 +0,0 @@
|
||||
diff --git a/beam-core/Database/Beam/Backend/SQL.hs b/beam-core/Database/Beam/Backend/SQL.hs
|
||||
index e2cd37d0..6f9db126 100644
|
||||
--- a/Database/Beam/Backend/SQL.hs
|
||||
+++ b/Database/Beam/Backend/SQL.hs
|
||||
@@ -10,6 +10,7 @@
|
||||
import Database.Beam.Backend.Types
|
||||
|
||||
import Control.Monad.IO.Class
|
||||
+import Control.Monad.Fail (MonadFail)
|
||||
|
||||
-- * MonadBeam class
|
||||
|
||||
@@ -29,7 +30,7 @@
|
||||
-- strategies. More complicated strategies (for example, Postgres's @COPY@)
|
||||
-- are supported in individual backends. See the documentation of those
|
||||
-- backends for more details.
|
||||
-class (BeamBackend be, Monad m, MonadIO m, Sql92SanityCheck syntax) =>
|
||||
+class (BeamBackend be, Monad m, MonadIO m, MonadFail m, Sql92SanityCheck syntax) =>
|
||||
MonadBeam syntax be handle m | m -> syntax be handle where
|
||||
|
||||
{-# MINIMAL withDatabaseDebug, runReturningMany #-}
|
||||
diff --git a/Database/Beam/Backend/SQL/Builder.hs b/Database/Beam/Backend/SQL/Builder.hs
|
||||
index 9e734036..e9849912 100644
|
||||
--- a/Database/Beam/Backend/SQL/Builder.hs
|
||||
+++ b/Database/Beam/Backend/SQL/Builder.hs
|
||||
@@ -33,6 +33,7 @@
|
||||
import Data.Hashable
|
||||
import Data.Int
|
||||
import Data.String
|
||||
+import qualified Control.Monad.Fail as Fail
|
||||
#if !MIN_VERSION_base(4, 11, 0)
|
||||
import Data.Semigroup
|
||||
#endif
|
||||
@@ -507,8 +508,10 @@
|
||||
type BackendFromField SqlSyntaxBackend = Trivial
|
||||
|
||||
newtype SqlSyntaxM a = SqlSyntaxM (IO a)
|
||||
- deriving (Applicative, Functor, Monad, MonadIO)
|
||||
+ deriving (Applicative, Functor, Monad, MonadIO, Fail.MonadFail)
|
||||
|
||||
instance MonadBeam SqlSyntaxBuilder SqlSyntaxBackend SqlSyntaxBackend SqlSyntaxM where
|
||||
- withDatabaseDebug _ _ _ = fail "absurd"
|
||||
- runReturningMany _ _ = fail "absurd"
|
||||
+ withDatabaseDebug _ _ _ = Fail.fail "absurd"
|
||||
+ runReturningMany _ _ = Fail.fail "absurd"
|
||||
+
|
||||
+
|
||||
diff --git a/Database/Beam/Schema/Lenses.hs b/Database/Beam/Schema/Lenses.hs
|
||||
index b21dddb6..5df0654c 100644
|
||||
--- a/Database/Beam/Schema/Lenses.hs
|
||||
+++ b/Database/Beam/Schema/Lenses.hs
|
||||
@@ -1,4 +1,5 @@
|
||||
{-# LANGUAGE PolyKinds #-}
|
||||
+{-# LANGUAGE UndecidableInstances #-}
|
||||
module Database.Beam.Schema.Lenses
|
||||
( tableLenses
|
||||
, TableLens(..)
|
||||
diff --git a/beam-core.cabal b/beam-core.cabal
|
||||
index 4bf4ffd9..251d4d85 100644
|
||||
--- a/beam-core.cabal
|
||||
+++ b/beam-core.cabal
|
||||
@@ -64,8 +64,8 @@
|
||||
time >=1.6 && <1.10,
|
||||
hashable >=1.1 && <1.3,
|
||||
network-uri >=2.6 && <2.7,
|
||||
- containers >=0.5 && <0.6,
|
||||
- vector-sized >=0.5 && <1.1,
|
||||
+ containers >=0.5 && <0.7,
|
||||
+ vector-sized >=0.5 && <1.3,
|
||||
tagged >=0.8 && <0.9
|
||||
Default-language: Haskell2010
|
||||
default-extensions: ScopedTypeVariables, OverloadedStrings, GADTs, RecursiveDo, FlexibleInstances, FlexibleContexts, TypeFamilies,
|
||||
@@ -1,29 +0,0 @@
|
||||
diff --git a/Database/Beam/Migrate/Generics/Types.hs b/Database/Beam/Migrate/Generics/Types.hs
|
||||
index 553e208b..0cf9b2c8 100644
|
||||
--- a/Database/Beam/Migrate/Generics/Types.hs
|
||||
+++ b/Database/Beam/Migrate/Generics/Types.hs
|
||||
@@ -1,3 +1,5 @@
|
||||
+{-# LANGUAGE UndecidableInstances #-}
|
||||
+
|
||||
module Database.Beam.Migrate.Generics.Types where
|
||||
|
||||
import Database.Beam.Migrate.Types
|
||||
diff --git a/beam-migrate.cabal b/beam-migrate.cabal
|
||||
index f53b280d..9cf3722c 100644
|
||||
--- a/beam-migrate.cabal
|
||||
+++ b/beam-migrate.cabal
|
||||
@@ -69,13 +69,12 @@ library
|
||||
mtl >=2.2 && <2.3,
|
||||
scientific >=0.3 && <0.4,
|
||||
vector >=0.11 && <0.13,
|
||||
- containers >=0.5 && <0.6,
|
||||
unordered-containers >=0.2 && <0.3,
|
||||
hashable >=1.2 && <1.3,
|
||||
parallel >=3.2 && <3.3,
|
||||
deepseq >=1.4 && <1.5,
|
||||
ghc-prim >=0.5 && <0.6,
|
||||
- containers >=0.5 && <0.6,
|
||||
+ containers >=0.5 && <0.7,
|
||||
haskell-src-exts >=1.18 && <1.21,
|
||||
pretty >=1.1 && <1.2,
|
||||
dependent-map >=0.2 && <0.3,
|
||||
@@ -1,45 +0,0 @@
|
||||
diff --git a/Database/Beam/Postgres/Connection.hs b/Database/Beam/Postgres/Connection.hs
|
||||
index 433f55b9..5836c53d 100644
|
||||
--- a/Database/Beam/Postgres/Connection.hs
|
||||
+++ b/Database/Beam/Postgres/Connection.hs
|
||||
@@ -52,6 +52,8 @@ import qualified Database.PostgreSQL.Simple.Types as Pg (Null(..), Query(..))
|
||||
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.State
|
||||
+import Control.Monad.Fail (MonadFail)
|
||||
+import qualified Control.Monad.Fail as Fail
|
||||
|
||||
import Data.ByteString (ByteString)
|
||||
import Data.ByteString.Builder (toLazyByteString, byteString)
|
||||
@@ -302,6 +304,9 @@ deriving instance Functor PgF
|
||||
newtype Pg a = Pg { runPg :: F PgF a }
|
||||
deriving (Monad, Applicative, Functor, MonadFree PgF)
|
||||
|
||||
+instance MonadFail Pg where
|
||||
+ fail e = fail $ "Internal Error with: " <> show e
|
||||
+
|
||||
instance MonadIO Pg where
|
||||
liftIO x = liftF (PgLiftIO x id)
|
||||
|
||||
diff --git a/beam-postgres.cabal b/beam-postgres.cabal
|
||||
index e14b84f5..d29a5b67 100644
|
||||
--- a/beam-postgres.cabal
|
||||
+++ b/beam-postgres.cabal
|
||||
@@ -31,7 +31,7 @@ library
|
||||
beam-migrate >=0.3 && <0.4,
|
||||
|
||||
postgresql-libpq >=0.8 && <0.10,
|
||||
- postgresql-simple >=0.5 && <0.6,
|
||||
+ postgresql-simple >=0.5 && <0.7,
|
||||
|
||||
text >=1.0 && <1.3,
|
||||
bytestring >=0.10 && <0.11,
|
||||
@@ -38,7 +38,7 @@ library
|
||||
|
||||
hashable >=1.1 && <1.3,
|
||||
lifted-base >=0.2 && <0.3,
|
||||
- free >=4.12 && <5.1,
|
||||
+ free >=4.12 && <5.2,
|
||||
time >=1.6 && <1.10,
|
||||
monad-control >=1.0 && <1.1,
|
||||
mtl >=2.1 && <2.3,
|
||||
@@ -1,21 +0,0 @@
|
||||
diff --git a/Database/Beam/Sqlite/Connection.hs b/Database/Beam/Sqlite/Connection.hs
|
||||
index f034b272..4e459ea3 100644
|
||||
--- a/Database/Beam/Sqlite/Connection.hs
|
||||
+++ b/Database/Beam/Sqlite/Connection.hs
|
||||
@@ -37,6 +37,7 @@ import Database.SQLite.Simple.Types (Null)
|
||||
|
||||
import Control.Exception (bracket_, onException, mask)
|
||||
import Control.Monad (forM_, replicateM_)
|
||||
+import Control.Monad.Fail (MonadFail)
|
||||
import Control.Monad.Free.Church
|
||||
import Control.Monad.IO.Class (MonadIO(..))
|
||||
import Control.Monad.Identity (Identity)
|
||||
@@ -143,7 +144,7 @@ newtype SqliteM a
|
||||
{ runSqliteM :: ReaderT (String -> IO (), Connection) IO a
|
||||
-- ^ Run an IO action with access to a SQLite connection and a debug logging
|
||||
-- function, called or each query submitted on the connection.
|
||||
- } deriving (Monad, Functor, Applicative, MonadIO)
|
||||
+ } deriving (Monad, Functor, Applicative, MonadIO, MonadFail)
|
||||
|
||||
newtype BeamSqliteParams = BeamSqliteParams [SQLData]
|
||||
instance ToRow BeamSqliteParams where
|
||||
@@ -1,11 +0,0 @@
|
||||
diff -ru3 graphviz.old/Data/GraphViz/Algorithms.hs graphviz/Data/GraphViz/Algorithms.hs
|
||||
--- graphviz.old/Data/GraphViz/Algorithms.hs 2015-05-18 15:21:38.379771357 +0300
|
||||
+++ graphviz/Data/GraphViz/Algorithms.hs 2015-05-18 15:01:01.940122684 +0300
|
||||
@@ -38,6 +38,7 @@
|
||||
import Data.GraphViz.Types.Canonical
|
||||
import Data.GraphViz.Types.Internal.Common
|
||||
|
||||
+import Prelude hiding (traverse)
|
||||
import Control.Arrow (first, second, (***))
|
||||
import Control.Monad (unless)
|
||||
import Control.Monad.Trans.State
|
||||
@@ -1,40 +0,0 @@
|
||||
diff --git a/test/HaRePluginSpec.hs b/test/HaRePluginSpec.hs
|
||||
index 039c094..d0d1fa4 100644
|
||||
--- a/test/HaRePluginSpec.hs
|
||||
+++ b/test/HaRePluginSpec.hs
|
||||
@@ -326,35 +326,6 @@ hareSpec = do
|
||||
$ List [TextEdit (Range (Position 4 0) (Position 8 12))
|
||||
"parseStr = char '\"' *> (many1 (noneOf \"\\\"\")) <* char '\"'"])
|
||||
Nothing)
|
||||
- it "finds definition across components" $ do
|
||||
- let u = filePathToUri "./app/Main.hs"
|
||||
- let lreq = setTypecheckedModule u
|
||||
- let req = findDef u (toPos (7,8))
|
||||
- r <- dispatchRequestPGoto $ lreq >> req
|
||||
- r `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd </> "test/testdata/gototest/src/Lib.hs")
|
||||
- (Range (toPos (6,1)) (toPos (6,9)))]
|
||||
- let req2 = findDef u (toPos (7,20))
|
||||
- r2 <- dispatchRequestPGoto $ lreq >> req2
|
||||
- r2 `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd </> "test/testdata/gototest/src/Lib2.hs")
|
||||
- (Range (toPos (5,1)) (toPos (5,2)))]
|
||||
- it "finds definition in the same component" $ do
|
||||
- let u = filePathToUri "./src/Lib2.hs"
|
||||
- let lreq = setTypecheckedModule u
|
||||
- let req = findDef u (toPos (6,5))
|
||||
- r <- dispatchRequestPGoto $ lreq >> req
|
||||
- r `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd </> "test/testdata/gototest/src/Lib.hs")
|
||||
- (Range (toPos (6,1)) (toPos (6,9)))]
|
||||
- it "finds local definitions" $ do
|
||||
- let u = filePathToUri "./src/Lib2.hs"
|
||||
- let lreq = setTypecheckedModule u
|
||||
- let req = findDef u (toPos (7,11))
|
||||
- r <- dispatchRequestPGoto $ lreq >> req
|
||||
- r `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd </> "test/testdata/gototest/src/Lib2.hs")
|
||||
- (Range (toPos (10,9)) (toPos (10,10)))]
|
||||
- let req2 = findDef u (toPos (10,13))
|
||||
- r2 <- dispatchRequestPGoto $ lreq >> req2
|
||||
- r2 `shouldBe` IdeResponseOk [Location (filePathToUri $ cwd </> "test/testdata/gototest/src/Lib2.hs")
|
||||
- (Range (toPos (9,9)) (toPos (9,10)))]
|
||||
|
||||
|
||||
-- ---------------------------------
|
||||
@@ -1,25 +0,0 @@
|
||||
diff --git a/insert-ordered-containers.cabal b/insert-ordered-containers.cabal
|
||||
index 0e8923a..bfbbec4 100644
|
||||
--- a/insert-ordered-containers.cabal
|
||||
+++ b/insert-ordered-containers.cabal
|
||||
@@ -21,8 +21,8 @@ tested-with:
|
||||
GHC==7.10.3,
|
||||
GHC==8.0.1,
|
||||
GHC==8.2.2,
|
||||
- GHC==8.4.3,
|
||||
- GHC==8.6.1
|
||||
+ GHC==8.4.4,
|
||||
+ GHC==8.6.3
|
||||
|
||||
extra-source-files:
|
||||
CHANGELOG.md
|
||||
@@ -70,7 +70,7 @@ test-suite ins-ord-containers-tests
|
||||
, unordered-containers
|
||||
, base
|
||||
, insert-ordered-containers
|
||||
- , tasty >= 0.10.1.2 && <1.2
|
||||
+ , tasty >= 0.10.1.2 && <1.3
|
||||
, tasty-quickcheck >= 0.8.3.2 && <0.11
|
||||
, QuickCheck >=2.7.6 && <2.13
|
||||
default-language: Haskell2010
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
index 60e134c..246d8ca 100644
|
||||
--- lambdabot-core/src/Lambdabot/Config.hs
|
||||
+++ lambdabot-core/src/Lambdabot/Config.hs
|
||||
@@ -29,9 +29,9 @@ import Data.Typeable
|
||||
import Data.Generics (everywhere, mkT)
|
||||
import Language.Haskell.TH
|
||||
|
||||
-data Config t where Config :: (Typeable1 k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t
|
||||
+data Config t where Config :: (Typeable k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t
|
||||
|
||||
-cast1 :: (Typeable1 f, Typeable1 g) => f a -> Maybe (g a)
|
||||
+cast1 :: (Typeable f, Typeable g) => f a -> Maybe (g a)
|
||||
cast1 = fmap runIdentity . gcast1 . Identity
|
||||
|
||||
instance GEq Config where
|
||||
@@ -0,0 +1,82 @@
|
||||
diff --git a/src/Servant/Client/Core/Internal/HasClient.hs b/src/Servant/Client/Core/Internal/HasClient.hs
|
||||
index 712007006..6be92ec6d 100644
|
||||
--- a/src/Servant/Client/Core/Internal/HasClient.hs
|
||||
+++ b/src/Servant/Client/Core/Internal/HasClient.hs
|
||||
@@ -16,6 +16,8 @@ module Servant.Client.Core.Internal.HasClient where
|
||||
import Prelude ()
|
||||
import Prelude.Compat
|
||||
|
||||
+import Control.Concurrent.MVar
|
||||
+ (modifyMVar, newMVar)
|
||||
import qualified Data.ByteString as BS
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import Data.Foldable
|
||||
@@ -36,13 +38,14 @@ import qualified Network.HTTP.Types as H
|
||||
import Servant.API
|
||||
((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
|
||||
BuildHeadersTo (..), Capture', CaptureAll, Description,
|
||||
- EmptyAPI, FramingUnrender (..), FromSourceIO (..), Header',
|
||||
- Headers (..), HttpVersion, IsSecure, MimeRender (mimeRender),
|
||||
+ EmptyAPI, FramingRender (..), FramingUnrender (..),
|
||||
+ FromSourceIO (..), Header', Headers (..), HttpVersion,
|
||||
+ IsSecure, MimeRender (mimeRender),
|
||||
MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
|
||||
QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
|
||||
ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData,
|
||||
- Vault, Verb, WithNamedContext, contentType, getHeadersHList,
|
||||
- getResponse, toQueryParam, toUrlPiece)
|
||||
+ ToSourceIO (..), Vault, Verb, WithNamedContext, contentType,
|
||||
+ getHeadersHList, getResponse, toQueryParam, toUrlPiece)
|
||||
import Servant.API.ContentTypes
|
||||
(contentTypes)
|
||||
import Servant.API.Modifiers
|
||||
@@ -538,7 +541,7 @@ instance (MimeRender ct a, HasClient m api)
|
||||
hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
|
||||
|
||||
instance
|
||||
- ( HasClient m api
|
||||
+ ( HasClient m api, MimeRender ctype chunk, FramingRender framing, ToSourceIO chunk a
|
||||
) => HasClient m (StreamBody' mods framing ctype a :> api)
|
||||
where
|
||||
|
||||
@@ -547,7 +550,39 @@ instance
|
||||
hoistClientMonad pm _ f cl = \a ->
|
||||
hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
|
||||
|
||||
- clientWithRoute _pm Proxy _req _body = error "HasClient @StreamBody"
|
||||
+ clientWithRoute pm Proxy req body
|
||||
+ = clientWithRoute pm (Proxy :: Proxy api)
|
||||
+ $ setRequestBody (RequestBodyStreamChunked givesPopper) (contentType ctypeP) req
|
||||
+ where
|
||||
+ ctypeP = Proxy :: Proxy ctype
|
||||
+ framingP = Proxy :: Proxy framing
|
||||
+
|
||||
+ sourceIO = framingRender
|
||||
+ framingP
|
||||
+ (mimeRender ctypeP :: chunk -> BL.ByteString)
|
||||
+ (toSourceIO body)
|
||||
+
|
||||
+ -- not pretty.
|
||||
+ givesPopper :: (IO BS.ByteString -> IO ()) -> IO ()
|
||||
+ givesPopper needsPopper = S.unSourceT sourceIO $ \step0 -> do
|
||||
+ ref <- newMVar step0
|
||||
+
|
||||
+ -- Note sure we need locking, but it's feels safer.
|
||||
+ let popper :: IO BS.ByteString
|
||||
+ popper = modifyMVar ref nextBs
|
||||
+
|
||||
+ needsPopper popper
|
||||
+
|
||||
+ nextBs S.Stop = return (S.Stop, BS.empty)
|
||||
+ nextBs (S.Error err) = fail err
|
||||
+ nextBs (S.Skip s) = nextBs s
|
||||
+ nextBs (S.Effect ms) = ms >>= nextBs
|
||||
+ nextBs (S.Yield lbs s) = case BL.toChunks lbs of
|
||||
+ [] -> nextBs s
|
||||
+ (x:xs) | BS.null x -> nextBs step'
|
||||
+ | otherwise -> return (step', x)
|
||||
+ where
|
||||
+ step' = S.Yield (BL.fromChunks xs) s
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
diff --git a/System/Xattr.hsc b/System/Xattr.hsc
|
||||
index adaf9cb..9b49996 100644
|
||||
--- a/System/Xattr.hsc
|
||||
+++ b/System/Xattr.hsc
|
||||
@@ -45,11 +45,7 @@ module System.Xattr
|
||||
where
|
||||
|
||||
#include <sys/types.h>
|
||||
-#ifdef __APPLE__
|
||||
#include <sys/xattr.h>
|
||||
-#else
|
||||
-#include <attr/xattr.h>
|
||||
-#endif
|
||||
|
||||
import Data.Functor ((<$>))
|
||||
import Foreign.C
|
||||
@@ -1,107 +0,0 @@
|
||||
From 86595e193e8d46c769ab2a1cee961e8e04dfd1b9 Mon Sep 17 00:00:00 2001
|
||||
From: Michiel Derhaeg <derhaeg.michiel@gmail.com>
|
||||
Date: Tue, 20 Mar 2018 22:06:18 +0100
|
||||
Subject: [PATCH] update to work with GHC 8.4.1
|
||||
|
||||
---
|
||||
XMonad/Hooks/FadeWindows.hs | 6 +++++-
|
||||
XMonad/Hooks/WallpaperSetter.hs | 6 +++++-
|
||||
XMonad/Layout/Mosaic.hs | 6 +++++-
|
||||
xmonad-contrib.cabal | 5 +++--
|
||||
5 files changed, 33 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/XMonad/Hooks/FadeWindows.hs b/XMonad/Hooks/FadeWindows.hs
|
||||
index 4b8e62b6..01d06792 100644
|
||||
--- a/XMonad/Hooks/FadeWindows.hs
|
||||
+++ b/XMonad/Hooks/FadeWindows.hs
|
||||
@@ -61,7 +61,8 @@ import Control.Monad.Reader (ask
|
||||
,asks)
|
||||
import Control.Monad.State (gets)
|
||||
import qualified Data.Map as M
|
||||
-import Data.Monoid
|
||||
+import Data.Monoid hiding ((<>))
|
||||
+import Data.Semigroup
|
||||
|
||||
import Graphics.X11.Xlib.Extras (Event(..))
|
||||
|
||||
@@ -134,6 +135,9 @@ instance Monoid Opacity where
|
||||
r `mappend` OEmpty = r
|
||||
_ `mappend` r = r
|
||||
|
||||
+instance Semigroup Opacity where
|
||||
+ (<>) = mappend
|
||||
+
|
||||
-- | A FadeHook is similar to a ManageHook, but records window opacity.
|
||||
type FadeHook = Query Opacity
|
||||
|
||||
diff --git a/XMonad/Hooks/WallpaperSetter.hs b/XMonad/Hooks/WallpaperSetter.hs
|
||||
index 00a3b1c3..d4f5ccb2 100644
|
||||
--- a/XMonad/Hooks/WallpaperSetter.hs
|
||||
+++ b/XMonad/Hooks/WallpaperSetter.hs
|
||||
@@ -41,7 +41,8 @@ import Data.Ord (comparing)
|
||||
import Control.Monad
|
||||
import Control.Applicative
|
||||
import Data.Maybe
|
||||
-import Data.Monoid
|
||||
+import Data.Monoid hiding ((<>))
|
||||
+import Data.Semigroup
|
||||
|
||||
-- $usage
|
||||
-- This module requires imagemagick and feh to be installed, as these are utilized
|
||||
@@ -86,6 +87,9 @@ instance Monoid WallpaperList where
|
||||
mappend (WallpaperList w1) (WallpaperList w2) =
|
||||
WallpaperList $ M.toList $ (M.fromList w2) `M.union` (M.fromList w1)
|
||||
|
||||
+instance Semigroup WallpaperList where
|
||||
+ (<>) = mappend
|
||||
+
|
||||
-- | Complete wallpaper configuration passed to the hook
|
||||
data WallpaperConf = WallpaperConf {
|
||||
wallpaperBaseDir :: FilePath -- ^ Where the wallpapers reside (if empty, will look in \~\/.wallpapers/)
|
||||
diff --git a/XMonad/Layout/Mosaic.hs b/XMonad/Layout/Mosaic.hs
|
||||
index 05655d4c..da44fc50 100644
|
||||
--- a/XMonad/Layout/Mosaic.hs
|
||||
+++ b/XMonad/Layout/Mosaic.hs
|
||||
@@ -38,7 +38,8 @@ import Control.Monad(mplus)
|
||||
import Data.Foldable(Foldable,foldMap, sum)
|
||||
import Data.Function(on)
|
||||
import Data.List(sortBy)
|
||||
-import Data.Monoid(Monoid,mempty, mappend)
|
||||
+import Data.Monoid(Monoid,mempty, mappend, (<>))
|
||||
+import Data.Semigroup
|
||||
|
||||
|
||||
-- $usage
|
||||
@@ -202,6 +203,9 @@ instance Monoid (Tree a) where
|
||||
mappend x Empty = x
|
||||
mappend x y = Branch x y
|
||||
|
||||
+instance Semigroup (Tree a) where
|
||||
+ (<>) = mappend
|
||||
+
|
||||
makeTree :: (Num a1, Ord a1) => (a -> a1) -> [a] -> Tree a
|
||||
makeTree _ [] = Empty
|
||||
makeTree _ [x] = Leaf x
|
||||
diff --git a/xmonad-contrib.cabal b/xmonad-contrib.cabal
|
||||
index dde3ccda..c401c6e6 100644
|
||||
--- a/xmonad-contrib.cabal
|
||||
+++ b/xmonad-contrib.cabal
|
||||
@@ -36,7 +36,7 @@ cabal-version: >= 1.6
|
||||
build-type: Simple
|
||||
bug-reports: https://github.com/xmonad/xmonad-contrib/issues
|
||||
|
||||
-tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1
|
||||
+tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.1, GHC==8.2.2, GHC==8.4.1
|
||||
|
||||
source-repository head
|
||||
type: git
|
||||
@@ -66,7 +66,8 @@ library
|
||||
unix,
|
||||
X11>=1.6.1 && < 1.9,
|
||||
xmonad>=0.13 && < 0.14,
|
||||
- utf8-string
|
||||
+ utf8-string,
|
||||
+ semigroups
|
||||
|
||||
if flag(use_xft)
|
||||
build-depends: X11-xft >= 0.2
|
||||
@@ -1,11 +1,11 @@
|
||||
addStackArgs () {
|
||||
if [ -d "$1/lib" ] && [[ "$STACK_IN_NIX_EXTRA_ARGS" != *"--extra-lib-dirs=$1/lib"* ]]; then
|
||||
if [ -n "$(echo $1/lib/lib*)" ]; then
|
||||
STACK_IN_NIX_EXTRA_ARGS+=" --extra-lib-dirs=$1/lib"
|
||||
fi
|
||||
|
||||
if [ -d "$1/include" ] && [[ "$STACK_IN_NIX_EXTRA_ARGS" != *"--extra-include-dirs=$1/include"* ]]; then
|
||||
if [ -d "$1/include" ]; then
|
||||
STACK_IN_NIX_EXTRA_ARGS+=" --extra-include-dirs=$1/include"
|
||||
fi
|
||||
}
|
||||
|
||||
addEnvHooks "$hostOffset" addStackArgs
|
||||
addEnvHooks "$targetOffset" addStackArgs
|
||||
|
||||
Reference in New Issue
Block a user