diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 85f590166c0d..1a22d7487a80 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14259,6 +14259,12 @@ githubId = 42215704; name = "Moritz Böhme"; }; + mortenmunk = { + email = "mortenmunk97@gmail.com"; + github = "MortenMunk"; + githubId = 92527083; + name = "Morten Munk"; + }; MostAwesomeDude = { email = "cds@corbinsimpson.com"; github = "MostAwesomeDude"; diff --git a/pkgs/by-name/up/uppaal/package.nix b/pkgs/by-name/up/uppaal/package.nix new file mode 100644 index 000000000000..f61425fbad55 --- /dev/null +++ b/pkgs/by-name/up/uppaal/package.nix @@ -0,0 +1,81 @@ +{ + lib, + stdenvNoCC, + fetchzip, + makeWrapper, + jdk17, + makeDesktopItem, + copyDesktopItems, + wrapGAppsHook3, + shared-mime-info, + gdk-pixbuf, +}: + +stdenvNoCC.mkDerivation rec { + pname = "uppaal"; + version = "5.0"; + subversion = "0"; + platform = "linux64"; + + src = fetchzip { + url = "https://download.uppaal.org/uppaal-${version}/uppaal-${version}.${subversion}/uppaal-${version}.${subversion}-${platform}.zip"; + hash = "sha256-o71mP2/sDNRpmA1Qx59cvx6t4pk5pP0lrn1CogN3PuM="; + }; + + desktopItems = [ + (makeDesktopItem { + name = "uppaal"; + exec = "uppaal %U"; + icon = "uppaal"; + comment = "real-time modelling and verification tool"; + desktopName = "Uppaal"; + genericName = "Uppaal"; + categories = [ "Development" ]; + }) + ]; + + nativeBuildInputs = [ + makeWrapper + wrapGAppsHook3 + copyDesktopItems + ]; + + buildInputs = [ + jdk17 + gdk-pixbuf + shared-mime-info + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + mkdir -p $out/lib/uppaal + for size in 16 32 48 64 96 128; do + install -Dm444 res/icon-"$size"x"$size".png "$out"/share/icons/hicolor/"$size"x"$size"/apps/uppaal.png + done + + cp -r * $out/lib/uppaal + + chmod +x $out/lib/uppaal/uppaal + + makeWrapper $out/lib/uppaal/uppaal $out/bin/uppaal \ + --set JAVA_HOME ${jdk17} \ + --set PATH $out/lib/uppaal:$PATH \ + --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd + + runHook postInstall + ''; + + meta = with lib; { + description = "Integrated tool environment for modeling, validation and verification of real-time systems"; + homepage = "https://uppaal.org/"; + license = licenses.unfreeRedistributable; + platforms = with platforms; linux ++ darwin ++ windows; + broken = !(stdenvNoCC.hostPlatform.isLinux && stdenvNoCC.hostPlatform.isx86_64); + maintainers = with maintainers; [ mortenmunk ]; + mainProgram = "uppaal"; + }; +}