summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2018-08-15 23:37:31 +0200
committerFlorian Klink <flokli@flokli.de>2018-08-16 11:38:56 +0200
commit29503b1fece8de9f2dab1299c0220dc8e6de2068 (patch)
tree6221e78854a220d57b46b1d4b8f49d7de2ea70e6 /pkgs/development
parentfe6ebf85b760813d43f6fc4b9447c110eefd340f (diff)
downloadnixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.tar
nixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.tar.gz
nixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.tar.bz2
nixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.tar.lz
nixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.tar.xz
nixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.tar.zst
nixlib-29503b1fece8de9f2dab1299c0220dc8e6de2068.zip
sqldeveloper: simplify, add darwin support
Use unpackCmd and installPhase instead of overwriting buildCommand.
This makes the derivation more readable, and adds binary stripping and
shebang patching of the output as a bonus :-)

Use makeWrapper instead of a custom wrapper script, and only export
environment variables that are used.

Set JAVA_HOME to ${jdk.home}, making it more generic and independent of
the specific jdk path being used (was a different one on zulu). This
fixes sqldeveloper on darwin, so add it to supported platforms
(plus the known-working x86_64-linux)
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/tools/database/sqldeveloper/default.nix28
1 files changed, 11 insertions, 17 deletions
diff --git a/pkgs/development/tools/database/sqldeveloper/default.nix b/pkgs/development/tools/database/sqldeveloper/default.nix
index f2c756e30f12..b950ab0f10ff 100644
--- a/pkgs/development/tools/database/sqldeveloper/default.nix
+++ b/pkgs/development/tools/database/sqldeveloper/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, openjdk }:
+{ stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, jdk }:
 
 let
   version = "17.4.1.054.0712";
@@ -46,29 +46,23 @@ in
 
         nix-prefetch-url --type sha256 file:///path/to/${name}
     '';
-    # obtained by `sha256sum sqldeveloper-${version}-no-jre.zip`
     sha256 = "7e92ca94d02489002db291c96f1d67f9b2501a8967ff3457103fcf60c1eb154a";
   };
 
   buildInputs = [ makeWrapper unzip ];
 
-  buildCommand = ''
-    mkdir -p $out/bin
-    echo  >$out/bin/sqldeveloper '#! ${stdenv.shell}'
-    echo >>$out/bin/sqldeveloper 'export JAVA_HOME=${openjdk}/lib/openjdk'
-    echo >>$out/bin/sqldeveloper 'export JDK_HOME=$JAVA_HOME'
-    echo >>$out/bin/sqldeveloper "cd $out/lib/${name}/sqldeveloper/bin"
-    echo >>$out/bin/sqldeveloper '${stdenv.shell} sqldeveloper "$@"'
-    chmod +x $out/bin/sqldeveloper
+  unpackCmd = "unzip $curSrc";
 
-    mkdir -p $out/lib/
-    cd $out
-    unzip ${src}
-    mv sqldeveloper $out/lib/${name}
+  installPhase = ''
+    mkdir -p $out/libexec $out/share/{applications,pixmaps}
+    mv * $out/libexec/
 
-    install -D -m 444 $out/lib/$name/icon.png $out/share/pixmaps/sqldeveloper.png
-    mkdir -p $out/share/applications
+    mv $out/libexec/icon.png $out/share/pixmaps/sqldeveloper.png
     cp ${desktopItem}/share/applications/* $out/share/applications
+
+    makeWrapper $out/libexec/sqldeveloper/bin/sqldeveloper $out/bin/sqldeveloper \
+      --set JAVA_HOME ${jdk.home} \
+      --run "cd $out/libexec/sqldeveloper/bin"
   '';
 
   meta = with stdenv.lib; {
@@ -84,7 +78,7 @@ in
     '';
     homepage = http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/;
     license = licenses.unfree;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.ardumont ];
-    platforms = platforms.linux;
   };
 }