|
|
|
@ -1,8 +1,9 @@ |
|
|
|
|
{ lib, stdenv, fetchurl, makeWrapper, jdk }: |
|
|
|
|
{ lib, stdenv, fetchurl, jdk, glib, wrapGAppsHook }: |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "bluej"; |
|
|
|
|
version = "5.0.3"; |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
@ -11,18 +12,44 @@ stdenv.mkDerivation rec { |
|
|
|
|
sha256 = "sha256-OarqmptxZc7xEEYeoCVqHXkAvfzfSYx5nUp/iWPyoqw="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ makeWrapper ]; |
|
|
|
|
nativeBuildInputs = [ wrapGAppsHook ]; |
|
|
|
|
buildInputs = [ glib ]; |
|
|
|
|
|
|
|
|
|
unpackPhase = '' |
|
|
|
|
ar xf $src |
|
|
|
|
tar xf data.tar.xz |
|
|
|
|
sourceRoot = "."; |
|
|
|
|
preUnpack = '' |
|
|
|
|
unpackCmdHooks+=(_tryDebData) |
|
|
|
|
_tryDebData() { |
|
|
|
|
if ! [[ "$1" =~ \.deb$ ]]; then return 1; fi |
|
|
|
|
ar xf "$1" |
|
|
|
|
if ! [[ -e data.tar.xz ]]; then return 1; fi |
|
|
|
|
unpackFile data.tar.xz |
|
|
|
|
} |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
installPhase = '' |
|
|
|
|
mkdir -p $out |
|
|
|
|
cp -r usr/* $out |
|
|
|
|
runHook preInstall |
|
|
|
|
|
|
|
|
|
if [ -n "$prefix" ]; then |
|
|
|
|
mkdir -p "$prefix" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
mkdir -p "$out" |
|
|
|
|
|
|
|
|
|
if shopt -q dotglob; then dotglobOpt=$?; else dotglobOpt=$?; fi |
|
|
|
|
shopt -s dotglob |
|
|
|
|
for file in usr/*; do |
|
|
|
|
cp -R "$file" "$out" |
|
|
|
|
done |
|
|
|
|
if (( !dotglobOpt )); then shopt -u dotglob; fi |
|
|
|
|
|
|
|
|
|
runHook postInstall |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
dontWrapGApps = true; |
|
|
|
|
|
|
|
|
|
preFixup = '' |
|
|
|
|
makeWrapper ${jdk}/bin/java $out/bin/bluej \ |
|
|
|
|
"''${gappsWrapperArgs[@]}" \ |
|
|
|
|
--add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp \"$out/share/bluej/bluej.jar\" bluej.Boot" |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
@ -30,7 +57,7 @@ stdenv.mkDerivation rec { |
|
|
|
|
description = "A simple integrated development environment for Java"; |
|
|
|
|
homepage = "https://www.bluej.org/"; |
|
|
|
|
license = licenses.gpl2ClasspathPlus; |
|
|
|
|
maintainers = [ maintainers.chvp ]; |
|
|
|
|
maintainers = with maintainers; [ chvp ]; |
|
|
|
|
platforms = platforms.unix; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|