diff options
Diffstat (limited to 'nixpkgs/pkgs/development/haskell-modules/configuration-common.nix')
-rw-r--r-- | nixpkgs/pkgs/development/haskell-modules/configuration-common.nix | 243 |
1 files changed, 186 insertions, 57 deletions
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix index fd8bfef030ae..7b06628dbc7e 100644 --- a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix +++ b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix @@ -15,6 +15,11 @@ with haskellLib; self: super: { + # Arion's test suite needs a Nixpkgs, which is cumbersome to do from Nixpkgs + # itself. For instance, pkgs.path has dirty sources and puts a huge .git in the + # store. Testing is done upstream. + arion-compose = dontCheck super.arion-compose; + # This used to be a core package provided by GHC, but then the compiler # dropped it. We define the name here to make sure that old packages which # depend on this library still evaluate (even though they won't compile @@ -69,7 +74,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 = "1ackqjkwkfm3kazlyy4nwdjf6wwjlajql1hrznaki5138nw4gxs4"; + sha256 = "1i4arhwbc05iz8hl7kk843m2f49i3ysby1kxcm9qfhpk7z9nyzj4"; }; }).override { dbus = if pkgs.stdenv.isLinux then self.dbus else null; @@ -145,6 +150,8 @@ self: super: { then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit else super.halive; + barbly = addBuildDepend super.barbly pkgs.darwin.apple_sdk.frameworks.AppKit; + # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux hakyll = if pkgs.stdenv.isDarwin then dontCheck (overrideCabal super.hakyll (drv: { @@ -268,6 +275,7 @@ self: super: { dlist = dontCheck super.dlist; docopt = dontCheck super.docopt; # http://hydra.cryp.to/build/499172/log/raw dom-selector = dontCheck super.dom-selector; # http://hydra.cryp.to/build/497670/log/raw + dotenv = dontCheck super.dotenv; # Tests fail because of missing test file on version 0.8.0.2 fixed on version 0.8.0.4 dotfs = dontCheck super.dotfs; # http://hydra.cryp.to/build/498599/log/raw DRBG = dontCheck super.DRBG; # http://hydra.cryp.to/build/498245/nixlog/1/raw ed25519 = dontCheck super.ed25519; @@ -281,6 +289,7 @@ self: super: { ghc-parmake = dontCheck super.ghc-parmake; ghcid = dontCheck super.ghcid; git-vogue = dontCheck super.git-vogue; + github-rest = dontCheck super.github-rest; # test suite needs the network gitlib-cmdline = dontCheck super.gitlib-cmdline; GLFW-b = dontCheck super.GLFW-b; # https://github.com/bsl/GLFW-b/issues/50 hackport = dontCheck super.hackport; @@ -314,15 +323,14 @@ self: super: { influxdb = dontCheck super.influxdb; itanium-abi = dontCheck super.itanium-abi; katt = dontCheck super.katt; - language-slice = dontCheck super.language-slice; language-nix = if (pkgs.stdenv.hostPlatform.isAarch64 || pkgs.stdenv.hostPlatform.isi686) then dontCheck super.language-nix else super.language-nix; # aarch64: https://ghc.haskell.org/trac/ghc/ticket/15275 + language-slice = dontCheck super.language-slice; ldap-client = dontCheck super.ldap-client; lensref = dontCheck super.lensref; 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; milena = dontCheck super.milena; modular-arithmetic = dontCheck super.modular-arithmetic; # tests require a very old Glob (0.7.*) @@ -362,6 +370,8 @@ self: super: { separated = dontCheck super.separated; shadowsocks = dontCheck super.shadowsocks; shake-language-c = dontCheck super.shake-language-c; + snap-core = dontCheck super.snap-core; + sourcemap = dontCheck super.sourcemap; static-resources = dontCheck super.static-resources; strive = dontCheck super.strive; # fails its own hlint test with tons of warnings svndump = dontCheck super.svndump; @@ -378,14 +388,17 @@ self: super: { webdriver = dontCheck super.webdriver; webdriver-angular = dontCheck super.webdriver-angular; 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; systemd = dontCheck super.systemd; + # use the correct version of network + systemd_2_2_0 = dontCheck (super.systemd_2_2_0.override { + network = self.network_3_1_1_1; + }); + # https://github.com/eli-frey/cmdtheline/issues/28 cmdtheline = dontCheck super.cmdtheline; @@ -503,7 +516,9 @@ self: super: { else dontCheck super.tasty-discover); # generic-deriving bound is too tight - aeson = doJailbreak super.aeson; + # aeson 1.4.6.0 needs Diff 0.4.0 to do tests but nixpkgs is still at 0.3.4 + # https://github.com/bos/aeson/issues/740 + aeson = dontCheck (doJailbreak super.aeson); # containers >=0.4 && <0.6 is too tight # https://github.com/RaphaelJ/friday/issues/34 @@ -588,9 +603,23 @@ self: super: { sets = dontCheck super.sets; # Install icons, metadata and cli program. - bustle = overrideCabal super.bustle (drv: { + # Do not build hgettext as it is broken + # https://gitlab.freedesktop.org/bustle/bustle/issues/13 + bustle = overrideCabal (disableCabalFlag (super.bustle.override { hgettext = null; }) "hgettext") (drv: { buildDepends = [ pkgs.libpcap ]; buildTools = with pkgs.buildPackages; [ gettext perl help2man ]; + patches = [ + # fix build + # https://gitlab.freedesktop.org/bustle/bustle/merge_requests/14 + (pkgs.fetchpatch { + url = "https://gitlab.freedesktop.org/bustle/bustle/commit/ee4b81cbc232d47ba9940f1987777b17452e71ff.patch"; + sha256 = "0v9cvbmrma5jcqcg1narpm1549h0cg8mr6i00qxmq0x6hs04dnwa"; + }) + (pkgs.fetchpatch { + url = "https://gitlab.freedesktop.org/bustle/bustle/commit/aae6843f51f54679d440fb3813e61355dc8406b9.patch"; + sha256 = "1a8hr38hd1gdkqhsy56hyl7njw8ci79iigr81aalkb7hn4ckvh2a"; + }) + ]; postInstall = '' make install PREFIX=$out ''; @@ -614,7 +643,7 @@ self: super: { # ideal, but Chris doesn't seem to make official releases any more. structured-haskell-mode = overrideCabal super.structured-haskell-mode (drv: { src = pkgs.fetchFromGitHub { - owner = "chrisdone"; + owner = "projectional-haskell"; repo = "structured-haskell-mode"; rev = "7f9df73f45d107017c18ce4835bbc190dfe6782e"; sha256 = "1jcc30048j369jgsbbmkb63whs4wb37bq21jrm3r6ry22izndsqa"; @@ -630,15 +659,6 @@ self: super: { ln -s $lispdir $data/share/emacs/site-lisp ''; }); - descriptive = overrideSrc super.descriptive { - version = "20180514-git"; - src = pkgs.fetchFromGitHub { - owner = "chrisdone"; - repo = "descriptive"; - rev = "c088960113b2add758553e41cbe439d183b750cd"; - sha256 = "17p65ihcvm1ghq23ww6phh8gdj7hwxlypjvh9jabsxvfbp2s8mrk"; - }; - }; # Make elisp files available at a location where people expect it. hindent = (overrideCabal super.hindent (drv: { @@ -692,14 +712,6 @@ self: super: { # We get lots of strange compiler errors during the test suite run. jsaddle = dontCheck super.jsaddle; - # Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza - cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools; - pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"]; - gtk = - if pkgs.stdenv.isDarwin - then appendConfigureFlag super.gtk "-fhave-quartz-gtk" - else super.gtk; - # https://github.com/Philonous/hs-stun/pull/1 # Remove if a version > 0.1.0.1 ever gets released. stunclient = overrideCabal super.stunclient (drv: { @@ -733,7 +745,7 @@ self: super: { substituteInPlace conf.py --replace "'.md': CommonMarkParser," "" ''; nativeBuildInputs = with pkgs.buildPackages.pythonPackages; [ sphinx recommonmark sphinx_rtd_theme ]; - makeFlags = "html"; + makeFlags = [ "html" ]; installPhase = '' mv _build/html $out ''; @@ -1036,6 +1048,30 @@ self: super: { generateOptparseApplicativeCompletion "dhall" ( dontCheck super.dhall ); + # https://github.com/dhall-lang/dhall-haskell/commit/dedd5e0ea6fd12f87d887af3d2220eebc61ee8af + # This raises the lower bound on prettyprinter to 1.5.1 since + # `removeTrailingWhitespace` is buggy in earlier versions. + # This will probably be able to be removed when we update to LTS-15. + dhall_1_28_0 = + dontCheck (super.dhall_1_28_0.override { + prettyprinter = self.prettyprinter_1_5_1; + prettyprinter-ansi-terminal = + self.prettyprinter-ansi-terminal.override { + prettyprinter = self.prettyprinter_1_5_1; + }; + }); + dhall-bash_1_0_25 = super.dhall-bash_1_0_25.override { dhall = self.dhall_1_28_0; }; + dhall-json_1_6_0 = super.dhall-json_1_6_0.override { + dhall = self.dhall_1_28_0; + prettyprinter = self.prettyprinter_1_5_1; + prettyprinter-ansi-terminal = + self.prettyprinter-ansi-terminal.override { + prettyprinter = self.prettyprinter_1_5_1; + }; + }; + + # Tests for dhall access the network. + dhall_1_27_0 = dontCheck super.dhall_1_27_0; # Missing test files in source distribution, fixed once 1.4.0 is bumped # https://github.com/dhall-lang/dhall-haskell/pull/997 @@ -1055,12 +1091,14 @@ self: super: { # https://github.com/haskell-hvr/hgettext/issues/14 hgettext = doJailbreak super.hgettext; + # 2.23.0 supports GHC 8.x and up + haddock = super.haddock_2_22_0; # haddock-api-2.22.0: Break out of “QuickCheck ==2.11.*, hspec >=2.4.4 && <2.6” - haddock-api = dontHaddock (doJailbreak (super.haddock-api)); + haddock-api = dontHaddock (doJailbreak (super.haddock-api_2_22_0)); # 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); + haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0; # Generate shell completion. cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix; @@ -1099,8 +1137,23 @@ self: super: { # https://github.com/snapframework/xmlhtml/pull/37 xmlhtml = doJailbreak super.xmlhtml; - # Generate shell completions - purescript = generateOptparseApplicativeCompletion "purs" super.purescript; + purescript = + let + purescriptWithOverrides = super.purescript.override { + # PureScript requires an older version of happy. + happy = self.happy_1_19_9; + }; + + # PureScript is built against LTS-13, so we need to jailbreak it to + # accept more recent versions of the libraries it requires. + jailBrokenPurescript = doJailbreak purescriptWithOverrides; + + # Haddocks for PureScript can't be built. + # https://github.com/purescript/purescript/pull/3745 + dontHaddockPurescript = dontHaddock jailBrokenPurescript; + in + # Generate shell completions + generateOptparseApplicativeCompletion "purs" dontHaddockPurescript; # https://github.com/kcsongor/generic-lens/pull/65 generic-lens = dontCheck super.generic-lens; @@ -1127,11 +1180,6 @@ self: super: { # Jailbreak tasty < 1.2: https://github.com/phadej/tdigest/issues/30 tdigest = doJailbreak super.tdigest; # until tdigest > 0.2.1 - uri-bytestring = appendPatch super.uri-bytestring (pkgs.fetchpatch { - url = "https://github.com/Soostone/uri-bytestring/commit/e5c5602a97160a6a6304a24947e33e47c9155460.patch"; - sha256 = "1qwy8bj6vywhp0075dza8j90zrzsm3144qz3c703s9c4n6pg3gw4"; - }); - # Requires pg_ctl command during tests beam-postgres = overrideCabal super.beam-postgres (drv: { testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql]; @@ -1156,18 +1204,6 @@ self: super: { # 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; @@ -1192,8 +1228,8 @@ self: super: { temporary-resourcet = doJailbreak super.temporary-resourcet; # Requires dhall >= 1.23.0 - ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_26_0; }; - dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_26_0; }; + ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_28_0; }; + dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_28_0; }; # Test suite doesn't work with current QuickCheck # https://github.com/pruvisto/heap/issues/11 @@ -1203,10 +1239,10 @@ self: super: { 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; }; + hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; }; # https://github.com/sol/hpack/issues/366 - hpack = self.hpack_0_32_0; + hpack = self.hpack_0_33_0; # QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7 graphviz = dontCheck super.graphviz; @@ -1223,13 +1259,106 @@ self: super: { ''; }); - # The LTS-14.x version of optparse-applicative is too old. - cabal-plan = super.cabal-plan.override { optparse-applicative = self.optparse-applicative_0_15_1_0; }; + # The LTS-14.x version of their dependencies are too old. + cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_0; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; }); + hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_22_0; }; + + # Version bounds for http-client are too strict: + # https://github.com/bitnomial/prometheus/issues/34 + prometheus = doJailbreak super.prometheus; + + # Tasty-tap tests are out-of-date with TAP format + # https://github.com/MichaelXavier/tasty-tap/issues/2 + tasty-tap = appendPatch super.tasty-tap (pkgs.fetchpatch { + url = https://patch-diff.githubusercontent.com/raw/MichaelXavier/tasty-tap/pull/3.diff; + sha256 = "0l8zbc56dy8ilxl3k49aiknmfhgpcg3jhs72lh3dk51d0a09d9sv"; + }); + + # The doctests in universum-1.5.0 are broken. The doctests in versions of universum after + # 1.5.0 should be fixed, so this should be able to be removed. + universum = dontCheck super.universum; + + # https://github.com/erikd/hjsmin/issues/32 + hjsmin = dontCheck super.hjsmin; + + # https://github.com/blamario/grampa/issues/19 + rank2classes = dontCheck super.rank2classes; + + nix-tools = super.nix-tools.overrideScope (self: super: { + # Needs https://github.com/peti/hackage-db/pull/9 + hackage-db = super.hackage-db.overrideAttrs (old: { + src = pkgs.fetchFromGitHub { + owner = "ElvishJerricco"; + repo = "hackage-db"; + rev = "84ca9fc75ad45a71880e938e0d93ea4bde05f5bd"; + sha256 = "0y3kw1hrxhsqmyx59sxba8npj4ya8dpgjljc21gkgdvdy9628q4c"; + }; + }); + }); + + # upstream issue: https://github.com/vmchale/atspkg/issues/12 + language-ats = dontCheck super.language-ats; + + # polysemy-plugin requires polysemy >= 1.2.0.0 + polysemy = self.polysemy_1_2_3_0; + polysemy-zoo = self.polysemy-zoo_0_6_0_1; + + # https://github.com/Happstack/web-routes-th/pull/3 + web-routes-th = doJailbreak super.web-routes-th; + + # Remove for hail > 0.2.0.0 + hail = overrideCabal super.hail (drv: { + patches = [ + (pkgs.fetchpatch { + # Relax dependency constraints, + # upstream PR: https://github.com/james-preston/hail/pull/13 + url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/13.patch"; + sha256 = "039p5mqgicbhld2z44cbvsmam3pz0py3ybaifwrjsn1y69ldsmkx"; + }) + (pkgs.fetchpatch { + # Relax dependency constraints, + # upstream PR: https://github.com/james-preston/hail/pull/15 + url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/15.patch"; + sha256 = "03kdvr8hxi6isb8yxp5rgcmz855n19m1yacn3d56a4i58j2mldjw"; + }) + ]; + }); + + # Needs the corresponding version of haskell-src-exts. + haskell-src-exts-simple = super.haskell-src-exts-simple.override { haskell-src-exts = self.haskell-src-exts_1_22_0; }; + + # https://github.com/Daniel-Diaz/HaTeX/issues/144 + HaTeX = dontCheck super.HaTeX; + + # https://github.com/kazu-yamamoto/dns/issues/150 + dns = dontCheck super.dns; + + # needs newer version of the systemd package + spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; }; + + # 2019-12-19 - glirc wants regex-tdfa >=1.3 which results in errors with regex-base which errors more + # hoping to make a proper derivation with plugins enabled and more reliable building -- kiwi + glirc = doJailbreak super.glirc; + + # apply patches from https://github.com/snapframework/snap-server/pull/126 + # manually until they are accepted upstream + snap-server = overrideCabal super.snap-server (drv: { + patches = [(pkgs.fetchpatch { + # allow compilation with network >= 3 + url = https://github.com/snapframework/snap-server/pull/126/commits/4338fe15d68e11e3c7fd0f9862f818864adc1d45.patch; + sha256 = "1nlw9lckm3flzkmhkzwc7zxhdh9ns33w8p8ds8nf574nqr5cr8bv"; + }) + (pkgs.fetchpatch { + # prefer fdSocket over unsafeFdSocket + url = https://github.com/snapframework/snap-server/pull/126/commits/410de2df123b1d56b3093720e9c6a1ad79fe9de6.patch; + sha256 = "08psvw0xny64q4bw1nwg01pkzh01ak542lw6k1ps7cdcwaxk0n94"; + })]; + }); - # https://github.com/brendanhay/amazonka/commit/657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b - amazonka = appendPatch super.amazonka ./patches/amazonka-Allow-http-client-0.6.patch; + # https://github.com/haskell-servant/servant-blaze/issues/17 + servant-blaze = doJailbreak super.servant-blaze; - # https://github.com/brendanhay/amazonka/commit/657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b - amazonka-core = appendPatch super.amazonka-core ./patches/amazonka-core-Allow-http-client-0.6.patch; + # https://github.com/haskell-servant/servant-ekg/issues/15 + servant-ekg = doJailbreak super.servant-ekg; } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super |