14 desktopItem = makeDesktopItem rec {
18 comment = "IDE for TLA+";
20 genericName = comment;
21 categories = [ "Development" ];
22 startupWMClass = "TLA+ Toolbox";
27 stdenv.mkDerivation rec {
28 pname = "tla-toolbox";
31 url = "https://tla.msr-inria.inria.fr/tlatoolbox/products/TLAToolbox-${version}-linux.gtk.x86_64.zip";
32 sha256 = "02a2y2mkfab5cczw8g604m61h4xr0apir49zbd1aq6mmgcgngw80";
35 buildInputs = [ gtk3 ];
48 cp -r "$src" "$out/toolbox"
49 chmod -R +w "$out/toolbox"
55 --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
56 "$out/toolbox/toolbox"
59 --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
60 --set-rpath "${lib.makeLibraryPath [ zlib ]}:$(patchelf --print-rpath $(find "$out/toolbox" -name java))" \
61 "$(find "$out/toolbox" -name java)"
64 --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
65 "$(find "$out/toolbox" -name jspawnhelper)"
67 makeShellWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \
68 --chdir "$out/toolbox" \
69 --add-flags "-data ~/.tla-toolbox" \
70 --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst glib zlib ]}" \
71 "''${gappsWrapperArgs[@]}"
73 echo -e "\nCreating TLA Toolbox icons..."
75 for icon_in in $(find . -path "./plugins/*/icons/full/etool16/tla_launch_check_wiz_*.png")
77 icon_size=$(echo $icon_in | grep -Po "wiz_\K[0-9]+")
78 icon_out="$out/share/icons/hicolor/$icon_size""x$icon_size/apps/tla-toolbox.png"
79 mkdir -p "$(dirname $icon_out)"
80 cp "$icon_in" "$icon_out"
84 echo -e "\nCreating TLA Toolbox desktop entry..."
85 cp -r "${desktopItem}/share/applications"* "$out/share/applications"
91 homepage = "http://research.microsoft.com/en-us/um/people/lamport/tla/toolbox.html";
92 description = "IDE for the TLA+ tools";
93 mainProgram = "tla-toolbox";
95 Integrated development environment for the TLA+ tools, based on Eclipse. You can use it
96 to create and edit your specs, run the PlusCal translator, view the pretty-printed
97 versions of your modules, run the TLC model checker, and run TLAPS, the TLA+ proof system.
99 # http://lamport.azurewebsites.net/tla/license.html
100 license = with lib.licenses; [ mit ];
101 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
102 platforms = [ "x86_64-linux" ];