Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 20.09 79 lines 2.2 kB view raw
1# To enable specific database drivers, override this derivation and pass the 2# driver packages in the drivers argument (e.g. mysql_jdbc, postgresql_jdbc). 3{ stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip 4, jre 5, drivers ? [] 6}: 7let 8 version = "4.1.0"; 9in stdenv.mkDerivation rec { 10 pname = "squirrel-sql"; 11 inherit version; 12 13 src = fetchurl { 14 url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip"; 15 sha256 = "0ni7cva0acrin5bkcfkiiv28sf58dzz7xsbl3y4536hmph0g68k6"; 16 }; 17 18 nativeBuildInputs = [ makeWrapper unzip ]; 19 buildInputs = [ jre ]; 20 21 unpackPhase = '' 22 runHook preUnpack 23 unzip ${src} 24 runHook postUnpack 25 ''; 26 27 buildPhase = '' 28 runHook preBuild 29 cd squirrelsql-${version}-standard 30 chmod +x squirrel-sql.sh 31 runHook postBuild 32 ''; 33 34 installPhase = '' 35 runHook preInstall 36 37 mkdir -p $out/share/squirrel-sql 38 cp -r . $out/share/squirrel-sql 39 40 mkdir -p $out/bin 41 cp="" 42 for pkg in ${builtins.concatStringsSep " " drivers}; do 43 if test -n "$cp"; then 44 cp="$cp:" 45 fi 46 cp="$cp"$(echo $pkg/share/java/*.jar | tr ' ' :) 47 done 48 makeWrapper $out/share/squirrel-sql/squirrel-sql.sh $out/bin/squirrel-sql \ 49 --set CLASSPATH "$cp" \ 50 --set JAVA_HOME "${jre}" 51 # Make sure above `CLASSPATH` gets picked up 52 substituteInPlace $out/share/squirrel-sql/squirrel-sql.sh --replace "-cp \"\$CP\"" "-cp \"\$CLASSPATH:\$CP\"" 53 54 mkdir -p $out/share/icons/hicolor/32x32/apps 55 ln -s $out/share/squirrel-sql/icons/acorn.png \ 56 $out/share/icons/hicolor/32x32/apps/squirrel-sql.png 57 ln -s ${desktopItem}/share/applications $out/share 58 59 runHook postInstall 60 ''; 61 62 desktopItem = makeDesktopItem { 63 name = "squirrel-sql"; 64 exec = "squirrel-sql"; 65 comment = meta.description; 66 desktopName = "SQuirreL SQL"; 67 genericName = "SQL Client"; 68 categories = "Development;"; 69 icon = "squirrel-sql"; 70 }; 71 72 meta = with stdenv.lib; { 73 description = "Universal SQL Client"; 74 homepage = "http://squirrel-sql.sourceforge.net/"; 75 license = licenses.lgpl21; 76 platforms = platforms.linux; 77 maintainers = with maintainers; [ khumba ]; 78 }; 79}