* guix/build/java-utils.scm (generate-pom.xml): New procedure.
* gnu/packages/maven.scm (java-surefire-junit4): Use it.
* gnu/packages/java.scm (java-qdox, java-jsr250, java-jsr305)
(java-aopalliance, java-jboss-el-api-spec)
(java-jboss-interceptors-api-spec): Use it.
(java-qdox-M9): Ensure the generated pom file has the correct version.
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.
The minimum JDK version is 11. I chose to stick with that rather than
bumping it to 14 (which is the largest version currently in Guix)
because each OpenJDK version in Guix depends on the version before it,
and so it needlessly results in many 100s of MiB of unnecessary
dependencies.
Note that this is _not_ the TLA+ Toolbox, which is the GUI commonly used
with TLA+.
* gnu/packages/java.scm (tla2tools): New variable.
* gnu/packages/patches/tla2tools-build-xml.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This is part of JLine 3.
I was able to get this working properly under Guix by providing ncurses'
infocmp, as well as ensuring the *.caps files were present in the JAR,
but similar methods didn't work for the tests; if you have Java
knowledge, I'd appreciate the help getting those tests enabled.
* gnu/packages/java.scm (java-jline-terminal): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
All of these packages are components of java-eclipse-lsp4j, packaged
independently. This contains only what was needed for tla2tools, and so
there are parts of java-eclipse-lsp4j that are not packaged.
Note that this does not package the latest version (0.12.0 at the time
of writing)---it depends on the Xtend language, which is a huge
packaging effort. 0.10.0 is the version expected by tla2tools, for
which this dependency was introduced.
* gnu/packages/java.scm (java-eclipse-lsp4j-common): New variable.
(java-eclipse-lsp4j-jsonrpc): New variable.
(java-eclipse-lsp4j-jsonrpc-debug): New variable.
(java-eclipse-lsp4j-generator): New variable.
(java-eclipse-lsp4j-debug): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This package is a component of xtext-lib. The rest of xtext-lib was not
added.
* gnu/packages/java.scm (java-eclipse-xtext-xbase-lib): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This introduces a new package rather than upgrading the exist java-gson
package because it is built using OpenJDK11; I didn't want to have to
propagate that JDK dependency to the other packages that use it.
OpenJDK 11 was chosen becuase this dependency was introduced for
tla2tools.
* gnu/packages/java.scm (java-gson-2.8.6): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This ensures JDKs don't unintentionally keep references to the one used
to build them, as reported at <https://issues.guix.gnu.org/31719#7> and
fixed by 97a43db8b4.
* gnu/packages/java.scm (icedtea-8)[arguments]: Add #:disallowed-references.
(openjdk9)[arguments]: Likewise.
(openjdk10)[arguments]: Likewise.
(openjdk11)[arguments]: Likewise.
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]:
Change 'find-library' to always return a string. Change 'find-library'
callers to use 'string-append' rather than 'format'. Starting from
97a43db8b4, 'find-library' could return #f
and JNI substitutions would emit a literal "#f".
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11): Do not consider
icedtea/openjdk input paths when rewriting JNI libraries.
Signed-off-by: Andreas Enge <andreas@enge.fr>
Those packages were importing (ice-9 match) & co. from the host Guile,
which could potentially lead to different derivations depending on the
Guile in use.
Uncovered by the warning emitted by 'gexp-modules'.
* gnu/packages/admin.scm (inxi-minimal)[arguments]: Remove Guile modules
from #:modules.
* gnu/packages/dns.scm (ddclient)[arguments]: Likewise.
* gnu/packages/tex.scm (texlive-latex-koma-script)[arguments]: Likewise.
* gnu/packages/java.scm (openjdk11)[arguments]: Likewise for #:imported-modules.
This fixes a NullPointerException related to using fontconfig,
see also <https://bugs.gnu.org/41177>.
* gnu/packages/java.scm (openjdk11)[arguments]: Add patch-jni-libs phase.
Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
This fixes a NullPointerException related to using fontconfig,
see also <https://bugs.gnu.org/41177>.
* gnu/packages/java.scm (openjdk9)[arguments]: Add patch-jni-libs phase.
Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
* gnu/packages/java.scm (icedtea-7)[native-inputs]: Remove obsolete,
architecture-dependent patch to "hotspot-drop"; replace with patch to fix
build on aarch64-linux.
* gnu/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>