fix: overlay postgres extensions
This commit is contained in:
38
flake.nix
38
flake.nix
@@ -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 =
|
||||||
|
|||||||
10
package/c/postgreact/Makefile
Normal file
10
package/c/postgreact/Makefile
Normal 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)
|
||||||
Reference in New Issue
Block a user