depot/third_party/nixpkgs/pkgs/by-name/up/uppaal/package.nix

81 lines
1.9 KiB
Nix

{
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";
};
}