nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 clangStdenv,
4 fetchFromGitHub,
5 boehmgc,
6 libkrb5,
7 openssl,
8 pam,
9 pkg-config,
10 postgresql,
11 readline,
12 sqlite,
13 testers,
14 zlib,
15 python3Packages,
16}:
17
18clangStdenv.mkDerivation (finalAttrs: {
19 pname = "pgcopydb";
20 version = "0.17";
21
22 src = fetchFromGitHub {
23 owner = "dimitri";
24 repo = "pgcopydb";
25 tag = "v${finalAttrs.version}";
26 hash = "sha256-g5MC4F0BYgTimpJZDX+PepFLXv1QuH7XGlzV66xM11M=";
27 };
28
29 nativeBuildInputs = [
30 pkg-config
31 postgresql.pg_config
32 ];
33
34 buildInputs = [
35 boehmgc
36 libkrb5
37 openssl
38 postgresql
39 readline
40 sqlite
41 zlib
42 python3Packages.sphinxHook
43 ]
44 ++ lib.optionals clangStdenv.hostPlatform.isLinux [
45 pam
46 ];
47
48 hardeningDisable = [ "format" ];
49
50 sphinxBuilders = [
51 "man"
52 ];
53
54 installPhase = ''
55 runHook preInstall
56
57 install -D -t $out/bin/ src/bin/pgcopydb/pgcopydb
58
59 runHook postInstall
60 '';
61
62 passthru.tests = {
63 version = testers.testVersion {
64 package = finalAttrs.finalPackage;
65 };
66 };
67
68 meta = {
69 description = "Copy a Postgres database to a target Postgres server (pg_dump | pg_restore on steroids";
70 homepage = "https://github.com/dimitri/pgcopydb";
71 changelog = "https://github.com/dimitri/pgcopydb/blob/${finalAttrs.src.rev}/CHANGELOG.md";
72 license = lib.licenses.postgresql;
73 maintainers = [ ];
74 mainProgram = "pgcopydb";
75 platforms = lib.platforms.all;
76 };
77})