about summary refs log tree commit diff
path: root/pkgs/by-name/pg
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2024-01-12 04:20:00 +0000
committerMario Rodas <marsam@users.noreply.github.com>2024-01-12 04:20:00 +0000
commitd49258bc6c2d2560a0af8658addd1fff7f3cb769 (patch)
tree2ebad5b1c3a1a2c9ff43c8959c07cc481b9afab9 /pkgs/by-name/pg
parent20683e36b2c0164e3782c426ad34a97c150b44fe (diff)
pgcopydb: init at 0.15
Diffstat (limited to 'pkgs/by-name/pg')
-rw-r--r--pkgs/by-name/pg/pgcopydb/package.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/by-name/pg/pgcopydb/package.nix b/pkgs/by-name/pg/pgcopydb/package.nix
new file mode 100644
index 0000000000000..b65d5ca77b095
--- /dev/null
+++ b/pkgs/by-name/pg/pgcopydb/package.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, libkrb5
+, openssl
+, pam
+, pkg-config
+, postgresql
+, readline
+, sqlite
+, testers
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "pgcopydb";
+  version = "0.15";
+
+  src = fetchFromGitHub {
+    owner = "dimitri";
+    repo = "pgcopydb";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-m9iIF8h6V3wWLUQuPntXtRAh16RrmR3uqZZIljGCY08=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libkrb5
+    openssl
+    postgresql
+    readline
+    sqlite
+    zlib
+  ] ++ lib.optionals stdenv.isLinux [
+    pam
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -t $out/bin/ src/bin/pgcopydb/pgcopydb
+
+    runHook postInstall
+  '';
+
+  passthru.tests = {
+    version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+    };
+  };
+
+  meta = with lib; {
+    description = "Copy a Postgres database to a target Postgres server (pg_dump | pg_restore on steroids";
+    homepage = "https://github.com/dimitri/pgcopydb";
+    changelog = "https://github.com/dimitri/pgcopydb/blob/${finalAttrs.src.rev}/CHANGELOG.md";
+    license = licenses.postgresql;
+    maintainers = with maintainers; [ marsam ];
+    mainProgram = "pgcopydb";
+    platforms = platforms.all;
+  };
+})