diff options
-rw-r--r-- | pkgs/applications/science/logic/key/default.nix | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix index e6cd5038715..769fe6aff23 100644 --- a/pkgs/applications/science/logic/key/default.nix +++ b/pkgs/applications/science/logic/key/default.nix @@ -5,6 +5,8 @@ , perl , jre , makeWrapper +, makeDesktopItem +, copyDesktopItems , testVersion , key }: @@ -45,12 +47,29 @@ in stdenv.mkDerivation rec { jdk gradle_7 makeWrapper + copyDesktopItems + ]; + + executable-name = "KeY"; + + desktopItems = [ + (makeDesktopItem { + name = "KeY"; + exec = executable-name; + icon = "key"; + comment = meta.description; + desktopName = "KeY"; + genericName = "KeY"; + categories = "Science;"; + }) ]; # disable tests (broken on darwin) gradleAction = if stdenv.isDarwin then "assemble" else "build"; buildPhase = '' + runHook preBuild + export GRADLE_USER_HOME=$(mktemp -d) # https://github.com/gradle/gradle/issues/4426 ${lib.optionalString stdenv.isDarwin "export TERM=dumb"} @@ -59,14 +78,22 @@ in stdenv.mkDerivation rec { cat <(echo "pluginManagement { repositories { maven { url '${deps}' } } }") settings.gradle > settings_new.gradle mv settings_new.gradle settings.gradle gradle --offline --no-daemon ${gradleAction} + + runHook postBuild ''; installPhase = '' + runHook preInstall + mkdir -p $out/share/java cp key.ui/build/libs/key-*-exe.jar $out/share/java/KeY.jar mkdir -p $out/bin + mkdir -p $out/share/icons/hicolor/256x256/apps + cp key.ui/src/main/resources/de/uka/ilkd/key/gui/images/key-color-icon-square.png $out/share/icons/hicolor/256x256/apps/key.png makeWrapper ${jre}/bin/java $out/bin/KeY \ --add-flags "-cp $out/share/java/KeY.jar de.uka.ilkd.key.core.Main" + + runHook postInstall ''; passthru.tests.version = |