From 65b3b59f503675f9ece114a6e4676e8da9885e4d Mon Sep 17 00:00:00 2001 From: Josha Inglis Date: Thu, 30 Jan 2025 20:48:51 +1100 Subject: [PATCH 1/2] maintainers: add joshainglis --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9d1d1f3e2b1991..1e38f564ca3622 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11356,6 +11356,12 @@ github = "josephsurin"; githubId = 14977484; }; + joshainglis = { + name = "Josha Inglis"; + email = "joshainglis@gmail.com"; + github = "joshainglis"; + githubId = 1281131; + }; joshniemela = { name = "Joshua Niemelä"; email = "josh@jniemela.dk"; From 398000e62d2c7883c3e1bf0e25d24def3ad1790c Mon Sep 17 00:00:00 2001 From: Josha Inglis Date: Thu, 30 Jan 2025 20:49:27 +1100 Subject: [PATCH 2/2] postgresqlPackages.pgddl: init at 0.29 --- pkgs/servers/sql/postgresql/ext/default.nix | 2 + pkgs/servers/sql/postgresql/ext/pgddl.nix | 52 +++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 pkgs/servers/sql/postgresql/ext/pgddl.nix diff --git a/pkgs/servers/sql/postgresql/ext/default.nix b/pkgs/servers/sql/postgresql/ext/default.nix index 7c346fbfd0ded0..12793d40c49de0 100644 --- a/pkgs/servers/sql/postgresql/ext/default.nix +++ b/pkgs/servers/sql/postgresql/ext/default.nix @@ -116,6 +116,8 @@ in { tsja = super.callPackage ./tsja.nix { }; wal2json = super.callPackage ./wal2json.nix { }; + + pgddl = super.callPackage ./pgddl.nix {}; } // lib.optionalAttrs config.allowAliases { pg_embedding = throw "PostgreSQL extension `pg_embedding` has been removed since the project has been abandoned. Upstream's recommendation is to use pgvector instead (https://neon.tech/docs/extensions/pg_embedding#migrate-from-pg_embedding-to-pgvector)"; } diff --git a/pkgs/servers/sql/postgresql/ext/pgddl.nix b/pkgs/servers/sql/postgresql/ext/pgddl.nix new file mode 100644 index 00000000000000..61ef2095ccdcb4 --- /dev/null +++ b/pkgs/servers/sql/postgresql/ext/pgddl.nix @@ -0,0 +1,52 @@ +{ + lib, + fetchFromGitHub, + postgresql, + buildPostgresqlExtension, + postgresqlTestExtension, + perl, +}: +buildPostgresqlExtension (finalAttrs: { + pname = "pgddl"; + version = "0.29"; + + src = fetchFromGitHub { + owner = "lacanoid"; + repo = "pgddl"; + tag = finalAttrs.version; + hash = "sha256-W3G6TGtkj+zXXdGZZR0bmZhsLuFJvuGTlDoo8kL8sf0="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + postgresql + perl + ]; + + preBuild = '' + patchShebangs --build ./bin/ ./docs + ''; + + passthru.tests.extension = postgresqlTestExtension { + inherit (finalAttrs) finalPackage; + sql = '' + CREATE EXTENSION ddlx; + + CREATE TABLE a(i int PRIMARY KEY, j int); + + SELECT ddlx_create('a'::regclass); + SELECT ddlx_drop('a'::regclass); + SELECT ddlx_script('a'::regclass); + ''; + }; + + meta = { + description = "DDL eXtractor functions for PostgreSQL"; + homepage = "https://github.com/lacanoid/pgddl"; + changelog = "https://github.com/lacanoid/pgddl/releases/tag/${finalAttrs.version}"; + platforms = postgresql.meta.platforms; + maintainers = [ lib.maintainers.joshainglis ]; + license = lib.licenses.postgresql; + }; +})