From 850af4b784f9298140eab71616e94589a1eb9e19 Mon Sep 17 00:00:00 2001
From: Daniel Firth <dan.firth@homotopic.tech>
Date: Wed, 15 Mar 2023 16:07:37 +0000
Subject: [PATCH] Cabal: 3.8.1.0 -> 3.10.1.0

---
 horizon.dhall                     | 29 ++++++++--------
 initial-packages.nix              |  2 ++
 pkgs/Cabal-syntax.nix             | 11 ++----
 pkgs/Cabal.nix                    |  4 +--
 pkgs/assoc.nix                    | 10 +++---
 pkgs/bifunctors.nix               | 10 +++---
 pkgs/cabal-install-solver.nix     |  6 ++--
 pkgs/cabal-install.nix            |  6 ++--
 pkgs/foldable1-classes-compat.nix | 58 +++++++++++++++++++++++++++++++
 pkgs/strict.nix                   | 13 ++++---
 pkgs/tagged.nix                   |  6 ++--
 pkgs/unix-compat.nix              | 12 ++++---
 12 files changed, 112 insertions(+), 55 deletions(-)
 create mode 100644 pkgs/foldable1-classes-compat.nix

diff --git a/horizon.dhall b/horizon.dhall
index 24b73d18..1930378f 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -4,7 +4,7 @@ let H =
 let packages =
       { BNFC = H.callHackage "BNFC" "2.9.4.1"
       , Boolean = H.callHackage "Boolean" "0.2.4"
-      , Cabal = H.callHackage "Cabal" "3.8.1.0"
+      , Cabal = H.callHackage "Cabal" "3.10.1.0"
       , Cabal-QuickCheck =
           H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
@@ -15,16 +15,12 @@ let packages =
             "https://gitlab.haskell.org/ghc/packages/Cabal"
             "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
             (Some "Cabal-described/")
-      , Cabal-syntax =
-          H.callGit
-            "https://gitlab.haskell.org/ghc/packages/Cabal"
-            "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
-            (Some "Cabal-syntax/")
       , Cabal-tree-diff =
-          H.callGit
+         H.callGit
             "https://gitlab.haskell.org/ghc/packages/Cabal"
             "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff"
             (Some "Cabal-tree-diff/")
+      , Cabal-syntax = H.callHackage "Cabal-syntax" "3.10.1.0"
       , Chart = H.callHackage "Chart" "1.9.4"
       , Chart-diagrams = H.callHackage "Chart-diagrams" "1.9.4"
       , ChasingBottoms = H.callHackage "ChasingBottoms" "1.3.1.12"
@@ -80,7 +76,7 @@ let packages =
       , asn1-encoding = H.callHackage "asn1-encoding" "0.9.6"
       , asn1-parse = H.callHackage "asn1-parse" "0.9.5"
       , asn1-types = H.callHackage "asn1-types" "0.3.4"
-      , assoc = H.callHackage "assoc" "1.0.2"
+      , assoc = H.callHackage "assoc" "1.1"
       , async = H.callHackage "async" "2.2.4"
       , async-timer = H.callHackage "async-timer" "0.2.0.0"
       , atomic-primops = H.callHackage "atomic-primops" "0.8.4"
@@ -129,7 +125,7 @@ let packages =
             (Some "beam-sqlite/")
       , bech32 = H.callHackage "bech32" "1.1.2"
       , bech32-th = H.callHackage "bech32-th" "1.1.1"
-      , bifunctors = H.callHackage "bifunctors" "5.5.13"
+      , bifunctors = H.callHackage "bifunctors" "5.6.1"
       , bimap = H.callHackage "bimap" "0.5.0"
       , bin = H.callHackage "bin" "0.1.2"
       , binary-orphans = H.callHackage "binary-orphans" "1.0.3"
@@ -149,8 +145,8 @@ let packages =
       , bytestring-builder = H.callHackage "bytestring-builder" "0.10.8.2.0"
       , c2hs = H.callHackage "c2hs" "0.28.8"
       , cabal-doctest = H.callHackage "cabal-doctest" "1.0.9"
-      , cabal-install = H.callHackage "cabal-install" "3.8.1.0"
-      , cabal-install-solver = H.callHackage "cabal-install-solver" "3.8.1.0"
+      , cabal-install = H.callHackage "cabal-install" "3.10.1.0"
+      , cabal-install-solver = H.callHackage "cabal-install-solver" "3.10.1.0"
       , cabal2nix = H.callHackage "cabal2nix" "2.19.1"
       , cache = H.callHackage "cache" "0.1.3.0"
       , call-stack = H.callHackage "call-stack" "0.4.0"
@@ -355,7 +351,7 @@ let packages =
       , extensible-exceptions = H.callHackage "extensible-exceptions" "0.1.1.4"
       , extra = H.callHackage "extra" "1.7.12"
       , fail = H.callHackage "fail" "4.9.0.0"
-      , fast-logger = H.callHackage "fast-logger" "3.1.1"
+      , fast-logger = H.callHackage "fast-logger" "3.2.1"
       , fast-math = H.callHackage "fast-math" "1.0.2"
       , fcf-containers = H.callHackage "fcf-containers" "0.7.1"
       , feedback = H.callHackage "feedback" "0.1.0.1"
@@ -380,6 +376,7 @@ let packages =
       , fmlist = H.callHackage "fmlist" "0.9.4"
       , fmt = H.callHackage "fmt" "0.6.3.0"
       , focus = H.callHackage "focus" "1.0.3"
+      , foldable1-classes-compat = H.callHackage "foldable1-classes-compat" "0.1"
       , foldl = H.callHackage "foldl" "1.4.12"
       , force-layout = H.callHackage "force-layout" "0.4.0.6"
       , foreign-store = H.callHackage "foreign-store" "0.2"
@@ -1104,7 +1101,7 @@ let packages =
       , system-fileio = H.callHackage "system-fileio" "0.3.16.4"
       , system-filepath = H.callHackage "system-filepath" "0.4.14"
       , tabular = H.callHackage "tabular" "0.2.2.8"
-      , tagged = H.callHackage "tagged" "0.8.6.1"
+      , tagged = H.callHackage "tagged" "0.8.7"
       , tagsoup = H.callHackage "tagsoup" "0.14.8"
       , tar =
           H.callGit
@@ -1210,7 +1207,11 @@ let packages =
       , universe-reverse-instances =
           H.callHackage "universe-reverse-instances" "1.1.1"
       , unix-bytestring = H.callHackage "unix-bytestring" "0.3.7.8"
-      , unix-compat = H.callHackage "unix-compat" "0.6"
+      , unix-compat =
+          H.callGit
+            "https://github.com/mitchellwrosen/fork--unix-compat"
+            "f28060acd449643d267954647c1bb7c748c35fa9"
+            (None H.Subdir)
       , unix-memory = H.callHackage "unix-memory" "0.1.2"
       , unix-time = H.callHackage "unix-time" "0.4.8"
       , unliftio = H.callHackage "unliftio" "0.2.23.0"
diff --git a/initial-packages.nix b/initial-packages.nix
index ffd3a68a..f3e2819e 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -595,6 +595,8 @@ self: with pkgs.haskell.lib; {
 
   focus = self.callPackage (./pkgs/focus.nix) { };
 
+  foldable1-classes-compat = self.callPackage (./pkgs/foldable1-classes-compat.nix) { };
+
   foldl = self.callPackage (./pkgs/foldl.nix) { };
 
   force-layout = self.callPackage (./pkgs/force-layout.nix) { };
diff --git a/pkgs/Cabal-syntax.nix b/pkgs/Cabal-syntax.nix
index 1853ccbb..e5dbabac 100644
--- a/pkgs/Cabal-syntax.nix
+++ b/pkgs/Cabal-syntax.nix
@@ -6,7 +6,6 @@
 , containers
 , deepseq
 , directory
-, fetchgit
 , filepath
 , lib
 , mtl
@@ -19,14 +18,8 @@
 }:
 mkDerivation {
   pname = "Cabal-syntax";
-  version = "3.9.0.0";
-  src = fetchgit {
-    url = "https://gitlab.haskell.org/ghc/packages/Cabal";
-    sha256 = "13prqza1wk1gc0az8lizrm97w6rwxv5lzvy5a4gahpr2wsliqjfg";
-    rev = "e9fdb85427ad1ef11a25c8b1f2286614c86a65ff";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/Cabal-syntax/; echo source root reset to $sourceRoot";
+  version = "3.10.1.0";
+  sha256 = "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/Cabal.nix b/pkgs/Cabal.nix
index bc1d0ef9..b1a2005d 100644
--- a/pkgs/Cabal.nix
+++ b/pkgs/Cabal.nix
@@ -19,8 +19,8 @@
 }:
 mkDerivation {
   pname = "Cabal";
-  version = "3.8.1.0";
-  sha256 = "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608";
+  version = "3.10.1.0";
+  sha256 = "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/assoc.nix b/pkgs/assoc.nix
index 0e45c158..63bbd1c6 100644
--- a/pkgs/assoc.nix
+++ b/pkgs/assoc.nix
@@ -1,14 +1,12 @@
-{ mkDerivation, base, bifunctors, lib, tagged }:
+{ mkDerivation, base, lib, tagged }:
 mkDerivation {
   pname = "assoc";
-  version = "1.0.2";
-  sha256 = "d8988dc6e8718c7a3456515b769c9336aeeec730cf86fc5175247969ff8f144f";
-  revision = "3";
-  editedCabalFile = "0mrb12dx316q4gxyn68x2rl8jq0gd77zffd12r8j1r41l0xd9f4k";
+  version = "1.1";
+  sha256 = "7aa2e6548b3d9d49a286ac20639479aaf6c47a1446113ed784d98737c5f60df4";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
-  libraryHaskellDepends = [ base bifunctors tagged ];
+  libraryHaskellDepends = [ base tagged ];
   enableLibraryProfiling = true;
   enableExecutableProfiling = true;
   doHaddock = false;
diff --git a/pkgs/bifunctors.nix b/pkgs/bifunctors.nix
index 34db1afe..4b07406b 100644
--- a/pkgs/bifunctors.nix
+++ b/pkgs/bifunctors.nix
@@ -1,9 +1,10 @@
 { mkDerivation
 , QuickCheck
+, assoc
 , base
-, base-orphans
 , comonad
 , containers
+, foldable1-classes-compat
 , hspec
 , hspec-discover
 , lib
@@ -15,16 +16,17 @@
 }:
 mkDerivation {
   pname = "bifunctors";
-  version = "5.5.13";
-  sha256 = "26cc27ade3796cf03bd680f98ebb7b8c0d7fd1b67c1894dc3635f734fba7dbd7";
+  version = "5.6.1";
+  sha256 = "06381471b5be16516a1b2c4b21a5101a3d991038bface8e0cad144c0044d57fc";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
   libraryHaskellDepends = [
+    assoc
     base
-    base-orphans
     comonad
     containers
+    foldable1-classes-compat
     tagged
     template-haskell
     th-abstraction
diff --git a/pkgs/cabal-install-solver.nix b/pkgs/cabal-install-solver.nix
index a91fba57..bd9c82e1 100644
--- a/pkgs/cabal-install-solver.nix
+++ b/pkgs/cabal-install-solver.nix
@@ -17,10 +17,8 @@
 }:
 mkDerivation {
   pname = "cabal-install-solver";
-  version = "3.8.1.0";
-  sha256 = "df2369f6c37517a3b2625bc19057d9e206bbb40386bcb607f17dc7d2e588ffe7";
-  revision = "1";
-  editedCabalFile = "1g487j20pj03pc10yaha18v73wh3ackxjgfpfqaj7xznqcbm5xwm";
+  version = "3.10.1.0";
+  sha256 = "2c0d9edd4ccd746e9bf8ab4f92b1ecffe2f56eae29395c67ef5ca091a6f49f37";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/cabal-install.nix b/pkgs/cabal-install.nix
index bb3e83ec..6e59fed3 100644
--- a/pkgs/cabal-install.nix
+++ b/pkgs/cabal-install.nix
@@ -51,10 +51,8 @@
 }:
 mkDerivation {
   pname = "cabal-install";
-  version = "3.8.1.0";
-  sha256 = "61ce436f2e14e12bf07ea1c81402362f46275014cd841a76566f0766d0ea67e6";
-  revision = "2";
-  editedCabalFile = "1l2lvljkr1ibnr3py7xfp2csxyb3rzlhy7jlpx8gkamq9cjmi6p2";
+  version = "3.10.1.0";
+  sha256 = "995de368555449230e0762b259377ed720798717f4dd26a4fa711e8e41c7838d";
   isLibrary = true;
   isExecutable = true;
   enableSeparateDataOutput = false;
diff --git a/pkgs/foldable1-classes-compat.nix b/pkgs/foldable1-classes-compat.nix
new file mode 100644
index 00000000..71c964ef
--- /dev/null
+++ b/pkgs/foldable1-classes-compat.nix
@@ -0,0 +1,58 @@
+{ mkDerivation
+, QuickCheck
+, base
+, containers
+, criterion
+, deepseq
+, ghc-prim
+, lib
+, quickcheck-instances
+, tagged
+, test-framework
+, test-framework-quickcheck2
+, transformers
+}:
+mkDerivation {
+  pname = "foldable1-classes-compat";
+  version = "0.1";
+  sha256 = "d057c3f358e1a6b72c73519bc64ba6aa959f066c08fed69f73258555ef95ff12";
+  revision = "2";
+  editedCabalFile = "05sdpi0c503xgrgg2cg4922r5ja5154lfwzi9mgcmxncsk02a4l5";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    tagged
+    transformers
+  ];
+  testHaskellDepends = [
+    base
+    containers
+    QuickCheck
+    quickcheck-instances
+    test-framework
+    test-framework-quickcheck2
+    transformers
+  ];
+  benchmarkHaskellDepends = [
+    base
+    containers
+    criterion
+    deepseq
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-compat/foldable1-classes-compat";
+  description = "Compatibility package for the Foldable1 and Bifoldable1 type classes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/strict.nix b/pkgs/strict.nix
index df076cd9..b2d5a5e3 100644
--- a/pkgs/strict.nix
+++ b/pkgs/strict.nix
@@ -4,6 +4,7 @@
 , binary
 , bytestring
 , deepseq
+, fetchgit
 , ghc-prim
 , hashable
 , lib
@@ -13,10 +14,14 @@
 }:
 mkDerivation {
   pname = "strict";
-  version = "0.4.0.1";
-  sha256 = "dff6abc08ad637e51891bb8b475778c40926c51219eda60fd64f0d9680226241";
-  revision = "4";
-  editedCabalFile = "0pdzqhy7z70m8gxcr54jf04qhncl1jbvwybigb8lrnxqirs5l86n";
+  version = "0.5";
+  src = fetchgit {
+    url = "https://github.com/haskellari/strict";
+    sha256 = "0rh7jh54mz225dvmlwn8ynh5zrl94ssq44qp8096rsd6q5sbs5ib";
+    rev = "68876e95b4dbdca76bf4f5bd7164a35abf3bdcb7";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/strict/; echo source root reset to $sourceRoot";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/tagged.nix b/pkgs/tagged.nix
index cd3de0c9..89d5f69b 100644
--- a/pkgs/tagged.nix
+++ b/pkgs/tagged.nix
@@ -7,10 +7,8 @@
 }:
 mkDerivation {
   pname = "tagged";
-  version = "0.8.6.1";
-  sha256 = "f5e0fcf95f0bb4aa63f428f2c01955a41ea1a42cfcf39145ed631f59a9616c02";
-  revision = "3";
-  editedCabalFile = "19klgkhkca9qgq2ylc41z85x7piagjh8wranriy48dcfkgraw94a";
+  version = "0.8.7";
+  sha256 = "6414eeac27a1633f49e2f78199ced99ce8ce3d70b658cf6d55b1d81ff60cb961";
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
diff --git a/pkgs/unix-compat.nix b/pkgs/unix-compat.nix
index b4785353..7f6c859f 100644
--- a/pkgs/unix-compat.nix
+++ b/pkgs/unix-compat.nix
@@ -3,6 +3,7 @@
 , base
 , directory
 , extra
+, fetchgit
 , hspec
 , lib
 , monad-parallel
@@ -11,10 +12,13 @@
 }:
 mkDerivation {
   pname = "unix-compat";
-  version = "0.6";
-  sha256 = "b4cd823a6543ad3aca8e740ecf5f44aabde60f1452b5a55655db5c8b7a44d5f8";
-  revision = "1";
-  editedCabalFile = "0g5mi6rh977idajgxnnlsd7dp28vf4xwiiwpsc4pj1rqv0lhjp8g";
+  version = "0.7";
+  src = fetchgit {
+    url = "https://github.com/mitchellwrosen/fork--unix-compat";
+    sha256 = "05bnsbaswlsjgb8hrvabwdxzj4ii0kabj8mk47iczlwks6rimlgl";
+    rev = "f28060acd449643d267954647c1bb7c748c35fa9";
+    fetchSubmodules = true;
+  };
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;
-- 
GitLab