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