fix: overlay postgres extensions

This commit is contained in:
2025-04-18 20:39:06 +00:00
parent e607bf09fa
commit 10a0a08dcd
2 changed files with 31 additions and 17 deletions

View File

@@ -368,7 +368,6 @@
}; };
overlays.default = final: prev: ( overlays.default = final: prev: (
let let
version = "1.6.1";
pkgs-unstable = import nixpkgs-unstable { inherit (prev) system; }; pkgs-unstable = import nixpkgs-unstable { inherit (prev) system; };
buildPgrxExtension = buildPgrxExtension =
@@ -423,45 +422,50 @@
}; };
nativeBuildInputs = with prev; [pkg-config curl ghc haskellPackages.hsc2hs haskellPackages.HSFFIG]; nativeBuildInputs = with prev; [pkg-config curl ghc haskellPackages.hsc2hs haskellPackages.HSFFIG];
}; };
buildHttpExt = versionSuffix: buildHttpExt = versionSuffix: let
buildPostgresqlExtension { version = "1.6.1";
in buildPostgresqlExtension {
postgresql = prev."postgresql_${versionSuffix}"; postgresql = prev."postgresql_${versionSuffix}";
} { } {
pname = "http"; pname = "http";
inherit version; inherit version;
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub { owner = "pramsey"; repo = "pgsql-http"; rev = "v${version}"; hash = "sha256-C8eqi0q1dnshUAZjIsZFwa5FTYc7vmATF3vv2CReWPM="; }; nativeBuildInputs = with prev; [pkg-config curl]; };
owner = "pramsey"; buildHelloExt = versionSuffix: let
repo = "pgsql-http"; postgresql = prev."postgresql_${versionSuffix}";
rev = "v${version}"; in buildPostgresqlExtension {
hash = "sha256-C8eqi0q1dnshUAZjIsZFwa5FTYc7vmATF3vv2CReWPM="; inherit postgresql;
}; } {
nativeBuildInputs = with prev; [pkg-config curl]; pname = "postgrect";
version = "0.1";
src = ./package/c/postgreact;
nativeBuildInputs = with prev; [pkg-config];
preInstall = ''mkdir $out'';
}; };
in { in {
hectic = self.packages.${prev.system}; hectic = self.packages.${prev.system};
postgresql_17 = prev.postgresql_17 // {pkgs = prev.postgresql_17.pkgs // { postgresql_17 = prev.postgresql_17 // {pkgs = prev.postgresql_17.pkgs // {
http = buildHttpExt "17"; http = buildHttpExt "17";
pg_smtp_client = buildSmtpExt "17"; pg_smtp_client = buildSmtpExt "17";
plhaskell = buildPlHaskellExt "15"; plhaskell = buildPlHaskellExt "17";
postgreact = prev.callPackage ./package/c/postgreact/default.nix { postgresql = prev.postgresql_17; }; postgreact = buildHelloExt "17";
};}; };};
postgresql_16 = prev.postgresql_16 // {pkgs = prev.postgresql_16.pkgs // { postgresql_16 = prev.postgresql_16 // {pkgs = prev.postgresql_16.pkgs // {
http = buildHttpExt "16"; http = buildHttpExt "16";
pg_smtp_client = buildSmtpExt "16"; pg_smtp_client = buildSmtpExt "16";
plhaskell = buildPlHaskellExt "15"; plhaskell = buildPlHaskellExt "16";
postgreact = prev.callPackage ./package/c/postgreact/default.nix { postgresql = prev.postgresql_16; }; postgreact = buildHelloExt "16";
};}; };};
postgresql_15 = prev.postgresql_15 // {pkgs = prev.postgresql_15.pkgs // { postgresql_15 = prev.postgresql_15 // {pkgs = prev.postgresql_15.pkgs // {
http = buildHttpExt "15"; http = buildHttpExt "15";
pg_smtp_client = buildSmtpExt "15"; pg_smtp_client = buildSmtpExt "15";
plhaskell = buildPlHaskellExt "15"; plhaskell = buildPlHaskellExt "15";
postgreact = prev.callPackage ./package/c/postgreact/default.nix { postgresql = prev.postgresql_15; }; postgreact = buildHelloExt "15";
};}; };};
postgresql_14 = prev.postgresql_14 // {pkgs = prev.postgresql_14.pkgs // { postgresql_14 = prev.postgresql_14 // {pkgs = prev.postgresql_14.pkgs // {
http = buildHttpExt "14"; http = buildHttpExt "14";
pg_smtp_client = buildSmtpExt "14"; pg_smtp_client = buildSmtpExt "14";
plhaskell = buildPlHaskellExt "15"; plhaskell = buildPlHaskellExt "14";
postgreact = prev.callPackage ./package/c/postgreact/default.nix { postgresql = prev.postgresql_14; }; postgreact = buildHelloExt "14";
};}; };};
writers = let writers = let
writeC = writeC =

View File

@@ -0,0 +1,10 @@
MODULE_big = postgreact
OBJS = postgreact.o
EXTENSION = postgreact
DATA = $(wildcard *.sql)
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)