nixpkgs/pkgs/applications/misc/pgadmin/default.nix

59 lines
1.6 KiB
Nix

{ stdenv, fetchurl, fetchpatch, postgresql, wxGTK, libxml2, libxslt, openssl, zlib, makeDesktopItem }:
stdenv.mkDerivation rec {
pname = "pgadmin3";
version = "1.22.2";
src = fetchurl {
url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin3/v${version}/src/pgadmin3-${version}.tar.gz";
sha256 = "1b24b356h8z188nci30xrb57l7kxjqjnh6dq9ws638phsgiv0s4v";
};
enableParallelBuilding = true;
buildInputs = [ postgresql wxGTK openssl zlib ];
patches = [
(fetchpatch {
sha256 = "09hp7s3zjz80rpx2j3xyznwswwfxzi70z7c05dzrdk74mqjjpkfk";
name = "843344.patch";
url = "https://sources.debian.net/data/main/p/pgadmin3/1.22.2-1/debian/patches/843344";
})
];
preConfigure = ''
substituteInPlace pgadmin/ver_svn.sh --replace "bin/bash" "$shell"
'';
configureFlags = [
"--with-pgsql=${postgresql}"
"--with-libxml2=${libxml2.dev}"
"--with-libxslt=${libxslt.dev}"
];
meta = with stdenv.lib; {
description = "PostgreSQL administration GUI tool";
homepage = "https://www.pgadmin.org";
license = licenses.gpl2;
maintainers = with maintainers; [ domenkozar wmertens ];
platforms = platforms.unix;
};
postFixup = let
desktopItem = makeDesktopItem {
name = "pgAdmin";
desktopName = "pgAdmin III";
genericName = "SQL Administration";
exec = "pgadmin3";
icon = "pgAdmin3";
type = "Application";
categories = "Development;";
mimeType = "text/html";
};
in ''
mkdir -p $out/share/pixmaps;
cp pgadmin/include/images/pgAdmin3.png $out/share/pixmaps/;
cp -rv ${desktopItem}/share/applications $out/share/
'';
}