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 = "3.8.1"; 9in stdenv.mkDerivation rec { 10 name = "squirrel-sql-${version}"; 11 12 src = fetchurl { 13 url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip"; 14 sha256 = "1vv38i4rwm8c8h0p9mmz21dyafd71pqprj7b8i5vx7f4q8xns2d2"; 15 }; 16 17 buildInputs = [ 18 jre makeWrapper stdenv unzip 19 ]; 20 21 unpackPhase = '' 22 unzip ${src} 23 ''; 24 25 buildPhase = '' 26 cd squirrelsql-${version}-standard 27 chmod +x squirrel-sql.sh 28 ''; 29 30 installPhase = '' 31 mkdir -p $out/share/squirrel-sql 32 cp -r . $out/share/squirrel-sql 33 34 mkdir -p $out/bin 35 cp="" 36 for pkg in ${builtins.concatStringsSep " " drivers}; do 37 if test -n "$cp"; then 38 cp="$cp:" 39 fi 40 cp="$cp"$(echo $pkg/share/java/*.jar | tr ' ' :) 41 done 42 makeWrapper $out/share/squirrel-sql/squirrel-sql.sh $out/bin/squirrel-sql \ 43 --set CLASSPATH "$cp" \ 44 --set JAVA_HOME "${jre}" 45 46 mkdir -p $out/share/icons/hicolor/32x32/apps 47 ln -s $out/share/squirrel-sql/icons/acorn.png \ 48 $out/share/icons/hicolor/32x32/apps/squirrel-sql.png 49 ln -s ${desktopItem}/share/applications $out/share 50 ''; 51 52 desktopItem = makeDesktopItem { 53 name = "squirrel-sql"; 54 exec = "squirrel-sql"; 55 comment = meta.description; 56 desktopName = "SQuirreL SQL"; 57 genericName = "SQL Client"; 58 categories = "Development;"; 59 icon = "squirrel-sql"; 60 }; 61 62 meta = { 63 description = "Universal SQL Client"; 64 homepage = http://squirrel-sql.sourceforge.net/; 65 license = stdenv.lib.licenses.lgpl21; 66 platforms = stdenv.lib.platforms.linux; 67 maintainers = with stdenv.lib.maintainers; [ khumba ]; 68 }; 69}