From 36f775a9bcc6be3195ddceb304183c647478afab Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 20 Dec 2023 11:26:36 +0100 Subject: [PATCH 1/4] haskellPackages.postgrest: 10.1.1 -> 11.2.2 and fix build --- .../haskell-modules/configuration-common.nix | 31 ++++++++++++------- .../configuration-hackage2nix/broken.yaml | 2 -- .../configuration-hackage2nix/main.yaml | 1 + .../transitive-broken.yaml | 1 - .../haskell-modules/configuration-nix.nix | 10 ++++++ .../haskell-modules/hackage-packages.nix | 25 ++++++++++++--- 6 files changed, 51 insertions(+), 19 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 3ea510b7da68..f9d7324c4695 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -2714,19 +2714,24 @@ self: super: { co-log-polysemy = doJailbreak super.co-log-polysemy; co-log-polysemy-formatting = doJailbreak super.co-log-polysemy-formatting; - # 2022-12-02: Needs newer postgrest package + # 2023-12-20: Needs newer postgrest package and extra dependencies # 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275 # 2022-12-02: Too strict bounds: https://github.com/PostgREST/postgrest/issues/2580 - # 2022-12-02: Tests require running postresql server - postgrest = dontCheck (doJailbreak (overrideSrc rec { - version = "10.1.1"; - src = pkgs.fetchFromGitHub { - owner = "PostgREST"; - repo = "postgrest"; - rev = "v${version}"; - sha256 = "sha256-ceSPBH+lzGU1OwjolcaE1BCpkKCJrvMU5G8TPeaJesM="; - }; - } super.postgrest)); + postgrest = lib.pipe (super.postgrest.overrideScope (lself: lsuper: { + hasql-pool = lself.hasql-pool_0_10; + })) [ + (addBuildDepends [ self.extra self.fuzzyset_0_2_4 ]) + doJailbreak + (overrideSrc rec { + version = "11.2.2"; + src = pkgs.fetchFromGitHub { + owner = "PostgREST"; + repo = "postgrest"; + rev = "v${version}"; + hash = "sha256-6Nv0NSAiNUSg2T/cmWs7zGSInLSmF0WDA3E/KxlA7O8="; + }; + }) + ]; html-charset = dontCheck super.html-charset; @@ -2820,4 +2825,8 @@ self: super: { ghc-syntax-highlighter = self.ghc-syntax-highlighter_0_0_10_0; }); + # 2024-01-01: Too strict bounds on megaparsec + # Fixed in 0.2.8: https://github.com/PostgREST/configurator-pg/pull/20 + configurator-pg = doJailbreak super.configurator-pg; + } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 3f9b51b943fe..1625bdc608d9 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -889,7 +889,6 @@ broken-packages: - config-parser # failure in job https://hydra.nixos.org/build/233206136 at 2023-09-02 - Configurable # failure in job https://hydra.nixos.org/build/233200781 at 2023-09-02 - configuration # failure in job https://hydra.nixos.org/build/233195399 at 2023-09-02 - - configurator-pg # failure in job https://hydra.nixos.org/build/233219556 at 2023-09-02 - config-value-getopt # failure in job https://hydra.nixos.org/build/233204566 at 2023-09-02 - confsolve # failure in job https://hydra.nixos.org/build/233194913 at 2023-09-02 - congruence-relation # failure in job https://hydra.nixos.org/build/233222125 at 2023-09-02 @@ -1749,7 +1748,6 @@ broken-packages: - future # failure in job https://hydra.nixos.org/build/233224844 at 2023-09-02 - futures # failure in job https://hydra.nixos.org/build/233230206 at 2023-09-02 - fuzzyfind # failure in job https://hydra.nixos.org/build/233206269 at 2023-09-02 - - fuzzyset # failure in job https://hydra.nixos.org/build/233231726 at 2023-09-02 - fuzzy-timings # failure in job https://hydra.nixos.org/build/233235765 at 2023-09-02 - fvars # failure in job https://hydra.nixos.org/build/234461649 at 2023-09-13 - fwgl # failure in job https://hydra.nixos.org/build/233246210 at 2023-09-02 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 5a865d254459..47ac2ef1e56d 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -147,6 +147,7 @@ extra-packages: - shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.* - unix-compat < 0.7 # 2023-07-04: Need System.PosixCompat.User for git-annex - algebraic-graphs < 0.7 # 2023-08-14: Needed for building weeder < 2.6.0 + - fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10 package-maintainers: abbradar: diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index 033f1a63b5c8..cc084eb63cfd 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -3114,7 +3114,6 @@ dont-distribute-packages: - postgresql-tx-query - postgresql-tx-squeal - postgresql-tx-squeal-compat-simple - - postgrest - postmark - potoki - potoki-cereal diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 03f065d632e9..cecd27e023da 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -422,8 +422,18 @@ self: super: builtins.intersectAttrs super { hasql-interpolate = dontCheck super.hasql-interpolate; hasql-notifications = dontCheck super.hasql-notifications; hasql-pool = dontCheck super.hasql-pool; + hasql-pool_0_10 = dontCheck super.hasql-pool_0_10; hasql-transaction = dontCheck super.hasql-transaction; + # Test suite requires a running postgresql server, + # avoid compiling twice by providing executable as a separate output (with small closure size), + # generate shell completion + postgrest = lib.pipe super.postgrest [ + dontCheck + enableSeparateBinOutput + (self.generateOptparseApplicativeCompletions [ "postgrest" ]) + ]; + # Tries to mess with extended POSIX attributes, but can't in our chroot environment. xattr = dontCheck super.xattr; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c738c0fa1d82..741b54668bc0 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -72116,8 +72116,6 @@ self: { ]; description = "Reduced parser for configurator-ng config files"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "conformance" = callPackage @@ -112734,6 +112732,26 @@ self: { broken = true; }) {}; + "fuzzyset_0_2_4" = callPackage + ({ mkDerivation, base, data-default, hspec, ieee754, text + , text-metrics, unordered-containers, vector + }: + mkDerivation { + pname = "fuzzyset"; + version = "0.2.4"; + sha256 = "0rj6d5z2cy954w3xzq4dfn0i3dg2idb8y2lcf2f10ar42r58zhxn"; + libraryHaskellDepends = [ + base data-default text text-metrics unordered-containers vector + ]; + testHaskellDepends = [ + base data-default hspec ieee754 text text-metrics + unordered-containers vector + ]; + description = "Fuzzy set for approximate string matching"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "fuzzyset" = callPackage ({ mkDerivation, base, hspec, ieee754, mtl, text, text-metrics , transformers, unordered-containers, vector @@ -112751,8 +112769,6 @@ self: { ]; description = "Fuzzy set data structure for approximate string matching"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "fuzzytime" = callPackage @@ -238549,7 +238565,6 @@ self: { ]; description = "REST API for any Postgres database"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; mainProgram = "postgrest"; }) {}; From d9e1745681105a35cf50bc4ddb1052edaa622c7e Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Wed, 20 Dec 2023 12:31:54 +0100 Subject: [PATCH 2/4] postgrest: add top-level package --- pkgs/top-level/all-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4778d42ec69..44a7830c24ca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27128,6 +27128,8 @@ with pkgs; postgresqlTestHook = callPackage ../build-support/setup-hooks/postgresql-test-hook { }; + postgrest = haskellPackages.postgrest.bin; + redshift_jdbc = callPackage ../development/java-modules/redshift_jdbc { }; liquibase_redshift_extension = callPackage ../development/java-modules/liquibase_redshift_extension { }; From 677d868ca34ccf131ec0c1b3a18e5fa5ee79af00 Mon Sep 17 00:00:00 2001 From: Rodney Lorrimar Date: Sat, 23 Dec 2023 12:32:01 +0800 Subject: [PATCH 3/4] haskellPackages.postgrest: 11.2.2 -> 12.0.2 https://github.com/PostgREST/postgrest/releases/tag/v12.0.2 --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index f9d7324c4695..c4e4910201a9 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -2723,12 +2723,12 @@ self: super: { (addBuildDepends [ self.extra self.fuzzyset_0_2_4 ]) doJailbreak (overrideSrc rec { - version = "11.2.2"; + version = "12.0.2"; src = pkgs.fetchFromGitHub { owner = "PostgREST"; repo = "postgrest"; rev = "v${version}"; - hash = "sha256-6Nv0NSAiNUSg2T/cmWs7zGSInLSmF0WDA3E/KxlA7O8="; + hash = "sha256-fpGeL8R6hziEtIgHUMfWLF7JAjo3FDYQw3xPSeQH+to="; }; }) ]; From 111c8d73a479f707e920307564c0a16285d1d41a Mon Sep 17 00:00:00 2001 From: Rodney Lorrimar Date: Sat, 23 Dec 2023 12:37:40 +0800 Subject: [PATCH 4/4] haskellPackages.postgrest: Add more build-depends for 12.0.2 --- pkgs/development/haskell-modules/configuration-common.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index c4e4910201a9..850529f06bdf 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -2714,14 +2714,14 @@ self: super: { co-log-polysemy = doJailbreak super.co-log-polysemy; co-log-polysemy-formatting = doJailbreak super.co-log-polysemy-formatting; - # 2023-12-20: Needs newer postgrest package and extra dependencies - # 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275 - # 2022-12-02: Too strict bounds: https://github.com/PostgREST/postgrest/issues/2580 + # 2023-12-20: Needs newer hasql-pool package and extra dependencies postgrest = lib.pipe (super.postgrest.overrideScope (lself: lsuper: { hasql-pool = lself.hasql-pool_0_10; })) [ - (addBuildDepends [ self.extra self.fuzzyset_0_2_4 ]) + (addBuildDepends [ self.extra self.fuzzyset_0_2_4 self.cache self.timeit ]) + # 2022-12-02: Too strict bounds: https://github.com/PostgREST/postgrest/issues/2580 doJailbreak + # 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275 (overrideSrc rec { version = "12.0.2"; src = pkgs.fetchFromGitHub {