Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 fetchFromGitHub, 6 installShellFiles, 7 makeWrapper, 8 sbcl, 9 sqlite, 10 freetds, 11 libzip, 12 curl, 13 git, 14 cacert, 15 openssl, 16 sphinx, 17}: 18stdenv.mkDerivation (finalAttrs: { 19 pname = "pgloader"; 20 version = "3.6.9"; 21 22 srcs = [ 23 (fetchurl { 24 url = "https://github.com/dimitri/pgloader/releases/download/v3.6.9/pgloader-bundle-3.6.9.tgz"; 25 sha256 = "sha256-pdCcRmoJnrfVnkhbT0WqLrRbCtOEmRgGRsXK+3uByeA="; 26 }) 27 # needed because bundle does not contain docs / man pages 28 (fetchFromGitHub { 29 owner = "dimitri"; 30 repo = "pgloader"; 31 rev = "v${finalAttrs.version}"; 32 hash = "sha256-lqvfWayaJbZ9xx4CgFfY1g0TKwFEd5IWf+RLLXQddw4="; 33 }) 34 ]; 35 36 sourceRoot = "."; 37 38 nativeBuildInputs = [ 39 git 40 makeWrapper 41 installShellFiles 42 ]; 43 44 buildInputs = [ 45 sbcl 46 cacert 47 sqlite 48 sphinx 49 freetds 50 libzip 51 curl 52 openssl 53 ]; 54 55 LD_LIBRARY_PATH = lib.makeLibraryPath [ 56 sqlite 57 libzip 58 curl 59 git 60 openssl 61 freetds 62 ]; 63 64 buildPhase = '' 65 export PATH=$PATH:$out/bin 66 export HOME=$TMPDIR 67 68 pushd pgloader-bundle-${finalAttrs.version} 69 make pgloader 70 popd 71 72 pushd source/docs 73 make man 74 popd 75 ''; 76 77 dontStrip = true; 78 enableParallelBuilding = false; 79 80 installPhase = '' 81 install -Dm755 pgloader-bundle-${finalAttrs.version}/bin/pgloader "$out/bin/pgloader" 82 wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${finalAttrs.LD_LIBRARY_PATH}" 83 mkdir -p $out/bin $out/man/man1 84 installManPage source/docs/_build/man/*.1 85 ''; 86 87 meta = with lib; { 88 homepage = "https://pgloader.io/"; 89 description = "Loads data into PostgreSQL and allows you to implement Continuous Migration from your current database to PostgreSQL"; 90 mainProgram = "pgloader"; 91 maintainers = with maintainers; [ mguentner ]; 92 license = licenses.postgresql; 93 platforms = platforms.all; 94 }; 95})