Package Details: tla-toolbox 1.7.1-1

Git Clone URL: https://aur.archlinux.org/tla-toolbox.git (read-only, click to copy)
Package Base: tla-toolbox
Description: IDE for the TLA+ tools
Upstream URL: http://research.microsoft.com/en-us/um/people/lamport/tla/toolbox.html
Keywords: formal_methods model_checking
Licenses: MIT
Submitter: swsnr
Maintainer: dkasak
Last Packager: dkasak
Votes: 3
Popularity: 0.188439
First Submitted: 2020-03-28 16:39 (UTC)
Last Updated: 2021-02-12 23:24 (UTC)

Dependencies (1)

Required by (0)

Sources (3)

Latest Comments

winnie_ua commented on 2023-10-20 14:04 (UTC)

v1.8.0 as just been released!

tangruize commented on 2022-10-29 09:06 (UTC)

Hello! It seems that the latest version of TLA+ toolbox is not update frequently. For those who wanted to use the nightly build, I created a PKGBUILD file, it fetches the binary nightly build of version 1.8.0, fixes GDK scale rendering problem (https://github.com/tlaplus/tlaplus/issues/694), and adds mine types.

Since this is my first time creating pkgbuild, there may be issues. Hope you can give suggestions!

The PKGBUILD file:

pkgname=tla-toolbox-nightly
pkgver=1.8.0.r8104.ge880daa
majorver=${pkgver%.r*}
pkgrel=1
pkgdesc='IDE for the TLA+ tools (nightly)'
options=(!strip)
arch=('x86_64')
url='https://github.com/tlaplus/tlaplus'
license=('MIT')
depends=('java-runtime>=8')
makedepends=('wget')
source=(icon.png
        tla+toolbox.xml
        tla+toolbox.desktop)

pkgver() {
    printf "${majorver}.r%s.g%s" \
        $(curl -v -k "https://api.github.com/repos/tlaplus/tlaplus/commits?per_page=1&sha=v${majorver}" 2>&1 | \
          sed -En -e '/^< [Ll]ink:/ s/.*"next".*page=([0-9]*).*"last".*/\1/p' -e '/sha/s/.*: "([a-z0-9]{7}).*",.*/\1/p' | head -n 2)
}

sha256sums=(51dbb6724fa7ff5167067dce68dd6b577a2401a47a37120a9879f0afd85ff7c9
            8380c475aa80f0cdbd4cc851ef09df513e14f74116a1a16183c5b7f122aee2fb
            d80e7686d162218996221bf5071cac3b1109c36d5655e6dd6bdfa29a405d3590)

package() {
    cd "$srcdir"
    wget -N "https://github.com/tlaplus/tlaplus/releases/download/v${majorver}/TLAToolbox-${majorver}-linux.gtk.x86_64.zip"
    bsdtar -xf "TLAToolbox-${majorver}-linux.gtk.x86_64.zip"
    install -d -m755 "$pkgdir/opt/TLA+Toolbox"
    mv "$srcdir"/toolbox/* "$pkgdir/opt/TLA+Toolbox/"
    install -d -m755 "$pkgdir/usr/bin"
    ln -s "/opt/TLA+Toolbox/toolbox" "$pkgdir/usr/bin/tla+toolbox"
    install -D -m644 "$srcdir/icon.png" "$pkgdir/usr/share/pixmaps/tla+toolbox.png"
    install -D -m644 "$srcdir/tla+toolbox.desktop" "$pkgdir/usr/share/applications/tla+toolbox.desktop"
    install -D -m644 "$srcdir/tla+toolbox.xml" "$pkgdir/usr/share/mime/packages/tla+toolbox.xml"
}

The desktop file:

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=TLA+ Toolbox (Nightly)
Comment=The TLA+ Toolbox is an integrated development environment for the TLA+ tools.
Exec=bash -c 'env GDK_DPI_SCALE=$(awk -v a="${GDK_SCALE:-1}" -v b="${GDK_DPI_SCALE:-1}" "BEGIN{print (a*b)}") GDK_SCALE="${GDK_SCALE:+1}" /opt/TLA+Toolbox/toolbox "%f"'
Icon=tla+toolbox
Categories=Development;
Terminal=false
Type=Application
MimeType=application/x-tla;

The mine type xml file:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-tla">
        <sub-class-of type="text/plain"/>
        <comment>TLA+ file</comment>
        <glob pattern="*.tla"/>
        <glob pattern="*.TLA"/>
        <icon name="tla+toolbox"/>
    </mime-type>
</mime-info>