at 24.11-pre 2.3 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{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip 4, jre 5, drivers ? [] 6}: 7stdenv.mkDerivation rec { 8 pname = "squirrel-sql"; 9 version = "4.7.1"; 10 11 src = fetchurl { 12 url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip"; 13 sha256 = "sha256-Y7eG2otbLjtXvs3mRXWL8jJywuhBQ9i/MfWJXvkxnuU="; 14 }; 15 16 nativeBuildInputs = [ makeWrapper unzip ]; 17 buildInputs = [ jre ]; 18 19 unpackPhase = '' 20 runHook preUnpack 21 unzip ${src} 22 runHook postUnpack 23 ''; 24 25 buildPhase = '' 26 runHook preBuild 27 cd squirrelsql-${version}-standard 28 chmod +x squirrel-sql.sh 29 runHook postBuild 30 ''; 31 32 installPhase = '' 33 runHook preInstall 34 35 mkdir -p $out/share/squirrel-sql 36 cp -r . $out/share/squirrel-sql 37 38 mkdir -p $out/bin 39 cp="" 40 for pkg in ${builtins.concatStringsSep " " drivers}; do 41 if test -n "$cp"; then 42 cp="$cp:" 43 fi 44 cp="$cp"$(echo $pkg/share/java/*.jar | tr ' ' :) 45 done 46 makeWrapper $out/share/squirrel-sql/squirrel-sql.sh $out/bin/squirrel-sql \ 47 --set CLASSPATH "$cp" \ 48 --set JAVA_HOME "${jre}" 49 # Make sure above `CLASSPATH` gets picked up 50 substituteInPlace $out/share/squirrel-sql/squirrel-sql.sh --replace "-cp \"\$CP\"" "-cp \"\$CLASSPATH:\$CP\"" 51 52 mkdir -p $out/share/icons/hicolor/32x32/apps 53 ln -s $out/share/squirrel-sql/icons/acorn.png \ 54 $out/share/icons/hicolor/32x32/apps/squirrel-sql.png 55 ln -s ${desktopItem}/share/applications $out/share 56 57 runHook postInstall 58 ''; 59 60 desktopItem = makeDesktopItem { 61 name = "squirrel-sql"; 62 exec = "squirrel-sql"; 63 comment = meta.description; 64 desktopName = "SQuirreL SQL"; 65 genericName = "SQL Client"; 66 categories = [ "Development" ]; 67 icon = "squirrel-sql"; 68 }; 69 70 meta = with lib; { 71 description = "Universal SQL Client"; 72 mainProgram = "squirrel-sql"; 73 homepage = "http://squirrel-sql.sourceforge.net/"; 74 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 75 license = licenses.lgpl21Plus; 76 platforms = platforms.linux; 77 maintainers = with maintainers; [ khumba ]; 78 }; 79}