Subject: [PATCH 0/6] Add TLA+ Tools (tla2tools)

From: Mike Gerwitz <[email-masked]>
Date: Thu, 15 Apr 2021 00:22:03 -0400

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

-- 
Mike Gerwitz
Activist For User Freedom | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B  2388 FEF6 3574 5E6F 6D05
https://mikegerwitz.com