Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 37 additions & 45 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2667,22 +2667,6 @@ self: super: {
ghc-source-gen = doJailbreak super.ghc-source-gen;
ghc-source-gen_0_4_5_0 = doJailbreak super.ghc-source-gen_0_4_5_0;

psqueues = lib.pipe super.psqueues [
(overrideCabal { editedCabalFile = null; revision = null; } )
(appendPatch
# https://github.com/jaspervdj/psqueues/pull/59
(pkgs.fetchpatch {
url = "https://github.com/jaspervdj/psqueues/commit/281e458a3aa69b1cfc97f32e39eee0bee3035b3f.patch";
hash = "sha256-dcL2QShMMaiENhdGsLiVYTuorNb20NSBTHsGBM04ULw=";
}))
];

# Support tasty-quickcheck 0.11: https://github.com/nikita-volkov/deferred-folds/pull/8
deferred-folds = appendPatch (fetchpatch {
url = "https://github.com/nikita-volkov/deferred-folds/commit/27bd67d49f52d6826ea69c3a85e5297408266ad0.patch";
sha256 = "sha256-4LUoAIX0e4VZrka6nIrlccBHDMTbd1hGQCtRoJDAl74=";
}) super.deferred-folds;

# Support tasty-quickcheck 0.11: https://github.com/Bodigrim/mod/pull/26
mod = appendPatch (fetchpatch {
url = "https://github.com/Bodigrim/mod/commit/30596fb9d85b69ec23ecb05ef9a7c91d67901cfd.patch";
Expand Down Expand Up @@ -2787,36 +2771,44 @@ self: super: {
# https://github.com/brandonchinn178/tasty-autocollect/issues/54
tasty-autocollect = dontCheck super.tasty-autocollect;

postgrest = lib.pipe super.postgrest [
# 2023-12-20: New version needs extra dependencies
(addBuildDepends [ self.extra self.fuzzyset_0_2_4 self.cache self.timeit ])
# 2022-12-02: Too strict bounds.
doJailbreak
# 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275
(overrideSrc rec {
version = "12.0.3";
src = pkgs.fetchFromGitHub {
owner = "PostgREST";
repo = "postgrest";
rev = "v${version}";
hash = "sha256-peXM5/K034Phcy5vNhc5AT3/9oGXohVogFN9gRsSosY=";
};
})
# 2024-11-03: Needed for the patch below. Can be dropped after updating to 12.2+.
(appendPatches [
(fetchpatch {
url = "https://github.com/PostgREST/postgrest/commit/d311fb17c46ad2ab9064c7aba1954d3500ef0e54.patch";
hash = "sha256-O/bBm93V6GIPSB5dwhNUFgX3vXA01LPJapZQoeJmbIU=";
})
])
# 2024-11-03: Fixes build on aarch64-darwin. Can be removed after updating to 13+.
(appendPatches [
(fetchpatch {
url = "https://github.com/PostgREST/postgrest/commit/c045b261c4f7d2c2514e858120950be6b3ddfba8.patch";
hash = "sha256-6SeteL5sb+/K1y3f9XL7yNzXDdD1KQp91RNP4kutSLE=";
# unbreak with tasty-quickcheck 0.11
text-builder = super.text-builder_0_6_7_3;

postgrest = lib.pipe
(super.postgrest.overrideScope (self: super: {
# 2025-01-19: Upstream is stuck at hasql < 1.7
# Jailbreaking for newer postgresql-libpq, which seems to work fine
postgresql-binary = dontCheck (doJailbreak super.postgresql-binary_0_13_1_3);
hasql = dontCheck (doJailbreak super.hasql_1_6_4_4);
# Matching dependencies for hasql < 1.6.x
hasql-dynamic-statements = dontCheck super.hasql-dynamic-statements_0_3_1_5;
hasql-implicits = dontCheck super.hasql-implicits_0_1_1_3;
hasql-notifications = dontCheck super.hasql-notifications_0_2_2_0;
hasql-pool = dontCheck super.hasql-pool_1_0_1;
hasql-transaction = dontCheck super.hasql-transaction_1_1_0_1;
})) [
# 2023-12-20: New version needs extra dependencies
(addBuildDepends [ self.extra self.fuzzyset_0_2_4 self.cache self.timeit self.prometheus-client ])
# 2022-12-02: Too strict bounds.
doJailbreak
# 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275
(overrideSrc rec {
version = "12.2.7";
src = pkgs.fetchFromGitHub {
owner = "PostgREST";
repo = "postgrest";
rev = "v${version}";
hash = "sha256-4lKA+U7J8maKiDX9CWxWGjepGKSUu4ZOAA188yMt0bU=";
};
})
])
];
# 2024-11-03: Fixes build on aarch64-darwin. Can be removed after updating to 13+.
(appendPatches [
(fetchpatch {
url = "https://github.com/PostgREST/postgrest/commit/c045b261c4f7d2c2514e858120950be6b3ddfba8.patch";
hash = "sha256-6SeteL5sb+/K1y3f9XL7yNzXDdD1KQp91RNP4kutSLE=";
})
])
];

# Too strict bounds on hspec < 2.11
fuzzyset_0_2_4 = doJailbreak super.fuzzyset_0_2_4;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,13 @@ extra-packages:
- shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.*
- 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
- postgresql-binary < 0.14 # 2025-01-19: Needed for building postgrest
- hasql < 1.7 # 2025-01-19: Needed for building postgrest
- hasql-dynamic-statements < 0.3.1.6 # 2025-01-19: Needed for building postgrest
- hasql-implicits < 0.2 # 2025-01-19: Needed for building postgrest
- hasql-notifications < 0.2.3 # 2025-01-19: Needed for building postgrest
- hasql-pool < 1.1 # 2025-01-19: Needed for building postgrest
- hasql-transaction < 1.1.1 # 2025-01-19: Needed for building postgrest
- ShellCheck == 0.9.0 # 2024-03-21: pinned by haskell-ci
- versions < 6 # 2024-04-22: required by spago-0.21
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
Expand Down
12 changes: 10 additions & 2 deletions pkgs/development/haskell-modules/configuration-nix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1479,11 +1479,19 @@ self: super: builtins.intersectAttrs super {

postgresql-libpq-configure = overrideCabal
(drv: {
librarySystemDepends = (drv.librarySystemDepends or [ ]) ++ [ pkgs.postgresql ];
librarySystemDepends = (drv.librarySystemDepends or [ ]) ++ [ pkgs.libpq ];
})
super.postgresql-libpq-configure;

postgresql-libpq-pkgconfig = addPkgconfigDepend pkgs.postgresql super.postgresql-libpq-pkgconfig;
postgresql-libpq-pkgconfig = addPkgconfigDepend
# Building postgresql-libpq with PG17 in pkgsStatic works fine, but downstream can't link against it with:
# > /nix/store/7ir63m9sbqzflf3yfynn45i109w6a5iz-x86_64-unknown-linux-musl-binutils-2.43.1/bin/x86_64-unknown-linux-musl-ld:
# /nix/store/vj7fwxbyvs15zrjbb9vafxbwmc05hl70-postgresql-static-x86_64-unknown-linux-musl-17.2-dev/lib/libpq.a(fe-connect.o):
# in function `PQsetClientEncoding':
# > (.text.PQsetClientEncoding+0xdf): undefined reference to `pg_encoding_to_char'
# Falling back to v16 to work around it.
(if pkgs.stdenv.hostPlatform.isStatic then pkgs.postgresql_16 else pkgs.libpq)
super.postgresql-libpq-pkgconfig;

# Test failure is related to a GHC implementation detail of primitives and doesn't
# cause actual problems in dependent packages, see https://github.com/lehins/pvar/issues/4
Expand Down
151 changes: 151 additions & 0 deletions pkgs/development/haskell-modules/hackage-packages.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions pkgs/top-level/release-haskell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,7 @@ let
cabal2nix
terminfo # isn't bundled for cross
xhtml # isn't bundled for cross
postgrest
;
};

Expand All @@ -467,6 +468,7 @@ let
cabal2nix
terminfo # isn't bundled for cross
xhtml # isn't bundled for cross
postgrest
;
};

Expand Down