From ba670fc2c02d5de8fdd56262ca1c0ea388560e99 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Thu, 15 Aug 2019 01:31:10 +0200 Subject: [PATCH] haskellPackages: unbreak hnix build Fixes #66623 --- .../haskell-modules/configuration-common.nix | 10 ++++-- .../configuration-hackage2nix.yaml | 4 +-- .../haskell-modules/hackage-packages.nix | 33 +++++++++++++++---- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 14959546ee6..c9c81824620 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -214,15 +214,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; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 54d645de9b2..670964cc7c3 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -2522,6 +2522,7 @@ extra-packages: - seqid-streams < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x - split < 0.2 # newer versions don't work with GHC 6.12.3 - tar < 0.4.2.0 # later versions don't work with GHC < 7.6.x + - these == 0.7.6 # required by hnix 0.6.1 - transformers == 0.4.3.* # the latest version isn't supported by mtl yet - vector < 0.10.10 # newer versions don't work with GHC 6.12.3 - xml-conduit ^>= 1.7 # pre-lts-11.x versions neeed by git-annex 6.20180227 @@ -5920,9 +5921,6 @@ broken-packages: - hmt-diagrams - hmumps - hnetcdf - - hnix - - hnix-store-core - - hnix-store-remote - HNM - hnormalise - ho-rewriting diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index dabf82891e9..121e590b231 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -117873,8 +117873,6 @@ self: { ]; description = "Haskell implementation of the Nix language"; license = stdenv.lib.licenses.bsd3; - hydraPlatforms = stdenv.lib.platforms.none; - broken = true; }) {}; "hnix-store-core" = callPackage @@ -117902,8 +117900,6 @@ self: { testToolDepends = [ tasty-discover ]; description = "Core effects for interacting with the Nix store"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; - broken = true; }) {}; "hnix-store-remote" = callPackage @@ -117927,8 +117923,6 @@ self: { ]; description = "Remote hnix store"; license = stdenv.lib.licenses.asl20; - hydraPlatforms = stdenv.lib.platforms.none; - broken = true; }) {}; "hnn" = callPackage @@ -230188,6 +230182,33 @@ self: { broken = true; }) {}; + "these_0_7_6" = callPackage + ({ mkDerivation, aeson, base, base-compat, bifunctors, binary + , containers, data-default-class, deepseq, hashable, keys, lens + , mtl, QuickCheck, quickcheck-instances, semigroupoids, tasty + , tasty-quickcheck, transformers, transformers-compat + , unordered-containers, vector, vector-instances + }: + mkDerivation { + pname = "these"; + version = "0.7.6"; + sha256 = "0in77b1g73m224dmpfc9khgcs0ajgsknp0yri853c9p6k0yvhr4l"; + libraryHaskellDepends = [ + aeson base base-compat bifunctors binary containers + data-default-class deepseq hashable keys lens mtl QuickCheck + semigroupoids transformers transformers-compat unordered-containers + vector vector-instances + ]; + testHaskellDepends = [ + aeson base base-compat bifunctors binary containers hashable lens + QuickCheck quickcheck-instances tasty tasty-quickcheck transformers + unordered-containers vector + ]; + description = "An either-or-both data type & a generalized 'zip with padding' typeclass"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "these" = callPackage ({ mkDerivation, aeson, assoc, base, base-compat, binary, deepseq , hashable, QuickCheck, semigroupoids, unordered-containers