bluej: 5.2.0 -> 5.5.0, add weirdrock as maintainer, remove chvp (#441639)
This commit is contained in:
@@ -2,59 +2,97 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
openjdk17,
|
||||
openjfx17,
|
||||
makeDesktopItem,
|
||||
copyDesktopItems,
|
||||
unzip,
|
||||
openjdk21,
|
||||
openjfx21,
|
||||
glib,
|
||||
dpkg,
|
||||
gsettings-desktop-schemas,
|
||||
gtk3,
|
||||
wrapGAppsHook3,
|
||||
imagemagick,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
openjdk = openjdk17.override {
|
||||
openjdk = openjdk21.override {
|
||||
enableJavaFX = true;
|
||||
openjfx_jdk = openjfx17.override { withWebKit = true; };
|
||||
openjfx_jdk = openjfx21.override { withWebKit = true; };
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bluej";
|
||||
version = "5.2.0";
|
||||
version = "5.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
# We use the deb here. First instinct might be to go for the "generic" JAR
|
||||
# download, but that is actually a graphical installer that is much harder
|
||||
# to unpack than the deb.
|
||||
url = "https://www.bluej.org/download/files/BlueJ-linux-${
|
||||
builtins.replaceStrings [ "." ] [ "" ] version
|
||||
}.deb";
|
||||
sha256 = "sha256-sOT86opMa9ytxJlfURIsD06HiP+j+oz3lQ0DqmLV1wE=";
|
||||
url = "https://github.com/k-pet-group/BlueJ-Greenfoot/releases/download/BLUEJ-RELEASE-${finalAttrs.version}/BlueJ-generic-${finalAttrs.version}.jar";
|
||||
sha256 = "sha256-UClhTH/9oFfhjYsScBvmD4cKZUJwuAsiyRTiVkPAV0o=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
unzip -d jar ${finalAttrs.src}
|
||||
unzip -d dist jar/bluej-dist.jar
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
sourceRoot = "dist";
|
||||
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
wrapGAppsHook3
|
||||
copyDesktopItems
|
||||
imagemagick
|
||||
unzip
|
||||
];
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
];
|
||||
buildInputs = [ glib ];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "BlueJ";
|
||||
desktopName = "BlueJ";
|
||||
exec = "BlueJ";
|
||||
icon = "bluej";
|
||||
comment = "A simple powerful Java IDE";
|
||||
categories = [
|
||||
"Application"
|
||||
"Development"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r usr/* $out
|
||||
mkdir -p $out/lib
|
||||
|
||||
rm -r $out/share/bluej/jdk
|
||||
rm -r $out/share/bluej/javafx
|
||||
rm -r $out/share/bluej/javafx-*.jar
|
||||
cp -r ./lib $out/lib/bluej
|
||||
|
||||
mkdir -p $out/share/icons/hicolor/{16x16,32x32,48x48,64x64,128x128,256x256}/apps
|
||||
|
||||
for dimension in 16x16 32x32 48x48 64x64 128x128 256x256; do
|
||||
magick convert ./icons/bluej-icon-512-embossed.png -geometry $dimension\
|
||||
$out/share/icons/hicolor/$dimension/apps/bluej.png
|
||||
done
|
||||
|
||||
makeWrapper ${openjdk}/bin/java $out/bin/bluej \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--add-flags "-Dawt.useSystemAAFontSettings=gasp -Xmx512M \
|
||||
--suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ \
|
||||
--add-flags "-Dawt.useSystemAAFontSettings=on \
|
||||
--add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED \
|
||||
-cp $out/share/bluej/boot.jar bluej.Boot"
|
||||
-cp $out/lib/bluej/boot.jar bluej.Boot"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Simple integrated development environment for Java";
|
||||
homepage = "https://www.bluej.org/";
|
||||
@@ -64,8 +102,8 @@ stdenv.mkDerivation rec {
|
||||
classpathException20
|
||||
];
|
||||
mainProgram = "bluej";
|
||||
maintainers = with lib.maintainers; [ chvp ];
|
||||
maintainers = with lib.maintainers; [ weirdrock ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user