From a8d21813179e32d8e8f3880c6d311de5573ed5fb Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 28 Oct 2021 13:52:35 +0200 Subject: [PATCH] haskellPackages: update diagrams-related packages to latest hackage Since https://github.com/diagrams/diagrams/issues/26 has been solved, all diagrams-related libs finally work together in their latest version and we can remove the constraints on the following updated packages. * haskellPackages.monoid-extras: 0.5.1 -> 0.6 * haskellPackages.diagrams-lib: 1.4.3 -> 1.4.4 Also allows us to get rid of a patch for optparse-applicative 0.16 support. * haskellPackages.dual-tree: 0.2.2.1 -> 0.2.3.0 Allows us to drop jailbreak. * haskellPackages.diagrams-core: 1.4.2 -> 1.5.0 Allows us to drop jailbreak. Some reverse dependencies of said libraries had too strict bounds, but fortunately no new regressions (as far as I am aware) have been introduced. Jailbreaks were needed for: * diagrams-braille * Chart-diagrams * namespace * plots * Chart-tests --- .../haskell-modules/configuration-common.nix | 24 ++--- .../configuration-hackage2nix/main.yaml | 12 --- .../haskell-modules/hackage-packages.nix | 89 ------------------- 3 files changed, 12 insertions(+), 113 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index e9376a6dadb1..b3a57a9e2acd 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -681,19 +681,17 @@ self: super: { # For 2.17 support: https://github.com/JonasDuregard/sized-functors/pull/10 size-based = doJailbreak super.size-based; - # Remove as soon as we update to monoid-extras 0.6 and unpin these packages - dual-tree = doJailbreak super.dual-tree; - diagrams-core = doJailbreak super.diagrams-core; + # https://github.com/diagrams/diagrams-braille/issues/1 + diagrams-braille = doJailbreak super.diagrams-braille; - # Apply patch from master to add compat with optparse-applicative >= 0.16. - # We unfortunately can't upgrade to 1.4.4 which includes this patch yet - # since it would require monoid-extras 0.6 which breaks other diagrams libs. - diagrams-lib = doJailbreak (appendPatch super.diagrams-lib - (pkgs.fetchpatch { - url = "https://github.com/diagrams/diagrams-lib/commit/4b9842c3e3d653be69af19778970337775e2404d.patch"; - sha256 = "0xqvzh3ip9i0nv8xnh41afxki64r259pxq8ir1a4v99ggnldpjaa"; - includes = [ "*/CmdLine.hs" ]; - })); + # https://github.com/timbod7/haskell-chart/pull/231#issuecomment-953745932 + Chart-diagrams = doJailbreak super.Chart-diagrams; + + # https://github.com/xu-hao/namespace/issues/1 + namespace = doJailbreak super.namespace; + + # https://github.com/cchalmers/plots/issues/46 + plots = doJailbreak super.plots; # https://github.com/diagrams/diagrams-solve/issues/4 diagrams-solve = dontCheck super.diagrams-solve; @@ -1122,6 +1120,8 @@ self: super: { # Chart-tests needs and compiles some modules from Chart itself Chart-tests = overrideCabal (addExtraLibrary super.Chart-tests self.QuickCheck) (old: { + # https://github.com/timbod7/haskell-chart/issues/233 + jailbreak = true; preCheck = old.preCheck or "" + '' tar --one-top-level=../chart --strip-components=1 -xf ${self.Chart.src} ''; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 4282915cee41..7f337014ff08 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -72,18 +72,6 @@ default-package-overrides: # gi-gdkx11-4.x requires gtk-4.x, which is still under development and # not yet available in Nixpkgs - gi-gdkx11 < 4 - # 2021-05-11: not all diagrams libraries have adjusted to - # monoid-extras 0.6 yet, keep them pinned to lower versions - # until we can do a full migration, see - # https://github.com/diagrams/diagrams-core/issues/115 - # We can keep this pin at most until base 4.15 - # Since the monoid-extras adjustment was combined with - # a major release in some cases, we need to wait for - # diagrams 1.5 to be released. - - monoid-extras < 0.6 - - dual-tree < 0.2.3.0 - - diagrams-core < 1.5.0 - - diagrams-lib < 1.4.4 # streamly-* packages which are not in stackage and to be constrained # as long as we have streamly < 0.8.0 - streamly-archive < 0.1.0 diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index ba91f9b5fd63..c1f70f5a9a1c 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -76664,25 +76664,6 @@ self: { }) {}; "diagrams-core" = callPackage - ({ mkDerivation, adjunctions, base, containers, distributive - , dual-tree, lens, linear, monoid-extras, mtl, profunctors - , semigroups, unordered-containers - }: - mkDerivation { - pname = "diagrams-core"; - version = "1.4.2"; - sha256 = "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"; - revision = "1"; - editedCabalFile = "0w8mpy0z8kmx4l7cg8sgc1hyixysjfqffdgmnxy5p04airjlbpj7"; - libraryHaskellDepends = [ - adjunctions base containers distributive dual-tree lens linear - monoid-extras mtl profunctors semigroups unordered-containers - ]; - description = "Core libraries for diagrams EDSL"; - license = lib.licenses.bsd3; - }) {}; - - "diagrams-core_1_5_0" = callPackage ({ mkDerivation, adjunctions, base, containers, distributive , dual-tree, lens, linear, monoid-extras, mtl, profunctors , semigroups, unordered-containers @@ -76699,7 +76680,6 @@ self: { ]; description = "Core libraries for diagrams EDSL"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "diagrams-graphviz" = callPackage @@ -76808,39 +76788,6 @@ self: { }) {}; "diagrams-lib" = callPackage - ({ mkDerivation, active, adjunctions, array, base, bytestring - , cereal, colour, containers, criterion, data-default-class - , deepseq, diagrams-core, diagrams-solve, directory, distributive - , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable - , intervals, JuicyPixels, lens, linear, monoid-extras, mtl - , numeric-extras, optparse-applicative, process, profunctors - , QuickCheck, semigroups, tagged, tasty, tasty-hunit - , tasty-quickcheck, text, transformers, unordered-containers - }: - mkDerivation { - pname = "diagrams-lib"; - version = "1.4.3"; - sha256 = "0gqrcyjyp3p78vmfxvhfjbkkl2xvwcv3qyyinbdcmalb5zb8vyy6"; - revision = "1"; - editedCabalFile = "0cqhqm2nz2ls00pfhx8hz6z6g17qhl380h24wp4d6l5msiw7gxq4"; - libraryHaskellDepends = [ - active adjunctions array base bytestring cereal colour containers - data-default-class diagrams-core diagrams-solve directory - distributive dual-tree exceptions filepath fingertree fsnotify - hashable intervals JuicyPixels lens linear monoid-extras mtl - optparse-applicative process profunctors semigroups tagged text - transformers unordered-containers - ]; - testHaskellDepends = [ - base deepseq diagrams-solve distributive lens numeric-extras - QuickCheck tasty tasty-hunit tasty-quickcheck - ]; - benchmarkHaskellDepends = [ base criterion diagrams-core ]; - description = "Embedded domain-specific language for declarative graphics"; - license = lib.licenses.bsd3; - }) {}; - - "diagrams-lib_1_4_4" = callPackage ({ mkDerivation, active, adjunctions, array, base, bytestring , cereal, colour, containers, criterion, data-default-class , deepseq, diagrams-core, diagrams-solve, directory, distributive @@ -76871,7 +76818,6 @@ self: { benchmarkHaskellDepends = [ base criterion diagrams-core ]; description = "Embedded domain-specific language for declarative graphics"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "diagrams-pandoc" = callPackage @@ -82280,24 +82226,6 @@ self: { }) {}; "dual-tree" = callPackage - ({ mkDerivation, base, monoid-extras, newtype-generics, QuickCheck - , semigroups, testing-feat - }: - mkDerivation { - pname = "dual-tree"; - version = "0.2.2.1"; - sha256 = "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"; - libraryHaskellDepends = [ - base monoid-extras newtype-generics semigroups - ]; - testHaskellDepends = [ - base monoid-extras QuickCheck semigroups testing-feat - ]; - description = "Rose trees with cached and accumulating monoidal annotations"; - license = lib.licenses.bsd3; - }) {}; - - "dual-tree_0_2_3_0" = callPackage ({ mkDerivation, base, monoid-extras, newtype-generics, QuickCheck , semigroups, testing-feat }: @@ -82315,7 +82243,6 @@ self: { ]; description = "Rose trees with cached and accumulating monoidal annotations"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "dualizer" = callPackage @@ -183652,21 +183579,6 @@ self: { }) {}; "monoid-extras" = callPackage - ({ mkDerivation, base, criterion, groups, semigroupoids, semigroups - }: - mkDerivation { - pname = "monoid-extras"; - version = "0.5.1"; - sha256 = "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"; - revision = "2"; - editedCabalFile = "0gbrwpr7rzh9mmf59yhs74hixgclmxngaxx51j7pvr6wnkbvz3a3"; - libraryHaskellDepends = [ base groups semigroupoids semigroups ]; - benchmarkHaskellDepends = [ base criterion semigroups ]; - description = "Various extra monoid-related definitions and utilities"; - license = lib.licenses.bsd3; - }) {}; - - "monoid-extras_0_6" = callPackage ({ mkDerivation, base, criterion, groups, semigroupoids, semigroups }: mkDerivation { @@ -183677,7 +183589,6 @@ self: { benchmarkHaskellDepends = [ base criterion semigroups ]; description = "Various extra monoid-related definitions and utilities"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "monoid-owns" = callPackage