[bug#47789,0/6] Add TLA+ Tools (tla2tools)

Message ID cover.1618460450.git.mtg@gnu.org
Headers show
Series Add TLA+ Tools (tla2tools) | expand

Message

Mike Gerwitz April 15, 2021, 4:22 a.m. UTC
This introduces tla2tools.jar, which contains the TLA+ model checker
and simulator (TLC); a TLA+ REPL; a semantic analyzer (SANY); the TLATeX
typesetting system; PlusCal translator; and more.  I have added five
wrapper scripts for convenience, rather than invoking `java' manually.
The wrapper scripts are not comprehensive; users who are familiar with
tla2tools.jar, or have read the book Specifying Systems, may still
invoke the commands in the traditional way.

This was significnatly more involved than I had anticipated, and I was
forced to make some compromises on how I handled dependencies.  Most
notably, rather than packaging the entirety of LSP4J and JLine 3, I packaged
only what tla2tools used, since going all the way would have been a
significant undertaking that I would not have been able to see through.

I have not packaged Java libraries for Guix before (and it's been years
since I packaged anything else), so please be critical and let me know what
I can do better.

I hope to explore packaging TLAPS next.  I don't anticipate packaging the
Toolbox for Guix, which is TLA+'s GUI; there are a huge number of
dependencies.

Enjoy!

Mike Gerwitz (6):
  gnu: Add java-gson-2.8.6.
  gnu: Add java-eclipse-xtext-xbase-lib.
  gnu: Add java-eclipse-lsp4j packages.
  gnu: Add java-jline-terminal.
  gnu: Add java-jline-reader.
  gnu: Add tla2tools.

 gnu/packages/java.scm                         | 410 ++++++++++++++++++
 .../patches/tla2tools-build-xml.patch         | 109 +++++
 2 files changed, 519 insertions(+)
 create mode 100644 gnu/packages/patches/tla2tools-build-xml.patch

Comments

Mike Gerwitz April 16, 2021, 1:29 a.m. UTC | #1
Sorry, I sent the new series in reply to the original cover. :(