jflap: refactoring, add xdg desktop item (#173905)

Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>

authored by yuuyins Sandro Jäckel and committed by GitHub 877edc57 30d68aef

+72 -35
+70
pkgs/applications/science/engineering/jflap/default.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchurl 4 + , jre8 5 + , makeWrapper 6 + , makeDesktopItem 7 + , copyDesktopItems 8 + }: 9 + 10 + stdenvNoCC.mkDerivation rec { 11 + pname = "jflap"; 12 + version = "7.1"; 13 + 14 + src = fetchurl { 15 + url = "https://www.jflap.org/jflaptmp/july27-18/JFLAP${version}.jar"; 16 + sha256 = "oiwJXdxWsYFj6Ovu7xZbOgTLVw8160a5YQUWbgbJlAY="; 17 + }; 18 + 19 + nativeBuildInputs = [ 20 + makeWrapper 21 + copyDesktopItems 22 + ]; 23 + 24 + buildInputs = [ 25 + jre8 26 + ]; 27 + 28 + dontUnpack = true; 29 + 30 + desktopItems = [ 31 + (makeDesktopItem { 32 + name = "jflap"; 33 + desktopName = "jflap"; 34 + genericName = "Formal language application"; 35 + exec = "jflap"; 36 + icon = fetchurl { 37 + url = "https://www.jflap.org/jflapLogo2.jpg"; 38 + sha256 = "sha256-IiworHI+GT6Fm6B0E+FXnKe+hN8nZYPrxHGZFAcsWDw="; 39 + }; 40 + comment = meta.description; 41 + categories = [ 42 + "Development" 43 + "Education" 44 + "ComputerScience" 45 + "DataVisualization" 46 + "Engineering" 47 + "Java" 48 + ]; 49 + }) 50 + ]; 51 + 52 + installPhase = '' 53 + runHook preInstall 54 + mkdir -p $out/share/java 55 + cp -s $src $out/share/java/jflap.jar 56 + makeWrapper ${jre8}/bin/java $out/bin/jflap \ 57 + --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" \ 58 + --add-flags "-jar $out/share/java/jflap.jar" 59 + runHook postInstall 60 + ''; 61 + 62 + meta = with lib; { 63 + description = "GUI tool for experimenting with formal languages topics"; 64 + homepage = "https://www.jflap.org/"; 65 + license = licenses.unfree; 66 + sourceProvenance = with sourceTypes; [ binaryBytecode ]; 67 + maintainers = with maintainers; [ grnnja yuu ]; 68 + platforms = jre8.meta.platforms; 69 + }; 70 + }
-33
pkgs/applications/science/programming/jflap/default.nix
··· 1 - { lib, stdenv, fetchurl, jre, makeWrapper }: 2 - 3 - stdenv.mkDerivation rec { 4 - pname = "jflap"; 5 - version = "7.1"; 6 - 7 - src = fetchurl { 8 - url = "https://www.jflap.org/jflaptmp/july27-18/JFLAP7.1.jar"; 9 - sha256 = "oiwJXdxWsYFj6Ovu7xZbOgTLVw8160a5YQUWbgbJlAY="; 10 - }; 11 - 12 - nativeBuildInputs = [ makeWrapper ]; 13 - 14 - dontUnpack = true; 15 - dontBuild = true; 16 - 17 - installPhase = '' 18 - runHook preInstall 19 - mkdir -p $out/share/java 20 - cp -s $src $out/share/java/jflap.jar 21 - makeWrapper ${jre}/bin/java $out/bin/jflap --add-flags "-jar $out/share/java/jflap.jar" 22 - runHook postInstall 23 - ''; 24 - 25 - meta = with lib; { 26 - description = "GUI tool for experimenting with formal languages topics"; 27 - homepage = "https://www.jflap.org/"; 28 - license = licenses.unfree; 29 - sourceProvenance = with sourceTypes; [ binaryBytecode ]; 30 - maintainers = [ maintainers.grnnja ]; 31 - platforms = platforms.all; 32 - }; 33 - }
+2 -2
pkgs/top-level/all-packages.nix
··· 33766 33766 33767 33767 groove = callPackage ../applications/science/programming/groove { }; 33768 33768 33769 - jflap = callPackage ../applications/science/programming/jflap { }; 33770 - 33771 33769 plm = callPackage ../applications/science/programming/plm { }; 33772 33770 33773 33771 ### SCIENCE/LOGIC ··· 34025 34023 ### SCIENCE / ENGINEERING 34026 34024 34027 34025 brmodelo = callPackage ../applications/science/engineering/brmodelo { }; 34026 + 34027 + jflap = callPackage ../applications/science/engineering/jflap { }; 34028 34028 34029 34029 ### SCIENCE / ELECTRONICS 34030 34030