From df916f03ff9bd5144d3afbff81c46b72f3ae3a7f Mon Sep 17 00:00:00 2001 From: uku Date: Fri, 28 Mar 2025 11:09:13 +0100 Subject: [PATCH] sql-developer: init at 24.3.1.347.1826 --- pkgs/all-packages.nix | 1 + pkgs/sql-developer.nix | 69 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 pkgs/sql-developer.nix diff --git a/pkgs/all-packages.nix b/pkgs/all-packages.nix index 0de66a0..9863104 100644 --- a/pkgs/all-packages.nix +++ b/pkgs/all-packages.nix @@ -4,5 +4,6 @@ final: prev: { jaspersoft-studio-community = prev.callPackage ./jaspersoft-studio-community.nix { }; openwebstart = prev.callPackage ./openwebstart.nix { }; shlink = prev.callPackage ./shlink/package.nix { }; + sql-developer = prev.callPackage ./sql-developer.nix { }; vineflower = prev.callPackage ./vineflower.nix { }; } diff --git a/pkgs/sql-developer.nix b/pkgs/sql-developer.nix new file mode 100644 index 0000000..263f237 --- /dev/null +++ b/pkgs/sql-developer.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenvNoCC, + autoPatchelfHook, + copyDesktopItems, + fetchzip, + file, + gtk2-x11, + gtk3, + makeDesktopItem, + makeWrapper, + temurin-bin-17, + xorg, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "sql-developer"; + version = "24.3.1.347.1826"; + + src = fetchzip { + url = "https://download.oracle.com/otn_software/java/sqldeveloper/sqldeveloper-${finalAttrs.version}-no-jre.zip"; + hash = "sha256-y32TVnCuLhpHpo2nn8wOV1zV7nuRnBkApSxrOhx7wZg="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + copyDesktopItems + makeWrapper + ]; + + buildInputs = [ + gtk2-x11 + gtk3 + temurin-bin-17 + xorg.libXxf86vm + ]; + + autoPatchelfIgnoreMissingDeps = [ "libav*" ]; + + postBuild = '' + echo "AddVM9OrHigherOption --add-exports=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED" >> ide/bin/jdk.conf + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/sql-developer + cp -r {,.}* $out/share/sql-developer/ + + install -Dm644 icon.png $out/share/pixmaps/sql-developer.png + + makeWrapper $out/share/sql-developer/sqldeveloper.sh $out/bin/sql-developer \ + --set JAVA_HOME ${temurin-bin-17} \ + --prefix PATH : ${lib.makeBinPath [ file ]} + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "sql-developer"; + desktopName = "Oracle SQL Developer"; + type = "Application"; + exec = "sql-developer %U"; + icon = "sql-developer"; + }) + ]; + + meta.mainProgram = "sql-developer"; +})