jflap: refactoring, add xdg desktop item (#173905)
Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, jre8
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "jflap";
|
||||
version = "7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.jflap.org/jflaptmp/july27-18/JFLAP${version}.jar";
|
||||
sha256 = "oiwJXdxWsYFj6Ovu7xZbOgTLVw8160a5YQUWbgbJlAY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
jre8
|
||||
];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "jflap";
|
||||
desktopName = "jflap";
|
||||
genericName = "Formal language application";
|
||||
exec = "jflap";
|
||||
icon = fetchurl {
|
||||
url = "https://www.jflap.org/jflapLogo2.jpg";
|
||||
sha256 = "sha256-IiworHI+GT6Fm6B0E+FXnKe+hN8nZYPrxHGZFAcsWDw=";
|
||||
};
|
||||
comment = meta.description;
|
||||
categories = [
|
||||
"Development"
|
||||
"Education"
|
||||
"ComputerScience"
|
||||
"DataVisualization"
|
||||
"Engineering"
|
||||
"Java"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/java
|
||||
cp -s $src $out/share/java/jflap.jar
|
||||
makeWrapper ${jre8}/bin/java $out/bin/jflap \
|
||||
--prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" \
|
||||
--add-flags "-jar $out/share/java/jflap.jar"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GUI tool for experimenting with formal languages topics";
|
||||
homepage = "https://www.jflap.org/";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
maintainers = with maintainers; [ grnnja yuu ];
|
||||
platforms = jre8.meta.platforms;
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, jre, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jflap";
|
||||
version = "7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.jflap.org/jflaptmp/july27-18/JFLAP7.1.jar";
|
||||
sha256 = "oiwJXdxWsYFj6Ovu7xZbOgTLVw8160a5YQUWbgbJlAY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/java
|
||||
cp -s $src $out/share/java/jflap.jar
|
||||
makeWrapper ${jre}/bin/java $out/bin/jflap --add-flags "-jar $out/share/java/jflap.jar"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GUI tool for experimenting with formal languages topics";
|
||||
homepage = "https://www.jflap.org/";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
maintainers = [ maintainers.grnnja ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -33766,8 +33766,6 @@ with pkgs;
|
||||
|
||||
groove = callPackage ../applications/science/programming/groove { };
|
||||
|
||||
jflap = callPackage ../applications/science/programming/jflap { };
|
||||
|
||||
plm = callPackage ../applications/science/programming/plm { };
|
||||
|
||||
### SCIENCE/LOGIC
|
||||
@@ -34026,6 +34024,8 @@ with pkgs;
|
||||
|
||||
brmodelo = callPackage ../applications/science/engineering/brmodelo { };
|
||||
|
||||
jflap = callPackage ../applications/science/engineering/jflap { };
|
||||
|
||||
### SCIENCE / ELECTRONICS
|
||||
|
||||
adms = callPackage ../applications/science/electronics/adms { };
|
||||
|
||||
Reference in New Issue
Block a user