{ lib, stdenv, fetchFromGitHub, libkrb5, openssl, postgresql, buildPostgresqlExtension, }: let source = { "17" = { version = "17.0"; hash = "sha256-3ksq09wiudQPuBQI3dhEQi8IkXKLVIsPFgBnwLiicro="; }; "16" = { version = "16.0"; hash = "sha256-8+tGOl1U5y9Zgu+9O5UDDE4bec4B0JC/BQ6GLhHzQzc="; }; "15" = { version = "1.7.0"; hash = "sha256-8pShPr4HJaJQPjW1iPJIpj3CutTx8Tgr+rOqoXtgCcw="; }; "14" = { version = "1.6.2"; hash = "sha256-Bl7Jk2B0deZUDiI391vk4nilwuVGHd1wuaQRSCoA3Mk="; }; "13" = { version = "1.5.2"; hash = "sha256-fyf2Ym0fAAXjc28iFCGDEftPAyDLXmEgi/0DaTJJiIg="; }; "12" = { version = "1.4.3"; hash = "sha256-c8/xUFIHalu2bMCs57DeylK0oW0VnQwmUCpdp+tYqk4="; }; } .${lib.versions.major postgresql.version} or (throw "Source for pgaudit is not available for ${postgresql.version}"); in buildPostgresqlExtension { pname = "pgaudit"; inherit (source) version; src = fetchFromGitHub { owner = "pgaudit"; repo = "pgaudit"; rev = source.version; hash = source.hash; }; buildInputs = [ libkrb5 openssl ]; makeFlags = [ "USE_PGXS=1" ]; enableUpdateScript = false; meta = with lib; { description = "Open Source PostgreSQL Audit Logging"; homepage = "https://github.com/pgaudit/pgaudit"; changelog = "https://github.com/pgaudit/pgaudit/releases/tag/${source.version}"; maintainers = with maintainers; [ idontgetoutmuch ]; platforms = postgresql.meta.platforms; license = licenses.postgresql; }; }