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