diff --git a/pkgs/servers/sql/postgresql/ext/wal2json.nix b/pkgs/servers/sql/postgresql/ext/wal2json.nix new file mode 100644 index 000000000000..d00e3a175328 --- /dev/null +++ b/pkgs/servers/sql/postgresql/ext/wal2json.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, bison, flex, postgresql }: + +stdenv.mkDerivation rec { + pname = "wal2json"; + version = "2.4"; + + src = fetchFromGitHub { + owner = "eulerto"; + repo = "wal2json"; + rev = "wal2json_${builtins.replaceStrings ["."] ["_"] version}"; + sha256 = "sha256-EB+tCaILWsU9fDhqosl6EyMoYBd6SHISFfyxiZ9pNOk="; + }; + + buildInputs = [ postgresql ]; + + makeFlags = [ "USE_PGXS=1" ]; + + installPhase = '' + install -D -t $out/lib *.so + install -D -t $out/share/postgresql/extension sql/*.sql + ''; + + meta = with lib; { + description = "PostgreSQL JSON output plugin for changeset extraction"; + homepage = "https://github.com/eulerto/wal2json"; + changelog = "https://github.com/eulerto/wal2json/releases/tag/wal2json_${version}"; + maintainers = with maintainers; [ euank ]; + platforms = postgresql.meta.platforms; + license = licenses.bsd3; + }; +} diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix index c789e92c8e3c..775dee206edf 100644 --- a/pkgs/servers/sql/postgresql/packages.nix +++ b/pkgs/servers/sql/postgresql/packages.nix @@ -65,4 +65,6 @@ self: super: { repmgr = super.callPackage ./ext/repmgr.nix { }; rum = super.callPackage ./ext/rum.nix { }; + + wal2json = super.callPackage ./ext/wal2json.nix { }; }