base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / pg / pgcopydb / package.nix
blob1fda00a750e91586bd287d30e10859919860719a
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , libkrb5
5 , openssl
6 , pam
7 , pkg-config
8 , postgresql
9 , readline
10 , sqlite
11 , testers
12 , zlib
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "pgcopydb";
17   version = "0.15";
19   src = fetchFromGitHub {
20     owner = "dimitri";
21     repo = "pgcopydb";
22     rev = "v${finalAttrs.version}";
23     hash = "sha256-m9iIF8h6V3wWLUQuPntXtRAh16RrmR3uqZZIljGCY08=";
24   };
26   nativeBuildInputs = [
27     pkg-config
28   ];
30   buildInputs = [
31     libkrb5
32     openssl
33     postgresql
34     readline
35     sqlite
36     zlib
37   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
38     pam
39   ];
41   hardeningDisable = [ "format" ];
43   installPhase = ''
44     runHook preInstall
46     install -D -t $out/bin/ src/bin/pgcopydb/pgcopydb
48     runHook postInstall
49   '';
51   passthru.tests = {
52     version = testers.testVersion {
53       package = finalAttrs.finalPackage;
54     };
55   };
57   meta = with lib; {
58     description = "Copy a Postgres database to a target Postgres server (pg_dump | pg_restore on steroids";
59     homepage = "https://github.com/dimitri/pgcopydb";
60     changelog = "https://github.com/dimitri/pgcopydb/blob/${finalAttrs.src.rev}/CHANGELOG.md";
61     license = licenses.postgresql;
62     maintainers = [ ];
63     mainProgram = "pgcopydb";
64     platforms = platforms.all;
65   };