{ pkgs }: with import ./lib.nix { inherit pkgs; }; self: super: { # Suitable LLVM version. llvmPackages = pkgs.llvmPackages_35; # Disable GHC 7.10.x core libraries. array = null; base = null; binary = null; bin-package-db = null; bytestring = null; Cabal = null; containers = null; deepseq = null; directory = null; filepath = null; ghc-prim = null; haskeline = null; hoopl = null; hpc = null; integer-gmp = null; pretty = null; process = null; rts = null; template-haskell = null; terminfo = null; time = null; transformers = null; unix = null; xhtml = null; # should be fixed in versions > 0.6 pandoc-citeproc = overrideCabal super.pandoc-citeproc (drv: { patches = [ (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/4e4f9c2.patch"; sha256 = "18b08k56g5q4zz6jxczkrddblyn52vmd0811n1icfdpzqhgykn4p"; }) (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/34cc147.patch"; sha256 = "09vrdvg5w14qckn154zlxvk6i2ikmmhpsl9mxycxkql3rl4dqam3"; }) (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/8242c70.patch"; sha256 = "1lqpwxzz2www81w4mym75z36bsavqfj67hyvzn20ffvxq42yw7ry"; }) (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/e59f88d.patch"; sha256 = "05699hj3qa2vrfdnikj7rzmc2ajrkd7p8yd4cjlhmqq9asq90xzb"; }) (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/ae6ca86.patch"; sha256 = "19cag39k5s7iqagpvss9c2ny5g0lwnrawaqcc0labihc1a181k8l"; }) (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/f5a9fc7.patch"; sha256 = "08lsinh3mkjpz3cqj5i1vcnzkyl07jp38qcjcwcw7m2b7gsjbpvm"; }) (pkgs.fetchpatch { url = "https://github.com/jgm/pandoc-citeproc/commit/780a554.patch"; sha256 = "1kfn0mcp3vp32c9w8gyz0p0jv0xn90as9mxm8a2lmjng52jlzvy4"; }) ]; }); # ekmett/linear#74 linear = overrideCabal super.linear (drv: { prePatch = "sed -i 's/-Werror//g' linear.cabal"; }); # Cabal_1_22_1_1 requires filepath >=1 && <1.4 cabal-install = dontCheck (super.cabal-install.override { Cabal = null; }); HStringTemplate = self.HStringTemplate_0_8_3; # We have Cabal 1.22.x. jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; }; # GHC 7.10.x's Haddock binary cannot generate hoogle files. # https://ghc.haskell.org/trac/ghc/ticket/9921 mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; }); # haddock: No input file(s). nats = dontHaddock super.nats; bytestring-builder = dontHaddock super.bytestring-builder; # We have time 1.5 aeson = disableCabalFlag super.aeson "old-locale"; # requires filepath >=1.1 && <1.4 Glob = doJailbreak super.Glob; # Setup: At least the following dependencies are missing: base <4.8 hspec-expectations = overrideCabal super.hspec-expectations (drv: { patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal"; }); utf8-string = overrideCabal super.utf8-string (drv: { patchPhase = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal"; }); esqueleto = doJailbreak super.esqueleto; pointfree = doJailbreak super.pointfree; # acid-state/safecopy#25 acid-state/safecopy#26 safecopy = dontCheck (super.safecopy); # bos/attoparsec#92 attoparsec = dontCheck super.attoparsec; # Test suite fails with some (seemingly harmless) error. # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24 syb = dontCheck super.syb; # Test suite has stricter version bounds retry = dontCheck super.retry; # Test suite fails with time >= 1.5 http-date = dontCheck super.http-date; # Version 1.19.5 fails its test suite. happy = dontCheck super.happy; # Test suite fails in "/tokens_bytestring_unicode.g.bin". alex = dontCheck super.alex; # TODO: update generation code in cabal2nix haddock-library = self.haddock-library_1_2_0; # Upstream was notified about the over-specified constraint on 'base' # but refused to do anything about it because he "doesn't want to # support a moving target". Go figure. barecheck = doJailbreak super.barecheck; syb-with-class = appendPatch super.syb-with-class (pkgs.fetchpatch { url = "https://github.com/seereason/syb-with-class/compare/adc86a9...719e567.patch"; sha256 = "1lwwvxyhxcmppdapbgpfhwi7xc2z78qir03xjrpzab79p2qyq7br"; }); # https://github.com/kazu-yamamoto/unix-time/issues/30 unix-time = dontCheck super.unix-time; # Until the changes have been pushed to Hackage ghc-events = appendPatch super.ghc-events (pkgs.fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/haskell/ghc-events/pull/8.patch"; sha256 = "1k881jrvzfvs761jgfhf5nsbmbc33c9333l4s0f5088p46ff2n1l"; }); dependent-sum-template = appendPatch super.dependent-sum-template (pkgs.fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/mokus0/dependent-sum-template/pull/4.patch"; sha256 = "1yb1ny4ckl4d3sf4xnvpbsa9rw2dficzgipijs5s3729dnsc3rb0"; }); mueval = appendPatch super.mueval (pkgs.fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/gwern/mueval/pull/10.patch"; sha256 = "1gs8p89d1qsrd1qycbhf6kv4qw0sbb8m6dy106dqkmdzcjzcyq74"; }); # Already applied in darcs repository. gnuplot = appendPatch super.gnuplot ./gnuplot-fix-new-time.patch; ghcjs-prim = self.callPackage ({ mkDerivation, fetchgit, primitive }: mkDerivation { pname = "ghcjs-prim"; version = "0.1.0.0"; src = fetchgit { url = git://github.com/ghcjs/ghcjs-prim.git; rev = "ca08e46257dc276e01d08fb47a693024bae001fa"; # ghc-7.10 branch sha256 = "0w7sqzp5p70yhmdhqasgkqbf3b61wb24djlavwil2j8ry9y472w3"; }; buildDepends = [ primitive ]; license = pkgs.stdenv.lib.licenses.bsd3; }) {}; # diagrams/monoid-extras#19 monoid-extras = overrideCabal super.monoid-extras (drv: { prePatch = "sed -i 's|4\.8|4.9|' monoid-extras.cabal"; }); # diagrams/statestack#5 statestack = overrideCabal super.statestack (drv: { prePatch = "sed -i 's|4\.8|4.9|' statestack.cabal"; }); # diagrams/diagrams-core#83 diagrams-core = overrideCabal super.diagrams-core (drv: { prePatch = "sed -i 's|4\.8|4.9|' diagrams-core.cabal"; }); # diagrams/diagrams-core#83 diagrams-lib = overrideCabal super.diagrams-lib (drv: { prePatch = "sed -i 's|4\.8|4.9|' diagrams-lib.cabal"; patches = [ ./diagrams-lib-flexible-contexts.patch ]; }); # https://github.com/mokus0/misfortune/pull/1 misfortune = appendPatch super.misfortune (pkgs.fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/mokus0/misfortune/pull/1.patch"; sha256 = "15frwdallm3i6k7mil26bbjd4wl6k9h20ixf3cmyris3q3jhlcfh"; }); timezone-series = doJailbreak super.timezone-series; timezone-olson = doJailbreak super.timezone-olson; libmpd = dontCheck super.libmpd; xmonad-extras = overrideCabal super.xmonad-extras (drv: { postPatch = '' sed -i -e "s,<\*,<ยค,g" XMonad/Actions/Volume.hs ''; }); # Workaround for a workaround, see comment for "ghcjs" flag. jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs"; in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3 self.webkitgtk3-javascriptcore ]; # Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116 lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch; # https://github.com/haskell-infra/hackage-trustees/issues/24 brainfuck = appendPatch super.brainfuck ./brainfuck-fix-ghc710.patch; unlambda = appendPatch super.unlambda ./unlambda-fix-ghc710.patch; # Sent e-mail to the maintainer. IOSpec = appendPatch super.IOSpec ./IOSpec-fix-ghc710.patch; # Updated Cabal file from Hackage tightened version bounds for some reason. edit-distance = let pkg = appendPatch super.edit-distance ./edit-distance-fix-boundaries.patch; in appendPatch pkg (pkgs.fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/batterseapower/edit-distance/pull/3.patch"; sha256 = "013x9za47vr9jx0liwgi8cdh2h2882a87h5nqvr41xqipzxfiyw1"; }); # https://github.com/BNFC/bnfc/issues/137 BNFC = markBrokenVersion "2.7.1" super.BNFC; cubical = dontDistribute super.cubical; # contacted maintainer by e-mail HList = markBrokenVersion "0.3.4.1" super.HList; AspectAG = dontDistribute super.AspectAG; Rlang-QQ = dontDistribute super.Rlang-QQ; SyntaxMacros = dontDistribute super.SyntaxMacros; expand = dontDistribute super.expand; functional-arrow = dontDistribute super.functional-arrow; guess-combinator = dontDistribute super.guess-combinator; ihaskell-rlangqq = dontDistribute super.ihaskell-rlangqq; ipopt-hs = dontDistribute super.ipopt-hs; murder = dontDistribute super.murder; netcore = dontDistribute super.netcore; nettle-frp = dontDistribute super.nettle-frp; nettle-netkit = dontDistribute super.nettle-netkit; nettle-openflow = dontDistribute super.nettle-openflow; oberon0 = dontDistribute super.oberon0; respond = dontDistribute super.respond; semi-iso = dontDistribute super.semi-iso; syntax = dontDistribute super.syntax; syntax-attoparsec = dontDistribute super.syntax-attoparsec; syntax-example = dontDistribute super.syntax-example; syntax-example-json = dontDistribute super.syntax-example-json; syntax-pretty = dontDistribute super.syntax-pretty; syntax-printer = dontDistribute super.syntax-printer; tuple-hlist = dontDistribute super.tuple-hlist; tuple-morph = dontDistribute super.tuple-morph; # contacted maintainer by e-mail cmdlib = markBroken super.cmdlib; darcs-fastconvert = dontDistribute super.darcs-fastconvert; ivory-backend-c = dontDistribute super.ivory-backend-c; ivory-bitdata = dontDistribute super.ivory-bitdata; ivory-examples = dontDistribute super.ivory-examples; ivory-hw = dontDistribute super.ivory-hw; laborantin-hs = dontDistribute super.laborantin-hs; # https://github.com/cartazio/arithmoi/issues/1 arithmoi = markBroken super.arithmoi; NTRU = dontDistribute super.NTRU; arith-encode = dontDistribute super.arith-encode; barchart = dontDistribute super.barchart; constructible = dontDistribute super.constructible; cyclotomic = dontDistribute super.cyclotomic; diagrams = dontDistribute super.diagrams; diagrams-contrib = dontDistribute super.diagrams-contrib; enumeration = dontDistribute super.enumeration; ghci-diagrams = dontDistribute super.ghci-diagrams; ihaskell-diagrams = dontDistribute super.ihaskell-diagrams; nimber = dontDistribute super.nimber; quadratic-irrational = dontDistribute super.quadratic-irrational; # https://github.com/kazu-yamamoto/ghc-mod/issues/467 ghc-mod = markBroken super.ghc-mod; HaRe = dontDistribute super.HaRe; ghc-imported-from = dontDistribute super.ghc-imported-from; git-vogue = dontDistribute super.git-vogue; haskell-token-utils = dontDistribute super.haskell-token-utils; hbb = dontDistribute super.hbb; hsdev = dontDistribute super.hsdev; # http://hub.darcs.net/ivanm/graphviz/issue/5 graphviz = markBroken super.graphviz; Graphalyze = dontDistribute super.Graphalyze; HLearn-approximation = dontDistribute super.HLearn-approximation; HLearn-classification = dontDistribute super.HLearn-classification; HLearn-distributions = dontDistribute super.HLearn-distributions; SourceGraph = dontDistribute super.SourceGraph; Zora = dontDistribute super.Zora; ampersand = dontDistribute super.ampersand; caffegraph = dontDistribute super.caffegraph; dot2graphml = dontDistribute super.dot2graphml; dvda = dontDistribute super.dvda; erd = dontDistribute super.erd; filediff = dontDistribute super.filediff; fsmActions = dontDistribute super.fsmActions; gbu = dontDistribute super.gbu; geni-gui = dontDistribute super.geni-gui; ghc-vis = dontDistribute super.ghc-vis; grammar-combinators = dontDistribute super.grammar-combinators; llvm-analysis = dontDistribute super.llvm-analysis; llvm-base-types = dontDistribute super.llvm-base-types; llvm-data-interop = dontDistribute super.llvm-data-interop; llvm-tools = dontDistribute super.llvm-tools; marxup = dontDistribute super.marxup; mathgenealogy = dontDistribute super.mathgenealogy; optimusprime = dontDistribute super.optimusprime; phybin = dontDistribute super.phybin; prolog-graph = dontDistribute super.prolog-graph; prolog-graph-lib = dontDistribute super.prolog-graph-lib; teams = dontDistribute super.teams; vacuum-graphviz = dontDistribute super.vacuum-graphviz; vampire = dontDistribute super.vampire; visual-graphrewrite = dontDistribute super.visual-graphrewrite; xdot = dontDistribute super.xdot; # https://github.com/lymar/hastache/issues/47 hastache = dontCheck super.hastache; # The compat library is empty in the presence of mtl 2.2.x. mtl-compat = dontHaddock super.mtl-compat; # https://github.com/bos/bloomfilter/issues/11 bloomfilter = dontHaddock (appendConfigureFlag super.bloomfilter "--ghc-option=-XFlexibleContexts"); }