diff options
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r-- | gnu/packages/java.scm | 1272 |
1 files changed, 642 insertions, 630 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9a6ca926be..6332b58b98 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -60,6 +60,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages ghostscript) ;lcms @@ -2173,14 +2174,15 @@ new Date();")) (define-public openjdk11 (package (name "openjdk") - (version "11.28") + (version "11.0.13") (source (origin (method url-fetch) - (uri "http://hg.openjdk.java.net/jdk/jdk/archive/76072a077ee1.tar.bz2") + (uri (string-append "https://openjdk-sources.osci.io/openjdk11/openjdk-" + version "-ga.tar.xz")) (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 - "0v705w1s9lrqalzahir78pk397rkk9gfvzq821yv8h3xha0bqi6w")) + "0xavz7msaadprq65p5bhp6sxcyp12p0zlbhb3aaz0cvp21c9pdm9")) (modules '((guix build utils))) (snippet `(begin @@ -2422,6 +2424,7 @@ new Date();")) ("libpng" ,libpng) ("libx11" ,libx11) ("libxext" ,libxext) + ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) ("libxt" ,libxt) ("libxtst" ,libxtst))) @@ -2628,14 +2631,44 @@ new Date();")) ;; The build system copies a few .template files from the ;; source directory into the build directory and then modifies ;; them in-place. So these files have to be writable. - (for-each - (lambda (file) - (invoke "chmod" "u+w" file)) + (for-each make-file-writable (find-files "src/java.base/share/classes/jdk/internal/misc/" - "\\.template$")) - #t)))))) + "\\.template$")))))))) (home-page "https://openjdk.java.net/projects/jdk/16"))) +(define-public openjdk17 + (package + (inherit openjdk16) + (name "openjdk") + (version "17.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openjdk/jdk17u") + (commit (string-append "jdk-" version "-ga")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l1jgbz8q7zq66npfg88r0l5xga427vrz35iys09j44b6qllrldd")))) + (native-inputs + `(("autoconf" ,autoconf) + ("openjdk16:jdk" ,openjdk16 "jdk") + ("pkg-config" ,pkg-config) + ("unzip" ,unzip) + ("which" ,which) + ("zip" ,zip))) + (arguments + (substitute-keyword-arguments (package-arguments openjdk16) + ((#:phases phases) + `(modify-phases ,phases + (replace 'fix-java-shebangs + (lambda _ + ;; This file was "fixed" by patch-source-shebangs, but it requires + ;; this exact first line. + (substitute* "make/data/blockedcertsconverter/blocked.certs.pem" + (("^#!.*") "#! java BlockedCertsConverter SHA-256\n")))))))) + (home-page "https://openjdk.java.net/projects/jdk/17"))) + (define-public icedtea icedtea-8) @@ -2733,8 +2766,8 @@ new Date();")) (delete-file-recursively lib) #t))))))) (inputs - `(("java-commons-bcel" ,java-commons-bcel) - ,@(package-inputs ant/java8))))) + (modify-inputs (package-inputs ant/java8) + (prepend java-commons-bcel))))) (define-public ant-junit (package @@ -2765,8 +2798,8 @@ new Date();")) (delete-file-recursively lib) #t))))))) (inputs - `(("java-junit" ,java-junit) - ,@(package-inputs ant/java8))))) + (modify-inputs (package-inputs ant/java8) + (prepend java-junit))))) (define-public java-openjfx-build (package @@ -2804,11 +2837,9 @@ new Date();")) "buildSrc/src/main/java/com/sun/scenario/effect/compiler" "buildSrc/src/main/antlr/JSL.g")))))) (inputs - `(("antlr3" ,antlr3) - ("java-stringtemplate" ,java-stringtemplate))) + (list antlr3 java-stringtemplate)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://openjfx.io") (synopsis "Graphical application toolkit in Java") (description "OpenJFX is a client application platform for desktop, @@ -2844,7 +2875,7 @@ distribution.") (delete-file "com/sun/javafx/runtime/VersionInfoTest.java")) #t))))) (propagated-inputs - `(("java-openjfx-build" ,java-openjfx-build))) + (list java-openjfx-build)) (description "OpenJFX is a client application platform for desktop, mobile and embedded systems built on Java. Its goal is to produce a modern, efficient, and fully featured toolkit for developing rich client @@ -2939,8 +2970,7 @@ distribution."))) (string-append target new-name)))) (find-files "netbeans" "\\.so$")))))))) (propagated-inputs - `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) + (list java-openjfx-base java-swt)) ;; XXX: for unknown reasons ;; modules/graphics/src/main/native-prism-sw/JNativeSurface.c is missing ;; in this revision. @@ -3126,7 +3156,7 @@ debugging, etc.") #t)))))) (native-inputs - `(("javacc" ,javacc-4))))) + (list javacc-4)))) ;; This is the last 3.x release of ECJ (define-public java-ecj-3 @@ -3194,7 +3224,7 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" #t)) (replace 'install (install-jars "."))))) (native-inputs - `(("unzip" ,unzip))))) + (list unzip)))) (define-public java-ecj (package (inherit java-ecj-3) @@ -3426,11 +3456,9 @@ libraries from the SIS division at ETH Zurich like jHDF5.") (add-after 'unpack 'unpack-build-resources (lambda* (#:key inputs #:allow-other-keys) (mkdir-p "../build_resources") - (invoke "tar" "xf" (assoc-ref inputs "build-resources") - "-C" "../build_resources" - "--strip-components=1") - (mkdir-p "../build_resources/lib") - #t)) + (copy-recursively (assoc-ref inputs "build-resources") + "../build_resources") + (mkdir-p "../build_resources/lib"))) (add-after 'unpack-build-resources 'fix-dependencies (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: There should be a more convenient abstraction for @@ -3477,7 +3505,7 @@ libraries from the SIS division at ETH Zurich like jHDF5.") #t)) (replace 'install (install-jars "targets/dist"))))) (inputs - `(("java-cisd-base" ,java-cisd-base))) + (list java-cisd-base)) (native-inputs `(("ecj" ,java-ecj-3.5) ("build-resources" @@ -3649,12 +3677,12 @@ libraries from the SIS division at ETH Zurich like jHDF5.") (replace 'install (install-jars "targets/dist"))))) (inputs - `(("java-cisd-base" ,java-cisd-base) - ("java-cisd-args4j" ,java-cisd-args4j) - ("java-commons-lang" ,java-commons-lang) - ("java-commons-io" ,java-commons-io) - ("hdf5" ,hdf5-1.8) - ("zlib" ,zlib))) + (list java-cisd-base + java-cisd-args4j + java-commons-lang + java-commons-io + hdf5-1.8 + zlib)) (native-inputs `(("jdk" ,icedtea-8) ("java-testng" ,java-testng) @@ -3751,7 +3779,7 @@ API and version 2.1 of the Java ServerPages API.") "http/LocalStrings_fr.properties"))) #t))))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (home-page "https://javaee.github.io/servlet-spec/") (synopsis "Java servlet API") (description "Java Servlet is the foundation web specification in the @@ -3831,8 +3859,7 @@ specification.") ("mesa" ,mesa) ("glu" ,glu))) (native-inputs - `(("pkg-config" ,pkg-config) - ("unzip" ,unzip))) + (list pkg-config unzip)) (home-page "https://www.eclipse.org/swt/") (synopsis "Widget toolkit for Java") (description @@ -4013,9 +4040,9 @@ documentation tools.") target)) #t))))) (inputs - `(("java-asm-bootstrap" ,java-asm-bootstrap))) + (list java-asm-bootstrap)) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (home-page "https://code.google.com/archive/p/jarjar/") (synopsis "Repackage Java libraries") (description @@ -4112,7 +4139,7 @@ private Method[] allMethods = getSortedMethods();"))) `(("java-qdox-1.12" ,java-qdox-1.12) ("java-jarjar" ,java-jarjar))) (propagated-inputs - `(("java-hamcrest-parent-pom" ,java-hamcrest-parent-pom))) + (list java-hamcrest-parent-pom)) (home-page "http://hamcrest.org/") (synopsis "Library of matchers for building test expressions") (description @@ -4165,8 +4192,7 @@ testing frameworks, mocking libraries and UI validation rules.") (replace 'install (install-from-pom "pom/hamcrest-library.pom")))))) (propagated-inputs - `(("java-hamcrest-core" ,java-hamcrest-core) - ("java-hamcrest-parent-pom" ,java-hamcrest-parent-pom))))) + (list java-hamcrest-core java-hamcrest-parent-pom)))) (define-public java-junit (package @@ -4203,9 +4229,9 @@ testing frameworks, mocking libraries and UI validation rules.") (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-hamcrest-core" ,java-hamcrest-core))) + (list java-hamcrest-core)) (native-inputs - `(("java-hamcrest-library" ,java-hamcrest-library))) + (list java-hamcrest-library)) (home-page "https://junit.org/junit4/") (synopsis "Test framework for Java") (description @@ -4234,11 +4260,9 @@ sharing common test data, and test runners for running tests.") #:test-dir "src/test" #:test-exclude (list "**/SuperclassTest.java"))) (inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-assertj" ,java-assertj))) + (list java-junit java-hamcrest-core java-assertj)) (home-page "https://github.com/Pragmatists/JUnitParams") (synopsis "Parameterised test support for JUnit") (description "The JUnitParams project adds a new runner to JUnit and @@ -4299,10 +4323,9 @@ cli/shell/BourneShell.java" #t)) (replace 'install (install-from-pom "pom.xml"))))) (native-inputs - `(("java-hamcrest-core" ,java-hamcrest-core) - ("java-junit" ,java-junit))) + (list java-hamcrest-core java-junit)) (propagated-inputs - `(("plexus-parent-pom" ,plexus-parent-pom-5.1))) + (list plexus-parent-pom-5.1)) (home-page "https://codehaus-plexus.github.io/plexus-utils/") (synopsis "Common utilities for the Plexus framework") (description "This package provides various Java utility classes for the @@ -4347,8 +4370,7 @@ more.") (propagated-inputs `(("plexus-parent-pom-5.1" ,plexus-parent-pom-5.1))) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://codehaus-plexus.github.io/plexus-interpolation/") (synopsis "Java components for interpolating ${} strings and the like") (description "Plexus interpolator is a modular, flexible interpolation @@ -4384,7 +4406,7 @@ these two libraries to vary independently of one another.") (propagated-inputs `(("plexus-parent-pom-5.1" ,plexus-parent-pom-5.1))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://codehaus-plexus.github.io/plexus-classworlds/") (synopsis "Java class loader framework") (description "Plexus classworlds replaces the native @code{ClassLoader} @@ -4486,11 +4508,9 @@ implementation.") #t)) (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-plexus-utils" ,java-plexus-utils-3.3.0) - ("java-commons-io" ,java-commons-io) - ("plexus-parent-pom" ,plexus-parent-pom-5.1))) + (list java-plexus-utils-3.3.0 java-commons-io plexus-parent-pom-5.1)) (inputs - `(("java-jsr305" ,java-jsr305))) + (list java-jsr305)) (native-inputs `(("junit" ,java-junit) ("hamcrest" ,java-hamcrest-core) @@ -4544,11 +4564,8 @@ reusing it in maven.") #t)) (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-plexus-utils" ,java-plexus-utils-3.3.0) - ("java-plexus-io" ,java-plexus-io) - ("java-iq80-snappy" ,java-iq80-snappy) - ("java-commons-compress" ,java-commons-compress) - ("plexus-parent-pom" ,plexus-parent-pom-6.1))) + (list java-plexus-utils-3.3.0 java-plexus-io java-iq80-snappy + java-commons-compress plexus-parent-pom-6.1)) (inputs `(("java-jsr305" ,java-jsr305) ("java-plexus-container-default" @@ -4630,7 +4647,7 @@ archives (jar).") (replace 'install (install-from-pom "plexus-component-annotations/pom.xml"))))) (propagated-inputs - `(("java-plexus-containers-parent-pom" ,java-plexus-containers-parent-pom))) + (list java-plexus-containers-parent-pom)) (inputs '()) (native-inputs '()) (synopsis "Plexus descriptors generator") @@ -4672,9 +4689,7 @@ from source tags and class annotations."))) ("java-jdom2" ,java-jdom2) ("java-asm" ,java-asm))) (native-inputs - `(("java-junit" ,java-junit) - ("java-guava" ,java-guava) - ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect))) + (list java-junit java-guava java-geronimo-xbean-reflect)) (synopsis "Inversion-of-control container for Maven") (description "The Plexus project provides a full software stack for creating and executing software projects. Based on the Plexus container, the @@ -4718,12 +4733,11 @@ provides the Maven plugin generating the component metadata."))) #t)) (replace 'install (install-from-pom "pom.xml"))))) (inputs - `(("java-cdi-api" ,java-cdi-api) - ("java-javax-inject" ,java-javax-inject))) + (list java-cdi-api java-javax-inject)) (propagated-inputs - `(("java-sonatype-spice-parent-pom" ,java-sonatype-spice-parent-pom-15))) + (list java-sonatype-spice-parent-pom-15)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/sonatype/plexus-cipher") (synopsis "Encryption/decryption Component") (description "Plexus-cipher contains a component to deal with encryption @@ -4771,15 +4785,12 @@ and decryption.") (replace 'install (install-from-pom "plexus-java/pom.xml"))))) (propagated-inputs - `(("java-asm" ,java-asm) - ("java-qdox" ,java-qdox-2-M9) - ("java-javax-inject" ,java-javax-inject) - ("plexus-parent-pom" ,plexus-parent-pom-4.0))) + (list java-asm java-qdox-2-M9 java-javax-inject + plexus-parent-pom-4.0)) (inputs - `(("java-plexus-component-annotations" ,java-plexus-component-annotations))) + (list java-plexus-component-annotations)) (native-inputs - `(("java-plexus-component-metadata" ,java-plexus-component-metadata) - ("java-junit" ,java-junit))) + (list java-plexus-component-metadata java-junit)) (home-page "https://codehaus-plexus.github.io/plexus-languages/plexus-java") (synopsis "Shared language features for Java") (description "This package contains shared language features of the Java @@ -4813,7 +4824,7 @@ language, for the plexus project.") ("java-plexus-compiler-pom" ,java-plexus-compiler-pom) ("java-plexus-util" ,java-plexus-utils))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/codehaus-plexus/plexus-compiler") (synopsis "Plexus Compilers component's API to manipulate compilers") (description "This package contains the API used by components to manipulate @@ -4895,12 +4906,10 @@ compilers.") (replace 'install (install-from-pom "plexus-compiler-manager/pom.xml"))))) (propagated-inputs - `(("java-plexus-compiler-api" ,java-plexus-compiler-api) - ("java-plexus-compiler-pom" ,java-plexus-compiler-pom) - ("java-plexus-container-default" ,java-plexus-container-default))) + (list java-plexus-compiler-api java-plexus-compiler-pom + java-plexus-container-default)) (native-inputs - `(("unzip" ,unzip) - ("java-plexus-component-metadata" ,java-plexus-component-metadata))) + (list unzip java-plexus-component-metadata)) (synopsis "Compiler management for Plexus Compiler component") (description "Plexus Compiler is a Plexus component to use different compilers through a uniform API. This component chooses the compiler @@ -4944,9 +4953,8 @@ implementation to use in a project."))) (replace 'install (install-from-pom "plexus-compilers/plexus-compiler-javac/pom.xml"))))) (propagated-inputs - `(("java-plexus-compiler-api" ,java-plexus-compiler-api) - ("java-plexus-utils" ,java-plexus-utils) - ("java-plexus-container-default" ,java-plexus-container-default))) + (list java-plexus-compiler-api java-plexus-utils + java-plexus-container-default)) (synopsis "Javac Compiler support for Plexus Compiler component") (description "This package contains the Javac Compiler support for Plexus Compiler component."))) @@ -5004,10 +5012,9 @@ packages.") (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-plexus-utils" ,java-plexus-utils) - ("plexus-components-pom-1.1.20" ,plexus-components-pom-1.1.20))) + (list java-plexus-utils plexus-components-pom-1.1.20)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/codehaus-plexus/plexus-digest") (synopsis "Hash function utilities for Java") (description "This package is a plexus component that contains hash @@ -5082,9 +5089,8 @@ function utilities.") #t)) (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-plexus-utils" ,java-plexus-utils) - ("java-plexus-cipher" ,java-plexus-cipher) - ("java-sonatype-spice-parent-pom" ,java-sonatype-spice-parent-pom-12))) + (list java-plexus-utils java-plexus-cipher + java-sonatype-spice-parent-pom-12)) (native-inputs `(("java-modello-core" ,java-modello-core) ;; for modello: @@ -5127,13 +5133,10 @@ This component decrypts a string passed to it.") #:jdk ,icedtea-8 #:test-dir "src/test")) (inputs - `(("java-commons-cli" ,java-commons-cli) - ("java-plexus-container-default" ,java-plexus-container-default) - ("java-plexus-classworlds" ,java-plexus-classworlds))) + (list java-commons-cli java-plexus-container-default + java-plexus-classworlds)) (native-inputs - `(("java-plexus-utils" ,java-plexus-utils) - ("java-junit" ,java-junit) - ("java-guava" ,java-guava))) + (list java-plexus-utils java-junit java-guava)) (home-page "https://codehaus-plexus.github.io/plexus-cli") (synopsis "CLI building library for plexus") (description "This package is a library to help creating CLI around @@ -5190,8 +5193,7 @@ which behaves as if all files were just created.</description>\n (replace 'install (install-from-pom "pom.xml"))))) (inputs - `(("java-plexus-utils" ,java-plexus-utils) - ("java-plexus-container-default" ,java-plexus-container-default))) + (list java-plexus-utils java-plexus-container-default)) (home-page "https://github.com/sonatype/sisu-build-api/") (synopsis "Base build API for maven") (description "This package contains the base build API for maven and @@ -5235,14 +5237,11 @@ project and determining what files need to be rebuilt.") (("src/test") "modello-core/src/test"))) #t))))) (propagated-inputs - `(("java-plexus-utils" ,java-plexus-utils) - ("java-plexus-container-default" ,java-plexus-container-default) - ("java-sisu-build-api" ,java-sisu-build-api))) + (list java-plexus-utils java-plexus-container-default + java-sisu-build-api)) (native-inputs - `(("java-junit" ,java-junit) - ("java-plexus-classworlds" ,java-plexus-classworlds) - ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect) - ("java-guava" ,java-guava))) + (list java-junit java-plexus-classworlds java-geronimo-xbean-reflect + java-guava)) (home-page "https://codehaus-plexus.github.io/modello/") (synopsis "Framework for code generation from a simple model") (description "Modello is a framework for code generation from a simple model. @@ -5283,7 +5282,7 @@ XSD and documentation.") "build/classes") #t))))) (inputs - `(("java-modello-core" ,java-modello-core))) + (list java-modello-core)) (synopsis "Modello Java Plugin") (description "Modello Java Plugin generates Java objects for the model."))) @@ -5313,8 +5312,7 @@ XSD and documentation.") (("src/test") "modello-plugins/modello-plugin-xml/src/test"))) #t))))) (propagated-inputs - `(("java-modello-core" ,java-modello-core) - ("java-modello-plugins-java" ,java-modello-plugins-java))) + (list java-modello-core java-modello-plugins-java)) (synopsis "Modello XML Plugin") (description "Modello XML Plugin contains shared code for every plugins working on XML representation of the model."))) @@ -5329,10 +5327,8 @@ working on XML representation of the model."))) #:tests? #f; no tests #:jdk ,icedtea-8)) (inputs - `(("java-plexus-utils" ,java-plexus-utils) - ("java-plexus-compiler-api" ,java-plexus-compiler-api) - ("java-plexus-compiler-javac" ,java-plexus-compiler-javac) - ("java-plexus-container-default" ,java-plexus-container-default))) + (list java-plexus-utils java-plexus-compiler-api + java-plexus-compiler-javac java-plexus-container-default)) (synopsis "Modello test package") (description "The modello test package contains the basis to create Modello generator unit-tests, including sample models and xml files to test @@ -5358,13 +5354,11 @@ every feature for every plugin."))) "build/classes") #t))))) (propagated-inputs - `(("java-modello-core" ,java-modello-core) - ("java-modello-plugins-java" ,java-modello-plugins-java) - ("java-modello-plugins-xml" ,java-modello-plugins-xml))) + (list java-modello-core java-modello-plugins-java + java-modello-plugins-xml)) (native-inputs - `(("java-xmlunit" ,java-xmlunit) - ("java-modello-test" ,java-modello-test) - ,@(package-native-inputs java-modello-core))) + (modify-inputs (package-native-inputs java-modello-core) + (prepend java-xmlunit java-modello-test))) (synopsis "Modello XPP3 Plugin") (description "The modello XPP3 plugin generates XML readers and writers based on the XPP3 API (XML Pull Parser)."))) @@ -5421,9 +5415,9 @@ on the XPP3 API (XML Pull Parser)."))) (replace 'install (install-from-pom "archive/asm.pom"))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (propagated-inputs - `(("java-org-ow2-parent-pom" ,java-org-ow2-parent-pom-1.3))) + (list java-org-ow2-parent-pom-1.3)) (home-page "https://asm.ow2.io/") (synopsis "Very small and fast Java bytecode manipulation framework") (description "ASM is an all purpose Java bytecode manipulation and @@ -5503,7 +5497,7 @@ including java-asm.") ;; tests depend on junit5 #:tests? #f)) (inputs - `(("java-asm" ,java-asm-8))))) + (list java-asm-8)))) (define-public java-asm-analysis-8 (package @@ -5516,8 +5510,7 @@ including java-asm.") ;; tests depend on junit5 #:tests? #f)) (inputs - `(("java-asm" ,java-asm-8) - ("java-asm-tree" ,java-asm-tree-8))))) + (list java-asm-8 java-asm-tree-8)))) (define-public java-asm-util-8 (package @@ -5530,9 +5523,7 @@ including java-asm.") ;; tests depend on junit5 #:tests? #f)) (inputs - `(("java-asm" ,java-asm-8) - ("java-asm-analysis" ,java-asm-analysis-8) - ("java-asm-tree" ,java-asm-tree-8))))) + (list java-asm-8 java-asm-analysis-8 java-asm-tree-8)))) (define-public java-cglib (package @@ -5562,8 +5553,7 @@ including java-asm.") (add-after 'unpack 'chdir (lambda _ (chdir "cglib") #t))))) (inputs - `(("java-asm" ,java-asm) - ("java-junit" ,java-junit))) + (list java-asm java-junit)) (home-page "https://github.com/cglib/cglib/") (synopsis "Java byte code generation library") (description "The byte code generation library CGLIB is a high level API @@ -5589,8 +5579,7 @@ to generate and transform Java byte code.") #:source-dir "main/src/" #:test-dir "main/src/test/")) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "http://objenesis.org/") (synopsis "Bypass the constructor when creating an object") (description "Objenesis is a small Java library that serves one purpose: @@ -5651,12 +5640,9 @@ constructor on object instantiation.") (delete-file "tests2/EasyMockPropertiesTest.java")) #t))))) (inputs - `(("java-asm" ,java-asm) - ("java-cglib" ,java-cglib) - ("java-objenesis" ,java-objenesis))) + (list java-asm java-cglib java-objenesis)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://easymock.org/") (synopsis "Java library providing mock objects for unit tests") (description "EasyMock is a Java library that provides an easy way to use @@ -5715,10 +5701,7 @@ The jMock library (base32 "12b7l22g3nrjvf2dzcw3z03fpd2chrgp0d8xkvn8w55rwb57pax6")))) (inputs - `(("java-hamcrest-all" ,java-hamcrest-all) - ("java-asm" ,java-asm) - ("java-bsh" ,java-bsh) - ("java-junit" ,java-junit))) + (list java-hamcrest-all java-asm java-bsh java-junit)) (native-inputs `(("cglib" ,java-cglib))) (arguments @@ -5759,15 +5742,15 @@ The jMock library (string-append "jmock-legacy/src/test/java/" file)) #t)))))) (inputs - `(("java-hamcrest-all" ,java-hamcrest-all) - ("java-objenesis" ,java-objenesis) - ("java-cglib" ,java-cglib) - ("java-jmock" ,java-jmock) - ("java-asm" ,java-asm) - ("java-bsh" ,java-bsh) - ("java-junit" ,java-junit))) + (list java-hamcrest-all + java-objenesis + java-cglib + java-jmock + java-asm + java-bsh + java-junit)) (native-inputs - `(("java-jmock-junit4" ,java-jmock-junit4))))) + (list java-jmock-junit4)))) (define-public java-hamcrest-all (package (inherit java-hamcrest-core) @@ -5818,16 +5801,16 @@ The jMock library (not (string-suffix? "-sources.jar" name))))))) #t))))))) (inputs - `(("java-junit" ,java-junit) - ("java-jmock" ,java-jmock-1) - ;; This is necessary because of what seems to be a race condition. - ;; This package would sometimes fail to build because hamcrest-core.jar - ;; could not be found, even though it is built as part of this package. - ;; Adding java-hamcrest-core appears to fix this problem. See - ;; https://debbugs.gnu.org/31390 for more information. - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-easymock" ,java-easymock) - ,@(package-inputs java-hamcrest-core))))) + (modify-inputs (package-inputs java-hamcrest-core) + (prepend java-junit + java-jmock-1 + ;; This is necessary because of what seems to be a race condition. + ;; This package would sometimes fail to build because hamcrest-core.jar + ;; could not be found, even though it is built as part of this package. + ;; Adding java-hamcrest-core appears to fix this problem. See + ;; https://debbugs.gnu.org/31390 for more information. + java-hamcrest-core + java-easymock))))) (define-public java-jopt-simple (package @@ -5901,12 +5884,12 @@ overly clever.") `(#:build-target "jar" #:test-target "test" #:make-flags - (let ((hamcrest (assoc-ref %build-inputs "java-hamcrest-core")) - (junit (assoc-ref %build-inputs "java-junit"))) - (list (string-append "-Djunit.jar=" - (car (find-files junit "jar$"))) - (string-append "-Dhamcrest.jar=" - (car (find-files hamcrest ".*.jar$"))))) + ,#~(let ((hamcrest #$(this-package-native-input "java-hamcrest-core")) + (junit #$(this-package-native-input "java-junit"))) + (list (string-append "-Djunit.jar=" + (car (find-files junit "jar$"))) + (string-append "-Dhamcrest.jar=" + (car (find-files hamcrest ".*.jar$"))))) #:phases (modify-phases %standard-phases ;; We want to build the jar in the build phase and run the tests @@ -5915,14 +5898,12 @@ overly clever.") (lambda _ (substitute* "build.xml" (("name=\"jar\" depends=\"test\"") - "name=\"jar\" depends=\"compile\"")) - #t)) + "name=\"jar\" depends=\"compile\"")))) ;; There is no install target. (replace 'install (install-from-pom "pom.xml"))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://commons.apache.org/math/") (synopsis "Apache Commons mathematics library") (description "Commons Math is a library of lightweight, self-contained @@ -5963,11 +5944,9 @@ available in the Java programming language or Commons Lang.") ;; respectively. (delete-file-recursively "jmh-archetypes")))))) (propagated-inputs - `(("java-jopt-simple" ,java-jopt-simple-4) - ("java-commons-math3" ,java-commons-math3))) + (list java-jopt-simple-4 java-commons-math3)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://openjdk.java.net/projects/code-tools/jmh/") (synopsis "Benchmark harness for the JVM") (description "JMH is a Java harness for building, running, and analysing @@ -5991,23 +5970,21 @@ targeting the JVM.") (arguments `(#:test-target "test" #:make-flags - (let ((hamcrest (assoc-ref %build-inputs "java-hamcrest-core")) - (junit (assoc-ref %build-inputs "java-junit")) - (easymock (assoc-ref %build-inputs "java-easymock"))) - (list (string-append "-Djunit.jar=" - (car (find-files junit "jar$"))) - (string-append "-Dhamcrest.jar=" - (car (find-files hamcrest "jar$"))) - (string-append "-Deasymock.jar=" easymock - "/share/java/easymock.jar"))) + ,#~(let ((hamcrest #$(this-package-native-input "java-hamcrest-core")) + (junit #$(this-package-native-input "java-junit")) + (easymock #$(this-package-native-input "java-easymock"))) + (list (string-append "-Djunit.jar=" + (car (find-files junit "jar$"))) + (string-append "-Dhamcrest.jar=" + (car (find-files hamcrest "jar$"))) + (string-append "-Deasymock.jar=" easymock + "/share/java/easymock.jar"))) #:phases (modify-phases %standard-phases (replace 'install (install-jars "target"))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-easymock" ,java-easymock))) + (list java-junit java-hamcrest-core java-easymock)) (home-page "https://commons.apache.org/collections/") (synopsis "Collections framework") (description "The Java Collections Framework is the recognised standard @@ -6131,19 +6108,18 @@ setter and getter method.") (arguments `(#:test-target "test" #:make-flags - (list (string-append "-Djunit.jar=" - (car (find-files (assoc-ref %build-inputs "java-junit") - "jar$")))) + ,#~(list (string-append "-Djunit.jar=" + (car (find-files #$(this-package-native-input "java-junit") + "jar$")))) #:phases (modify-phases %standard-phases (add-after 'build 'build-javadoc ant-build-javadoc) (replace 'install (install-from-pom "pom.xml")) (add-after 'install 'install-doc (install-javadoc "target/apidocs"))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (propagated-inputs - `(("apache-commons-parent-pom" ,apache-commons-parent-pom-39))) + (list apache-commons-parent-pom-39)) (home-page "https://commons.apache.org/io/") (synopsis "Common useful IO related classes") (description "Commons-IO contains utility classes, stream implementations, @@ -6166,9 +6142,9 @@ file filters and endian classes.") (arguments `(#:test-target "test" #:make-flags - (list (string-append "-Dmaven.junit.jar=" - (car (find-files (assoc-ref %build-inputs "java-junit") - "jar$")))) + ,#~(list (string-append "-Dmaven.junit.jar=" + (car (find-files #$(this-package-native-input "java-junit") + "jar$")))) #:phases (modify-phases %standard-phases (add-before 'build 'delete-network-tests @@ -6181,7 +6157,7 @@ file filters and endian classes.") (delete 'check) (replace 'install (install-jars "target"))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://commons.apache.org/proper/commons-exec/") (synopsis "Common program execution related classes") (description "Commons-Exec simplifies executing external processes.") @@ -6202,11 +6178,11 @@ file filters and endian classes.") (arguments `(#:test-target "test" #:make-flags - (list (string-append "-Dmaven.junit.jar=" - (car (find-files (assoc-ref %build-inputs "java-junit") - "jar$"))) - "-Dmaven.compiler.source=1.7" - "-Dmaven.compiler.target=1.7") + ,#~(list (string-append "-Dmaven.junit.jar=" + (car (find-files #$(this-package-native-input "java-junit") + "jar$"))) + "-Dmaven.compiler.source=1.7" + "-Dmaven.compiler.target=1.7") #:phases (modify-phases %standard-phases (add-before 'build 'delete-network-tests @@ -6226,8 +6202,7 @@ file filters and endian classes.") (delete 'check) (replace 'install (install-jars "target"))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))))) + (list java-junit java-hamcrest-core)))) (define-public java-commons-lang (package @@ -6259,7 +6234,7 @@ time/FastDateFormatTest.java" (replace 'install (install-jars "target")) (add-after 'install 'install-doc (install-javadoc "target/apidocs"))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://commons.apache.org/lang/") (synopsis "Extension of the java.lang package") (description "The Commons Lang components contains a set of Java classes @@ -6305,7 +6280,7 @@ included: (modify-phases %standard-phases (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("apache-commons-parent-pom" ,apache-commons-parent-pom-48))) + (list apache-commons-parent-pom-48)) (home-page "https://commons.apache.org/lang/") (synopsis "Extension of the java.lang package") (description "The Commons Lang components contains a set of Java classes @@ -6375,9 +6350,9 @@ in the @code{java.lang} package. The following classes are included: #t)) (replace 'install (install-jars "build"))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (inputs - `(("java-commons-logging-minimal" ,java-commons-logging-minimal))) + (list java-commons-logging-minimal)) (home-page "https://commons.apache.org/proper/commons-bsf") (synopsis "Bean Scripting Framework") (description "The Bean Scripting Framework (BSF) is a set of Java classes @@ -6413,7 +6388,7 @@ these scripting language engines.") ("java-jdom" ,java-jdom) ("java-commons-beanutils" ,java-commons-beanutils))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://commons.apache.org/jxpath/") (synopsis "Simple interpreter of an expression language called XPath.") (description "The org.apache.commons.jxpath package defines a simple @@ -6440,12 +6415,9 @@ contexts, DOM etc, including mixtures thereof.") (list "**/PerformanceTest.java"))) (build-system ant-build-system) (inputs - `(("java-cglib" ,java-cglib))) + (list java-cglib)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-asm" ,java-asm) - ("java-objenesis" ,java-objenesis))) + (list java-junit java-hamcrest-core java-asm java-objenesis)) (home-page "https://commons.apache.org/proper/commons-pool/") (synopsis "Object-pooling API in Java") (description "The commons-pool package provides an object-pooling API @@ -6474,7 +6446,7 @@ creating new pool implementations.") ("java-commons-logging" ,java-commons-logging-minimal) ("java-jboss-transaction-api-spec" ,java-jboss-transaction-api-spec))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (build-system ant-build-system) (home-page "https://commons.apache.org/proper/commons-dbcp/") (synopsis "Database Connection Pool for Java") @@ -6516,12 +6488,10 @@ reduce that load.") (delete-file "admin/servlet/JCSAdminServlet.java")) #t))))) (propagated-inputs - `(("java-classpathx-servletapi" ,java-classpathx-servletapi) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ("java-commons-httpclient" ,java-commons-httpclient) - ("java-commons-dbcp" ,java-commons-dbcp))) + (list java-classpathx-servletapi java-commons-logging-minimal + java-commons-httpclient java-commons-dbcp)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://commons.apache.org/proper/commons-jcs/") (synopsis "Distributed caching system in Java") (description "JCS is a distributed caching system written in Java. It @@ -6639,9 +6609,9 @@ It provides packages in the @code{javax.annotations} namespace.") #t)) (replace 'install (install-from-pom "guava/pom.xml"))))) (inputs - `(("java-jsr305" ,java-jsr305))) + (list java-jsr305)) (propagated-inputs - `(("java-guava-parent-pom" ,java-guava-parent-pom))) + (list java-guava-parent-pom)) (home-page "https://github.com/google/guava") (synopsis "Google core libraries for Java") (description "Guava is a set of core libraries that includes new @@ -6764,10 +6734,7 @@ used with any logging implementation at runtime.") (("import org.mockito.cglib") "import net.sf.cglib"))) #t))))) (inputs - `(("java-junit" ,java-junit) - ("java-objenesis" ,java-objenesis) - ("java-cglib" ,java-cglib) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-objenesis java-cglib java-hamcrest-core)) (home-page "http://mockito.org") (synopsis "Mockito is a mock library for Java") (description "Mockito is a mocking library for Java which lets you write @@ -6795,11 +6762,9 @@ it records all mock invocations, including methods arguments.") (add-after 'unpack 'chdir (lambda _ (chdir "httpcore") #t))))) (inputs - `(("java-commons-logging-minimal" ,java-commons-logging-minimal) - ("java-commons-lang3" ,java-commons-lang3))) + (list java-commons-logging-minimal java-commons-lang3)) (native-inputs - `(("java-junit" ,java-junit) - ("java-mockito" ,java-mockito-1))) + (list java-junit java-mockito-1)) (home-page "https://hc.apache.org/httpcomponents-core-4.4.x/index.html") (synopsis "Low level HTTP transport components") (description "HttpCore is a set of low level HTTP transport components @@ -6821,9 +6786,8 @@ This package provides the blocking I/O model library.") (add-after 'unpack 'chdir (lambda _ (chdir "httpcore-nio") #t))))) (inputs - `(("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore) - ("java-hamcrest-core" ,java-hamcrest-core) - ,@(package-inputs java-httpcomponents-httpcore))) + (modify-inputs (package-inputs java-httpcomponents-httpcore) + (prepend java-httpcomponents-httpcore java-hamcrest-core))) (description "HttpCore is a set of low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint. HttpCore supports two I/O models: blocking I/O model based @@ -6843,10 +6807,9 @@ NIO."))) (add-after 'unpack 'chdir (lambda _ (chdir "httpcore-ab") #t))))) (inputs - `(("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore) - ("java-commons-cli" ,java-commons-cli) - ("java-hamcrest-core" ,java-hamcrest-core) - ,@(package-inputs java-httpcomponents-httpcore))) + (modify-inputs (package-inputs java-httpcomponents-httpcore) + (prepend java-httpcomponents-httpcore java-commons-cli + java-hamcrest-core))) (synopsis "Apache HttpCore benchmarking tool") (description "This package provides the HttpCore benchmarking tool. It is an Apache AB clone based on HttpCore."))) @@ -6871,12 +6834,12 @@ an Apache AB clone based on HttpCore."))) (add-after 'unpack 'chdir (lambda _ (chdir "httpclient") #t))))) (inputs - `(("java-commons-logging-minimal" ,java-commons-logging-minimal) - ("java-commons-codec" ,java-commons-codec) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore) - ("java-mockito" ,java-mockito-1) - ("java-junit" ,java-junit))) + (list java-commons-logging-minimal + java-commons-codec + java-hamcrest-core + java-httpcomponents-httpcore + java-mockito-1 + java-junit)) (home-page "https://hc.apache.org/httpcomponents-client-ga/") (synopsis "HTTP client library for Java") (description "Although the @code{java.net} package provides basic @@ -6897,10 +6860,8 @@ standards and recommendations.") (add-after 'unpack 'chdir (lambda _ (chdir "httpmime") #t))))) (inputs - `(("java-httpcomponents-httpclient" ,java-httpcomponents-httpclient) - ("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore) - ("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))))) + (list java-httpcomponents-httpclient java-httpcomponents-httpcore + java-junit java-hamcrest-core)))) (define-public java-commons-net (package @@ -6921,8 +6882,7 @@ standards and recommendations.") #:tests? #f #:jar-name "commons-net.jar")) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://commons.apache.org/net/") (synopsis "Client library for many basic Internet protocols") (description "The Apache Commons Net library implements the client side of @@ -6949,7 +6909,7 @@ fundamental protocol access, not higher-level abstractions.") (modify-phases %standard-phases (replace 'install (install-jars "dist"))))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (home-page "http://www.jcraft.com/jsch/") (synopsis "Pure Java implementation of SSH2") (description "JSch is a pure Java implementation of SSH2. JSch allows you @@ -6992,11 +6952,9 @@ programs.") #t)) (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-xz" ,java-xz) - ("apache-commons-parent-pom" ,apache-commons-parent-pom-41))) + (list java-xz apache-commons-parent-pom-41)) (native-inputs - `(("java-junit" ,java-junit) - ("java-mockito" ,java-mockito-1))) + (list java-junit java-mockito-1)) (home-page "https://commons.apache.org/proper/commons-compress/") (synopsis "Java library for working with compressed files") (description "The Apache Commons Compress library defines an API for @@ -7085,7 +7043,7 @@ components.") `(#:tests? #f ; no tests #:jar-name "osgi-core.jar")) (inputs - `(("java-osgi-annotation" ,java-osgi-annotation))) + (list java-osgi-annotation)) (home-page "https://www.osgi.org") (synopsis "Core module of OSGi framework") (description @@ -7112,8 +7070,7 @@ the OSGi Core module.") `(#:tests? #f ; no tests #:jar-name "osgi-service-event.jar")) (inputs - `(("java-osgi-annotation" ,java-osgi-annotation) - ("java-osgi-core" ,java-osgi-core))) + (list java-osgi-annotation java-osgi-core)) (home-page "https://www.osgi.org") (synopsis "OSGi service event module") (description @@ -7140,7 +7097,7 @@ the OSGi @code{org.osgi.service.event} module.") `(#:tests? #f ; no tests included #:jar-name "eclipse-equinox-osgi.jar")) (inputs - `(("java-osgi-annotation" ,java-osgi-annotation))) + (list java-osgi-annotation)) (home-page "http://www.eclipse.org/equinox/") (synopsis "Eclipse Equinox OSGi framework") (description "This package provides an implementation of the OSGi Core @@ -7165,7 +7122,7 @@ specification.") `(#:tests? #f ; no tests included #:jar-name "eclipse-equinox-common.jar")) (inputs - `(("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-osgi)) (home-page "http://www.eclipse.org/equinox/") (synopsis "Common Eclipse runtime") (description "This package provides the common Eclipse runtime.") @@ -7189,8 +7146,7 @@ specification.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-jobs.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common java-eclipse-osgi)) (home-page "http://www.eclipse.org/equinox/") (synopsis "Eclipse jobs mechanism") (description "This package provides the Eclipse jobs mechanism.") @@ -7214,9 +7170,8 @@ specification.") `(#:tests? #f ; no tests included #:jar-name "eclipse-equinox-registry.jar")) (inputs - `(("java-eclipse-core-jobs" ,java-eclipse-core-jobs) - ("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-core-jobs java-eclipse-equinox-common + java-eclipse-osgi)) (home-page "http://www.eclipse.org/equinox/") (synopsis "Eclipse extension registry support") (description "This package provides support for the Eclipse extension @@ -7241,10 +7196,8 @@ registry.") `(#:tests? #f ; no tests included #:jar-name "eclipse-equinox-app.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-osgi" ,java-eclipse-osgi) - ("java-osgi-service-event" ,java-osgi-service-event))) + (list java-eclipse-equinox-common java-eclipse-equinox-registry + java-eclipse-osgi java-osgi-service-event)) (home-page "http://www.eclipse.org/equinox/") (synopsis "Equinox application container") (description "This package provides the Equinox application container for @@ -7269,9 +7222,8 @@ Eclipse.") `(#:tests? #f ; no tests included #:jar-name "eclipse-equinox-preferences.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common java-eclipse-equinox-registry + java-eclipse-osgi)) (home-page "http://www.eclipse.org/equinox/") (synopsis "Eclipse preferences mechanism") (description "This package provides the Eclipse preferences mechanism with @@ -7296,10 +7248,8 @@ the module @code{org.eclipse.equinox.preferences}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-contenttype.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common java-eclipse-equinox-preferences + java-eclipse-equinox-registry java-eclipse-osgi)) (home-page "http://www.eclipse.org/") (synopsis "Eclipse content mechanism") (description "This package provides the Eclipse content mechanism in the @@ -7324,13 +7274,13 @@ the module @code{org.eclipse.equinox.preferences}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-runtime.jar")) (inputs - `(("java-eclipse-core-contenttype" ,java-eclipse-core-contenttype) - ("java-eclipse-core-jobs" ,java-eclipse-core-jobs) - ("java-eclipse-equinox-app" ,java-eclipse-equinox-app) - ("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-core-contenttype + java-eclipse-core-jobs + java-eclipse-equinox-app + java-eclipse-equinox-common + java-eclipse-equinox-registry + java-eclipse-equinox-preferences + java-eclipse-osgi)) (home-page "https://www.eclipse.org/") (synopsis "Eclipse core runtime") (description "This package provides the Eclipse core runtime with the @@ -7355,9 +7305,8 @@ module @code{org.eclipse.core.runtime}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-filesystem.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common java-eclipse-equinox-registry + java-eclipse-osgi)) (home-page "https://www.eclipse.org/") (synopsis "Eclipse core file system") (description "This package provides the Eclipse core file system with the @@ -7382,11 +7331,9 @@ module @code{org.eclipse.core.filesystem}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-expressions.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common java-eclipse-equinox-registry + java-eclipse-equinox-preferences java-eclipse-core-runtime + java-eclipse-osgi)) (home-page "https://www.eclipse.org/") (synopsis "Eclipse core expression language") (description "This package provides the Eclipse core expression language @@ -7411,11 +7358,9 @@ with the @code{org.eclipse.core.expressions} module.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-variables.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common java-eclipse-equinox-registry + java-eclipse-equinox-preferences java-eclipse-core-runtime + java-eclipse-osgi)) (home-page "https://www.eclipse.org/platform") (synopsis "Eclipse core variables") (description "This package provides the Eclipse core variables module @@ -7440,14 +7385,14 @@ with the @code{org.eclipse.core.expressions} module.") `(#:tests? #f ; no tests included #:jar-name "eclipse-ant-core.jar")) (inputs - `(("java-eclipse-equinox-app" ,java-eclipse-equinox-app) - ("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-core-contenttype" ,java-eclipse-core-contenttype) - ("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-core-variables" ,java-eclipse-core-variables) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-app + java-eclipse-equinox-common + java-eclipse-equinox-registry + java-eclipse-equinox-preferences + java-eclipse-core-contenttype + java-eclipse-core-runtime + java-eclipse-core-variables + java-eclipse-osgi)) (home-page "https://www.eclipse.org/platform") (synopsis "Ant build tool core libraries") (description "This package provides the ant build tool core libraries with @@ -7472,16 +7417,16 @@ the module @code{org.eclipse.ant.core}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-resources.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-core-contenttype" ,java-eclipse-core-contenttype) - ("java-eclipse-core-expressions" ,java-eclipse-core-expressions) - ("java-eclipse-core-filesystem" ,java-eclipse-core-filesystem) - ("java-eclipse-core-jobs" ,java-eclipse-core-jobs) - ("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-ant-core" ,java-eclipse-ant-core) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-equinox-common + java-eclipse-equinox-preferences + java-eclipse-equinox-registry + java-eclipse-core-contenttype + java-eclipse-core-expressions + java-eclipse-core-filesystem + java-eclipse-core-jobs + java-eclipse-core-runtime + java-eclipse-ant-core + java-eclipse-osgi)) (home-page "https://www.eclipse.org/") (synopsis "Eclipse core resource management") (description "This package provides the Eclipse core resource management @@ -7506,10 +7451,8 @@ module @code{org.eclipse.core.resources}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-compare-core.jar")) (inputs - `(("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-osgi" ,java-eclipse-osgi) - ("java-icu4j" ,java-icu4j))) + (list java-eclipse-core-runtime java-eclipse-equinox-common + java-eclipse-osgi java-icu4j)) (home-page "https://www.eclipse.org/") (synopsis "Eclipse core compare support") (description "This package provides the Eclipse core compare support @@ -7534,16 +7477,16 @@ module @code{org.eclipse.compare.core}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-team-core.jar")) (inputs - `(("java-eclipse-compare-core" ,java-eclipse-compare-core) - ("java-eclipse-core-contenttype" ,java-eclipse-core-contenttype) - ("java-eclipse-core-filesystem" ,java-eclipse-core-filesystem) - ("java-eclipse-core-jobs" ,java-eclipse-core-jobs) - ("java-eclipse-core-resources" ,java-eclipse-core-resources) - ("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-osgi" ,java-eclipse-osgi))) + (list java-eclipse-compare-core + java-eclipse-core-contenttype + java-eclipse-core-filesystem + java-eclipse-core-jobs + java-eclipse-core-resources + java-eclipse-core-runtime + java-eclipse-equinox-common + java-eclipse-equinox-registry + java-eclipse-equinox-preferences + java-eclipse-osgi)) (home-page "https://www.eclipse.org/platform") (synopsis "Eclipse team support core") (description "This package provides the Eclipse team support core module @@ -7568,7 +7511,7 @@ module @code{org.eclipse.compare.core}.") `(#:tests? #f ; no tests included #:jar-name "eclipse-core-commands.jar")) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common))) + (list java-eclipse-equinox-common)) (home-page "https://www.eclipse.org/platform") (synopsis "Eclipse core commands") (description "This package provides Eclipse core commands in the module @@ -7620,9 +7563,8 @@ module @code{org.eclipse.compare.core}.") "Positions.put(category, new ArrayList<Position>());")) #t))))) (inputs - `(("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-core-commands" ,java-eclipse-core-commands) - ("java-icu4j" ,java-icu4j))) + (list java-eclipse-equinox-common java-eclipse-core-commands + java-icu4j)) (home-page "http://www.eclipse.org/platform") (synopsis "Eclipse text library") (description "Platform Text is part of the Platform UI project and @@ -7665,17 +7607,17 @@ and contributes the Eclipse default text editor.") (find-files "." ".*.(props|properties|rsc)"))) #t))))) (inputs - `(("java-eclipse-core-contenttype" ,java-eclipse-core-contenttype) - ("java-eclipse-core-filesystem" ,java-eclipse-core-filesystem) - ("java-eclipse-core-jobs" ,java-eclipse-core-jobs) - ("java-eclipse-core-resources" ,java-eclipse-core-resources) - ("java-eclipse-core-runtime" ,java-eclipse-core-runtime) - ("java-eclipse-equinox-app" ,java-eclipse-equinox-app) - ("java-eclipse-equinox-common" ,java-eclipse-equinox-common) - ("java-eclipse-equinox-preferences" ,java-eclipse-equinox-preferences) - ("java-eclipse-equinox-registry" ,java-eclipse-equinox-registry) - ("java-eclipse-osgi" ,java-eclipse-osgi) - ("java-eclipse-text" ,java-eclipse-text))) + (list java-eclipse-core-contenttype + java-eclipse-core-filesystem + java-eclipse-core-jobs + java-eclipse-core-resources + java-eclipse-core-runtime + java-eclipse-equinox-app + java-eclipse-equinox-common + java-eclipse-equinox-preferences + java-eclipse-equinox-registry + java-eclipse-osgi + java-eclipse-text)) (home-page "https://www.eclipse.org/jdt") (synopsis "Java development tools core libraries") (description "This package provides the core libraries of the Eclipse Java @@ -7701,7 +7643,7 @@ development tools.") #:jar-name "eclipse-jdt-compiler-apt.jar" #:jdk ,openjdk11)) (inputs - `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) + (list java-eclipse-jdt-core)) (home-page "https://www.eclipse.org/jdt/apt/") (synopsis "Annotation processing tool") (description "APT stands for Annotation Processing Tool. APT provides a @@ -7747,7 +7689,7 @@ definition intended to be inherited by other packages.") (copy-recursively "org.eclipse.lsp4j.debug/src/main/xtend-gen" "org.eclipse.lsp4j.debug/src/main/java")))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (inputs `(("java-gson" ,java-gson-2.8.6) ("java-eclipse-lsp4j-generaor" ,java-eclipse-lsp4j-generator) @@ -7769,7 +7711,7 @@ LSP4J Java bindings for the Debug Server Protocol."))) #:tests? #f; no tests #:source-dir "org.eclipse.lsp4j.generator/src/main/java")) (inputs - `(("java-eclipse-lsp4j-jsonrpc" ,java-eclipse-lsp4j-jsonrpc))) + (list java-eclipse-lsp4j-jsonrpc)) (synopsis "Eclipse LSP4J Generator") (description "Eclipse LSP4J provides Java bindings for the Language Server Protocol and the Debug Adapter Protocol. This package contains its @@ -7785,9 +7727,9 @@ LSP4J code generator for Language Server Protocol classes."))) #:source-dir "org.eclipse.lsp4j.jsonrpc/src/main/java" #:test-dir "org.eclipse.lsp4j.jsonrpc/src/test")) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (inputs - `(("java-gson" ,java-gson-2.8.6))) + (list java-gson-2.8.6)) (synopsis "Java JSON-RPC implementation") (description "Eclipse LSP4J provides Java bindings for the Language Server Protocol and the Debug Adapter Protocol. This package contains its @@ -7803,10 +7745,9 @@ JSON-RPC implementation."))) #:source-dir "org.eclipse.lsp4j.jsonrpc.debug/src/main/java" #:test-dir "org.eclipse.lsp4j.jsonrpc.debug/src/test")) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (inputs - `(("java-eclipse-lsp4j-jsonrpc" ,java-eclipse-lsp4j-jsonrpc) - ("java-gson" ,java-gson-2.8.6))) + (list java-eclipse-lsp4j-jsonrpc java-gson-2.8.6)) (synopsis "Java JSON-RPC implementation (debug protocol)") (description "Eclipse LSP4J provides Java bindings for the Language Server Protocol and the Debug Adapter Protocol. This package contains its @@ -7833,9 +7774,9 @@ JSON-RPC implementation's debug protocol."))) #:source-dir "org.eclipse.xtext.xbase.lib/src" #:test-dir "org.eclipse.xtext.xbase.lib.tests/src")) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (inputs - `(("java-guava" ,java-guava))) + (list java-guava)) (home-page "https://www.eclipse.org/Xtext/") (synopsis "Eclipse Xbase Runtime Library") (description "This package contains runtime libraries for Xbase languages @@ -7871,21 +7812,20 @@ JavaMail API.") (define-public java-log4j-api (package (name "java-log4j-api") - (version "2.4.1") + (version "2.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://apache/logging/log4j/" version "/apache-log4j-" version "-src.tar.gz")) (sha256 (base32 - "0j5p9gik0jysh37nlrckqbky12isy95cpwg2gv5fas1rcdqbraxd")))) + "1943lsqf3rywh11h6g5apyqm25am42cvrxpfc8sb9k8aqhlfvl0a")))) (build-system ant-build-system) (arguments `(#:tests? #f ; tests require unpackaged software #:jar-name "log4j-api.jar" #:make-flags - (list (string-append "-Ddist.dir=" (assoc-ref %outputs "out") - "/share/java")) + ,#~(list (string-append "-Ddist.dir=" #$output "/share/java")) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-dir @@ -7897,9 +7837,8 @@ JavaMail API.") (add-after 'enter-dir 'delete-tests (lambda _ (delete-file-recursively "src/test") #t))))) (inputs - `(("java-osgi-core" ,java-osgi-core) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-junit" ,java-junit))) + (list java-osgi-core java-hamcrest-core java-junit)) + (properties '((cpe-name . "log4j"))) (home-page "https://logging.apache.org/log4j/2.x/") (synopsis "API module of the Log4j logging framework for Java") (description @@ -7917,7 +7856,11 @@ Java.") ("java-log4j-api" ,java-log4j-api) ("java-mail" ,java-mail) ("java-jboss-jms-api-spec" ,java-jboss-jms-api-spec) + ("java-conversant-disruptor" ,java-conversant-disruptor) ("java-lmax-disruptor" ,java-lmax-disruptor) + ("java-jctools-core" ,java-jctools-core-1) + ("java-stax2-api" ,java-stax2-api) + ("java-jansi" ,java-jansi) ("java-kafka" ,java-kafka-clients) ("java-datanucleus-javax-persistence" ,java-datanucleus-javax-persistence) ("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) @@ -7941,8 +7884,7 @@ Java.") #:jar-name "log4j-core.jar" #:jdk ,icedtea-8 #:make-flags - (list (string-append "-Ddist.dir=" (assoc-ref %outputs "out") - "/share/java")) + ,#~(list (string-append "-Ddist.dir=" #$output "/share/java")) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-dir @@ -7965,6 +7907,7 @@ logging framework for Java."))) (inputs `(("log4j-api" ,java-log4j-api) ("log4j-core" ,java-log4j-core) + ("java-jboss-jms-api-spec" ,java-jboss-jms-api-spec) ("osgi-core" ,java-osgi-core) ("eclipse-osgi" ,java-eclipse-osgi) ("java-lmax-disruptor" ,java-lmax-disruptor))))) @@ -7989,8 +7932,7 @@ logging framework for Java."))) (replace 'install (install-from-pom "pom.xml"))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://commons.apache.org/cli/") (synopsis "Command line arguments and options parsing library") (description "The Apache Commons CLI library provides an API for parsing @@ -8047,10 +7989,9 @@ This is a part of the Apache Commons Project.") "return;")))) (replace 'install (install-from-pom "pom.xml"))))) (native-inputs - `(("java-commons-lang3" ,java-commons-lang3) - ("java-junit" ,java-junit))) + (list java-commons-lang3 java-junit)) (propagated-inputs - `(("apache-commons-parent-pom" ,apache-commons-parent-pom-50))) + (list apache-commons-parent-pom-50)) (home-page "https://commons.apache.org/codec/") (synopsis "Common encoders and decoders such as Base64, Hex, Phonetic and URLs") (description "The codec package contains simple encoder and decoders for @@ -8081,7 +8022,7 @@ This is a part of the Apache Commons Project.") (replace 'install (install-jars "dist")) (add-after 'install 'install-doc (install-javadoc "dist/docs/api"))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://commons.apache.org/daemon/") (synopsis "Library to launch Java applications as daemons") (description "The Daemon package from Apache Commons can be used to @@ -8111,8 +8052,7 @@ This is a part of the Apache Commons Project.") (build-system ant-build-system) (arguments `(#:jar-name "javaewah.jar")) (inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://github.com/lemire/javaewah") (synopsis "Compressed alternative to the Java @code{BitSet} class") (description "This is a word-aligned compressed variant of the Java @@ -8170,10 +8110,9 @@ more efficient storage-wise than an uncompressed bitmap (as implemented in the (replace 'install (install-from-pom "slf4j-api/pom.xml"))))) (propagated-inputs - `(("java-slf4j-parent" ,java-slf4j-parent))) + (list java-slf4j-parent)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://www.slf4j.org/") (synopsis "Simple logging facade for Java") (description "The Simple Logging Facade for Java (SLF4J) serves as a @@ -8223,10 +8162,9 @@ time.") (replace 'install (install-from-pom "slf4j-simple/pom.xml"))))) (propagated-inputs - `(("java-slf4j-api" ,java-slf4j-api))) + (list java-slf4j-api)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://www.slf4j.org/") (synopsis "Simple implementation of simple logging facade for Java") (description "SLF4J binding for the Simple implementation, which outputs @@ -8720,9 +8658,9 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) #:source-dir "org.abego.treelayout/src/main/java" #:test-dir "org.abego.treelayout/src/test")) (inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (native-inputs - `(("java-hamcrest-core" ,java-hamcrest-core))) + (list java-hamcrest-core)) (home-page "http://treelayout.sourceforge.net") (synopsis "Tree Layout Algorithm in Java") (description "TreeLayout creates tree layouts for arbitrary trees. It is @@ -8912,14 +8850,14 @@ sources by ANTLR.") (invoke "antlr3" "SourceGenTriggers.g")) #t))))) (inputs - `(("antlr3" ,antlr3) - ("java-antlr4-runtime" ,java-antlr4-runtime) - ("java-icu4j" ,java-icu4j) - ("java-jsonp-api" ,java-jsonp-api) - ("java-stringtemplate" ,java-stringtemplate) - ("java-treelayout" ,java-treelayout))) + (list antlr3 + java-antlr4-runtime + java-icu4j + java-jsonp-api + java-stringtemplate + java-treelayout)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (synopsis "Parser and lexer generator in Java") (description "ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured @@ -8949,7 +8887,7 @@ parse trees."))) (chmod "build.xml" #o644) #t)))))) (inputs - `(("java-treelayout" ,java-treelayout))))) + (list java-treelayout)))) (define-public antlr4-4.1 (package @@ -9128,7 +9066,7 @@ the runtime library of ANTLR."))) "dir=\"${test.home}\"")) #t))))) (native-inputs - `(("java-junit" ,java-junit))))) + (list java-junit)))) (define-public java-microemulator-cldc (package @@ -9541,7 +9479,7 @@ and service platform for the Java programming language.") `(#:jar-name "osgi-service-log.jar" #:tests? #f)); no tests (inputs - `(("java-osgi-framework" ,java-osgi-framework))) + (list java-osgi-framework)) (home-page "https://www.osgi.org") (synopsis "Provides methods for bundles to write messages to the log") (description @@ -10192,8 +10130,7 @@ Processor. It also includes the default implementation of handler types (copy-recursively "src/main/resources" "build/classes") #t))))) (inputs - `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) - ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core))) + (list java-fasterxml-jackson-annotations java-fasterxml-jackson-core)) (home-page "https://github.com/FasterXML/jackson-databind") (synopsis "Data-binding functionality and tree-model for the Jackson Data Processor") (description "This package contains the general-purpose data-binding @@ -10241,11 +10178,10 @@ configuration.") (copy-recursively "jaxb/src/main/resources" "build/classes") #t))))) (inputs - `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) - ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) - ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind))) + (list java-fasterxml-jackson-annotations java-fasterxml-jackson-core + java-fasterxml-jackson-databind)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/FasterXML/jackson-modules-base") (synopsis "Jaxb annotations jackson module") (description "This package is the jaxb annotations module for jackson.") @@ -10286,13 +10222,10 @@ configuration.") (("@projectartifactid@") "jackson-module-mrbean"))) #t))))) (inputs - `(("java-asm" ,java-asm) - ("java-fasterxml-jackson-annotations" - ,java-fasterxml-jackson-annotations) - ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) - ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind))) + (list java-asm java-fasterxml-jackson-annotations + java-fasterxml-jackson-core java-fasterxml-jackson-databind)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/FasterXML/jackson-modules-base") (synopsis "POJO type materialization for Java") (description "This package implements POJO type materialization. @@ -10356,10 +10289,8 @@ of deserialization.") (("@projectartifactid@") "jackson-dataformat-yaml"))) #t))))) (inputs - `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) - ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) - ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind) - ("java-snakeyaml" ,java-snakeyaml))) + (list java-fasterxml-jackson-annotations java-fasterxml-jackson-core + java-fasterxml-jackson-databind java-snakeyaml)) (native-inputs `(("junit" ,java-junit) ("hamcrest" ,java-hamcrest-core) @@ -10588,9 +10519,9 @@ the subsequent value resolution at any given level.") #t)) (replace 'install (install-jars "dist"))))) (inputs - `(("java-asm" ,java-asm))) + (list java-asm)) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/nhatminhle/cofoja") (synopsis "Contracts for Java") (description "Contracts for Java, or Cofoja for short, is a contract @@ -10703,12 +10634,12 @@ the dependency is said to be unsatisfied, and the application is broken.") (replace 'install (install-from-pom "core/pom.xml"))))) (propagated-inputs - `(("java-aopalliance" ,java-aopalliance) - ("java-asm" ,java-asm) - ("java-cglib" ,java-cglib) - ("java-guava" ,java-guava) - ("java-javax-inject" ,java-javax-inject) - ("java-guice-parent-pom" ,java-guice-parent-pom))) + (list java-aopalliance + java-asm + java-cglib + java-guava + java-javax-inject + java-guice-parent-pom)) (home-page "https://github.com/google/guice") (synopsis "Lightweight dependency injection framework") (description "Guice is a lightweight dependency injection framework for @@ -10917,11 +10848,9 @@ annotations.") (replace 'install (install-from-pom "pom.xml"))))) (inputs - `(("java-classpathx-servletapi" ,java-classpathx-servletapi) - ("java-commons-bsf" ,java-commons-bsf))) + (list java-classpathx-servletapi java-commons-bsf)) (native-inputs - `(("java-junit" ,java-junit) - ("javacc" ,javacc-3))) + (list java-junit javacc-3)) (home-page "http://beanshell.org/") (synopsis "Lightweight Scripting for Java") (description "BeanShell is a small, free, embeddable Java source @@ -11006,15 +10935,15 @@ those in Perl and JavaScript.") "**/MessageFormatter_format_Test.java" "**/internal/*/*_assert*_Test.java"))) (inputs - `(("java-fest-util" ,java-fest-util))) + (list java-fest-util)) (native-inputs - `(("java-junit" ,java-junit) - ("java-fest-test" ,java-fest-test) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-mockito" ,java-mockito-1) - ("java-cglib" ,java-cglib) - ("java-objenesis" ,java-objenesis) - ("java-asm" ,java-asm))) + (list java-junit + java-fest-test + java-hamcrest-core + java-mockito-1 + java-cglib + java-objenesis + java-asm)) (home-page "https://github.com/alexruiz/fest-assert-2.x") (synopsis "FEST fluent assertions") (description "FEST-Assert provides a fluent interface for assertions.") @@ -11138,9 +11067,7 @@ to use.") "org.testng.TestNG" "-testclass" "build/test-classes/com/neilalexander/jnacl/NaClTest.class")))))) (native-inputs - `(("java-testng" ,java-testng) - ("java-fest-util" ,java-fest-util) - ("java-fest-assert" ,java-fest-assert))) + (list java-testng java-fest-util java-fest-assert)) (home-page "https://github.com/neilalexander/jnacl") (synopsis "Java implementation of NaCl") (description "Pure Java implementation of the NaCl: Networking and @@ -11244,11 +11171,9 @@ configuration and string construction.") (invoke "java" "javacc" "Parser.jj")) #t))))) (inputs - `(("java-commons-logging-minimal" ,java-commons-logging-minimal))) + (list java-commons-logging-minimal)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core) - ("javacc" ,javacc-4))) + (list java-junit java-hamcrest-core javacc-4)) (home-page "https://commons.apache.org/proper/commons-jexl/") (synopsis "Java Expression Language ") (description "JEXL is a library intended to facilitate the implementation @@ -11334,7 +11259,7 @@ algorithms and xxHash hashing algorithm.") (replace 'install (install-jars "build/artifacts/jdk1.5/jars"))))) (inputs - `(("java-javax-mail" ,java-javax-mail))) + (list java-javax-mail)) (native-inputs `(("unzip" ,unzip) ("junit" ,java-junit) @@ -11349,15 +11274,16 @@ programming language.") (define-public java-lmax-disruptor (package (name "java-lmax-disruptor") - (version "3.3.7") + (version "3.4.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/LMAX-Exchange/disruptor/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/LMAX-Exchange/disruptor") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "17da2gwj5abnlsfgn2xqjk5lgzbg4vkb0hdv2dvc8r2fx4bi7w3g")))) + "02c5kp3n8a73dq9ay7ar53s1k3x61z9yzc5ikqb03m6snr1wpfqn")))) (build-system ant-build-system) (arguments `(#:jar-name "java-lmax-disruptor.jar" @@ -11381,6 +11307,67 @@ for high performance inter-thread communication that avoids the need for message queues or resource locking.") (license license:asl2.0))) +(define-public java-conversant-disruptor + (package + (name "java-conversant-disruptor") + (version "1.2.19") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/conversant/disruptor") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gx1dm7sfg7pa05cs4qby10gfcplai5b5lf1f7ik1a76dh3vhl0g")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-conversant-disruptor.jar" + #:source-dir "src/main/java" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes"))) + (add-before 'build 'remove-module + (lambda _ + (delete-file "src/main/java/module-info.java")))))) + (native-inputs + (list java-junit)) + (home-page "https://github.com/conversant/disruptor") + (synopsis "High performance intra-thread communication") + (description "Conversant Disruptor is the highest performing intra-thread +transfer mechanism available in Java. Conversant Disruptor is an implementation +of this type of ring buffer that has almost no overhead and that exploits a +particularly simple design.") + (license license:asl2.0))) + +(define-public java-jctools-core-1 + (package + (name "java-jctools-core") + (version "1.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JCTools/JCTools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "105my29nwd4djvdllmq8s3jdzbyplbkxzwmddxiiilb4yqr1pghb")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-jctools-core.jar" + #:source-dir "jctools-core/src/main/java" + #:test-dir "jctools-core/src/test")) + (native-inputs + (list java-junit java-hamcrest-all)) + (home-page "https://github.com/JCTools/JCTools") + (synopsis "Concurrency tools for Java") + (description "This library implements concurrent data structures that are +not natively available in Java.") + (license license:asl2.0))) + (define-public java-commons-bcel (package (name "java-commons-bcel") @@ -11472,7 +11459,7 @@ streams, etc.") #:source-dir "powermock-reflect/src/main/java" #:test-dir "powermock-reflect/src/test")) (inputs - `(("java-objenesis" ,java-objenesis))) + (list java-objenesis)) (native-inputs `(("junit" ,java-junit) ("cglib" ,java-cglib) @@ -11716,7 +11703,7 @@ protocol-independent framework to build mail and messaging applications.") "**/RouterSpecTest.java" "**/ProxyTest.java"))) (inputs - `(("java-jnacl" ,java-jnacl))) + (list java-jnacl)) (native-inputs `(("java-hamcrest-core" ,java-hamcrest-core) ("junit" ,java-junit))) @@ -11754,8 +11741,7 @@ protocol-independent framework to build mail and messaging applications.") ;; Undeterministic failure, seems to affect mostly ci "**/GarbageCollectedMemoryPoolTest.java"))) (inputs - `(("java-slf4j-api" ,java-slf4j-api) - ("java-lz4" ,java-lz4))) + (list java-slf4j-api java-lz4)) (native-inputs `(("junit" ,java-junit) ("hamcrest" ,java-hamcrest-all) @@ -11848,7 +11834,7 @@ outputting XML data from Java code.") ("log4j-core" ,java-log4j-core) ("logging" ,java-commons-logging-minimal))) (propagated-inputs - `(("java-geronimo-parent-pom" ,java-geronimo-parent-pom))) + (list java-geronimo-parent-pom)) (native-inputs `(("junit" ,java-junit))) (home-page "https://geronimo.apache.org/maven/xbean/3.6/xbean-reflect/") @@ -11964,7 +11950,7 @@ public Bundle getBundle()")) #:source-dir "xbean-asm-util/src/main/java" #:tests? #f)); no tests (inputs - `(("java-asm" ,java-asm))) + (list java-asm)) (native-inputs '()))) (define-public java-geronimo-xbean-finder @@ -11976,15 +11962,14 @@ public Bundle getBundle()")) #:source-dir "xbean-finder/src/main/java" #:test-dir "xbean-finder/src/test")) (inputs - `(("java-slf4j-api" ,java-slf4j-api) - ("java-asm" ,java-asm) - ("java-geronimo-xbean-bundleutils" ,java-geronimo-xbean-bundleutils) - ("java-geronimo-xbean-asm-util" ,java-geronimo-xbean-asm-util) - ("java-osgi-service-packageadmin" ,java-osgi-service-packageadmin) - ("java-osgi-framework" ,java-osgi-framework))) + (list java-slf4j-api + java-asm + java-geronimo-xbean-bundleutils + java-geronimo-xbean-asm-util + java-osgi-service-packageadmin + java-osgi-framework)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))))) + (list java-junit java-hamcrest-core)))) (define-public java-gson (package @@ -12003,8 +11988,7 @@ public Bundle getBundle()")) #:source-dir "gson/src/main/java" #:test-dir "gson/src/test")) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://github.com/google/gson") (synopsis "Java serialization/deserialization library from/to JSON") (description "Gson is a Java library that can be used to convert Java @@ -12087,9 +12071,7 @@ including pre-existing objects that you do not have source-code of.") (replace 'install (install-from-pom "hawtjni-runtime/pom.xml"))))) (inputs - `(("java-commons-cli" ,java-commons-cli) - ("java-asm" ,java-asm) - ("java-geronimo-xbean-finder" ,java-geronimo-xbean-finder))) + (list java-commons-cli java-asm java-geronimo-xbean-finder)) (home-page "https://fusesource.github.io/hawtjni/") (synopsis "JNI code generator") (description "HawtJNI is a code generator that produces the JNI code needed @@ -12154,7 +12136,7 @@ that is part of the SWT Tools project.") (replace 'install (install-from-pom "pom.xml"))))) (propagated-inputs - `(("java-hawtjni" ,java-hawtjni))) + (list java-hawtjni)) (home-page "https://fusesource.github.io/jansi/") (synopsis "Native library for jansi") (description "This package provides the native library for jansi, a small @@ -12165,17 +12147,81 @@ console output.") (define-public java-jansi (package (name "java-jansi") - (version "1.16") + (version "2.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/fusesource/jansi/archive/" - "jansi-project-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/fusesource/jansi") + (commit (string-append "jansi-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "11kh3144i3fzp21dpy8zg52mjmsr214k7km9p8ly0rqk2px0qq2z")))) + "1s6fva06990798b5fyxqzr30zwyj1byq5wrm54j2larcydaryggf")) + (modules '((guix build utils))) + (snippet + ;; contains pre-compiled libraries + '(delete-file-recursively + "src/main/resources/org/fusesource/jansi/internal")))) (build-system ant-build-system) (arguments `(#:jar-name "jansi.jar" + #:source-dir "src/main/java" + #:test-dir "src/test" + #:tests? #f; require junit 3 + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-native + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "src/main/native" + (for-each + (lambda (cfile) + (let ((cfile (basename cfile)) + (ofile (string-append (basename cfile ".c") ".o"))) + (invoke ,(cc-for-target) "-c" cfile "-o" ofile + (string-append "-I" (assoc-ref inputs "jdk") + "/include/linux") + "-fPIC" "-O2"))) + (find-files "." "\\.c$")) + (apply invoke ,(cc-for-target) "-o" "libjansi.so" "-shared" + (find-files "." "\\.o$"))))) + (add-before 'build 'install-native + (lambda _ + (let ((dir (string-append "build/classes/org/fusesource/" + "jansi/internal/native/" + ,(match (or (%current-target-system) (%current-system)) + ("i686-linux" "Linux/x86") + ("x86_64-linux" "Linux/x86_64") + ("armhf-linux" "Linux/armv7") + ("aarch64-linux" "Linux/arm64") + ("mips64el-linux" "Linux/mips64") + (_ "unknown-kernel"))))) + (install-file "src/main/native/libjansi.so" dir)))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes"))) + (replace 'install + (install-from-pom "pom.xml"))))) + (home-page "https://fusesource.github.io/jansi/") + (synopsis "Portable ANSI escape sequences") + (description "Jansi is a Java library that allows you to use ANSI escape +sequences to format your console output which works on every platform.") + (license license:asl2.0))) + +(define-public java-jansi-1 + (package + (inherit java-jansi) + (version "1.16") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fusesource/jansi") + (commit (string-append "jansi-project-" version)))) + (file-name (git-file-name "jansi" version)) + (sha256 + (base32 + "0ikk0x352gh30b42qn1jd89xwsjj0mavrc5kms7fss15bd8vsayx")))) + (arguments + `(#:jar-name "jansi.jar" #:source-dir "jansi/src/main/java" #:test-dir "jansi/src/test" #:phases @@ -12201,15 +12247,9 @@ console output.") (replace 'install (install-from-pom "jansi/pom.xml"))))) (propagated-inputs - `(("java-jansi-native" ,java-jansi-native))) + (list java-jansi-native)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "https://fusesource.github.io/jansi/") - (synopsis "Portable ANSI escape sequences") - (description "Jansi is a Java library that allows you to use ANSI escape -sequences to format your console output which works on every platform.") - (license license:asl2.0))) + (list java-junit java-hamcrest-core)))) (define-public java-jboss-el-api-spec (package @@ -12237,7 +12277,7 @@ sequences to format your console output which works on every platform.") (replace 'install (install-from-pom "pom.xml"))))) (inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://github.com/jboss/jboss-el-api_spec") (synopsis "JSR-341 expression language 3.0 API") (description "This package contains an implementation of the JSR-341 @@ -12308,13 +12348,10 @@ specific events.") (replace 'install (install-from-pom "api/pom.xml"))))) (propagated-inputs - `(("java-javax-inject" ,java-javax-inject) - ("java-jboss-el-api-spec" ,java-jboss-el-api-spec) - ("java-jboss-interceptors-api-spec" ,java-jboss-interceptors-api-spec) - ("java-weld-parent-pom" ,java-weld-parent-pom))) + (list java-javax-inject java-jboss-el-api-spec + java-jboss-interceptors-api-spec java-weld-parent-pom)) (native-inputs - `(("java-testng" ,java-testng) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-testng java-hamcrest-core)) (home-page "http://cdi-spec.org/") (synopsis "Contexts and Dependency Injection APIs") (description "Java-cdi-api contains the required APIs for Contexts and @@ -12341,10 +12378,9 @@ Dependency Injection (CDI).") ;; Contains only interfaces and base classes (no test) #:test-exclude (list "**/test*/**.java"))) (inputs - `(("java-guava" ,java-guava))) + (list java-guava)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (home-page "https://www.joda.org/joda-convert/") (synopsis "Conversion between Objects and Strings") (description "Joda-Convert provides a small set of classes to aid @@ -12408,11 +12444,9 @@ wider problem of Object to Object transformation.") (copy-recursively "src/test/resources" "build/test-classes") #t))))) (inputs - `(("java-joda-convert" ,java-joda-convert))) + (list java-joda-convert)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core) - ("tzdata" ,tzdata))) + (list java-junit java-hamcrest-core tzdata)) (home-page "https://www.joda.org/joda-time/") (synopsis "Replacement for the Java date and time classes") (description "Joda-Time is a replacement for the Java date and time @@ -12461,8 +12495,7 @@ classes prior to Java SE 8.") #t)) (replace 'install (install-jars "build"))))) (inputs - `(("java-apache-xml-commons-resolver" ,java-apache-xml-commons-resolver) - ("java-jaxp" ,java-jaxp))) + (list java-apache-xml-commons-resolver java-jaxp)) (home-page "https://xerces.apache.org/xerces2-j/") (synopsis "Validating XML parser for Java with DOM level 3 support") (description "The Xerces2 Java parser is the reference implementation of @@ -12549,7 +12582,7 @@ generator for Java.") (copy-recursively "src/main/resources" "build/classes") #t))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://jline.github.io") (synopsis "Console input handling library") (description "JLine is a Java library for handling console input. It is @@ -12572,23 +12605,22 @@ features that bring it on par with the Z shell line editor.") `(#:jdk ,icedtea-8 ,@(package-arguments java-jline))) (inputs - `(("java-jansi" ,java-jansi) - ("java-jansi-native" ,java-jansi-native))) - (native-inputs - `(("java-powermock-modules-junit4" ,java-powermock-modules-junit4) - ("java-powermock-modules-junit4-common" ,java-powermock-modules-junit4-common) - ("java-powermock-api-easymock" ,java-powermock-api-easymock) - ("java-powermock-api-support" ,java-powermock-api-support) - ("java-powermock-core" ,java-powermock-core) - ("java-powermock-reflect" ,java-powermock-reflect) - ("java-easymock" ,java-easymock) - ("java-jboss-javassist" ,java-jboss-javassist) - ("java-objenesis" ,java-objenesis) - ("java-asm" ,java-asm) - ("java-hamcrest-core" ,java-hamcrest-core) - ("java-cglib" ,java-cglib) - ("java-junit" ,java-junit) - ("java-hawtjni" ,java-hawtjni))))) + (list java-jansi-1 java-jansi-native)) + (native-inputs + (list java-powermock-modules-junit4 + java-powermock-modules-junit4-common + java-powermock-api-easymock + java-powermock-api-support + java-powermock-core + java-powermock-reflect + java-easymock + java-jboss-javassist + java-objenesis + java-asm + java-hamcrest-core + java-cglib + java-junit + java-hawtjni)))) (define-public java-jline-terminal (package @@ -12635,7 +12667,7 @@ features that bring it on par with the Z shell line editor.") (string-append build "/jar/" jar-name) (find-files "."))))))))) (inputs - `(("ncurses" ,ncurses))); infocmp + (list ncurses)); infocmp (home-page "https://github.com/jline/jline3") (synopsis "Java JLine Terminal API and implementations") (description "JLine is a Java library for handling console input. It is @@ -12673,10 +12705,9 @@ This package includes the @var{Terminal} API and implementations.") ;; conflicts with build directory generated by ant-build-system (delete-file "build")))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-easymock" ,java-easymock))) + (list java-junit java-easymock)) (inputs - `(("java-jline-terminal" ,java-jline-terminal))) + (list java-jline-terminal)) (home-page "https://github.com/jline/jline3") (synopsis "Java JLine line reader") (description "JLine is a Java library for handling console input. It is @@ -12745,8 +12776,7 @@ against expected outcomes.") #:source-dir "xmlunit-legacy/src/main/java" #:test-dir "xmlunit-legacy/src/test")) (inputs - `(("java-xmlunit" ,java-xmlunit) - ("java-junit" ,java-junit))) + (list java-xmlunit java-junit)) (native-inputs `(("java-mockito-1" ,java-mockito-1))))) @@ -12778,8 +12808,7 @@ against expected outcomes.") (copy-recursively (assoc-ref inputs "resources") "test-resources") #t))))) (inputs - `(("java-xmlunit" ,java-xmlunit) - ("java-junit" ,java-junit))))) + (list java-xmlunit java-junit)))) (define-public java-openchart2 (package @@ -12811,9 +12840,7 @@ against expected outcomes.") #t)) (replace 'install (install-jars "."))))) (native-inputs - `(("unzip" ,unzip) - ("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list unzip java-junit java-hamcrest-core)) (home-page "https://approximatrix.com/products/openchart2/") (synopsis "Simple plotting for Java") (description "Openchart2 provides a simple, yet powerful, interface for @@ -12904,12 +12931,12 @@ authentication, HTTP state management, and HTTP connection management.") "commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs")) #t))))) (inputs - `(("java-commons-collections4" ,java-commons-collections4) - ("java-commons-compress" ,java-commons-compress) - ("java-commons-httpclient" ,java-commons-httpclient) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ("java-commons-net" ,java-commons-net) - ("java-jsch" ,java-jsch))) + (list java-commons-collections4 + java-commons-compress + java-commons-httpclient + java-commons-logging-minimal + java-commons-net + java-jsch)) (home-page "https://commons.apache.org/proper/commons-vfs/") (synopsis "Java file system library") (description "Commons VFS provides a single API for accessing various @@ -13002,12 +13029,9 @@ from ORO, Inc.") (replace 'install (install-jars "build"))))) (inputs - `(("libffi" ,libffi) - ("libx11" ,libx11) - ("libxt" ,libxt))) + (list libffi libx11 libxt)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list gcc-7 java-junit java-hamcrest-core)) (home-page "https://github.com/java-native-access/jna") (synopsis "Access to native shared libraries from Java") (description "JNA provides Java programs easy access to native shared @@ -13048,7 +13072,7 @@ Java method invocation.") (replace 'install (install-jars "dist"))))) (inputs - `(("java-native-access" ,java-native-access))) + (list java-native-access)) (synopsis "Cross-platform mappings for jna") (description "java-native-access-platform has cross-platform mappings and mappings for a number of commonly used platform functions, including a @@ -13088,7 +13112,7 @@ will be allowed to use these programs for authentication.") #:source-dir "jsch-agent-proxy-sshagent/src/main/java" #:tests? #f)); no tests (inputs - `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core))) + (list java-jsch-agentproxy-core)) (synopsis "Proxy to ssh-agent") (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant included in Putty. This component contains the code for a proxy to @@ -13103,8 +13127,7 @@ ssh-agent."))) #:source-dir "jsch-agent-proxy-usocket-jna/src/main/java" #:tests? #f)); no tests (inputs - `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core) - ("java-native-access" ,java-native-access))) + (list java-jsch-agentproxy-core java-native-access)) (synopsis "USocketFactory implementation using JNA") (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant included in Putty. This component contains an implementation of @@ -13119,9 +13142,8 @@ USocketFactory using @dfn{JNA} (Java Native Access)."))) #:source-dir "jsch-agent-proxy-pageant/src/main/java" #:tests? #f)); no tests (inputs - `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core) - ("java-native-access" ,java-native-access) - ("java-native-access-platform" ,java-native-access-platform))) + (list java-jsch-agentproxy-core java-native-access + java-native-access-platform)) (synopsis "Proxy to pageant") (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant included in Putty. This component contains the code for a proxy to @@ -13136,7 +13158,7 @@ pageant."))) #:source-dir "jsch-agent-proxy-usocket-nc/src/main/java" #:tests? #f)); no tests (inputs - `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core))) + (list java-jsch-agentproxy-core)) (synopsis "USocketFactory implementation using netcat") (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant included in Putty. This component contains an implementation of @@ -13151,11 +13173,9 @@ USocketFactory using netcat."))) #:source-dir "jsch-agent-proxy-connector-factory/src/main/java" #:tests? #f)); no tests (inputs - `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core) - ("java-jsch-agentproxy-sshagent" ,java-jsch-agentproxy-sshagent) - ("java-jsch-agentproxy-usocket-jna" ,java-jsch-agentproxy-usocket-jna) - ("java-jsch-agentproxy-pageant" ,java-jsch-agentproxy-pageant) - ("java-jsch-agentproxy-usocket-nc" ,java-jsch-agentproxy-usocket-nc))) + (list java-jsch-agentproxy-core java-jsch-agentproxy-sshagent + java-jsch-agentproxy-usocket-jna java-jsch-agentproxy-pageant + java-jsch-agentproxy-usocket-nc)) (synopsis "Connector factory for jsch agent proxy") (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant included in Putty. This component contains a connector factory."))) @@ -13169,8 +13189,7 @@ and Pageant included in Putty. This component contains a connector factory."))) #:source-dir "jsch-agent-proxy-jsch/src/main/java" #:tests? #f)); no tests (inputs - `(("java-jsch" ,java-jsch) - ("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core))) + (list java-jsch java-jsch-agentproxy-core)) (synopsis "JSch integration library for agentproxy") (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant included in Putty. This component contains a library to use @@ -13248,18 +13267,18 @@ jsch-agent-proxy with JSch."))) (chmod ivy #o755) #t)))))) (inputs - `(("java-bouncycastle" ,java-bouncycastle) - ("java-commons-cli" ,java-commons-cli) - ("java-commons-collections" ,java-commons-collections) - ("java-commons-httpclient" ,java-commons-httpclient) - ("java-commons-lang" ,java-commons-lang) - ("java-commons-vfs" ,java-commons-vfs) - ("java-jakarta-oro" ,java-jakarta-oro) - ("java-jsch" ,java-jsch) - ("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core) - ("java-jsch-agentproxy-connector-factory" ,java-jsch-agentproxy-connector-factory) - ("java-jsch-agentproxy-jsch" ,java-jsch-agentproxy-jsch) - ("java-junit" ,java-junit))) + (list java-bouncycastle + java-commons-cli + java-commons-collections + java-commons-httpclient + java-commons-lang + java-commons-vfs + java-jakarta-oro + java-jsch + java-jsch-agentproxy-core + java-jsch-agentproxy-connector-factory + java-jsch-agentproxy-jsch + java-junit)) (home-page "https://ant.apache.org/ivy") (synopsis "Dependency manager for the Java programming language") (description "Ivy is a tool for managing (recording, tracking, resolving @@ -13300,20 +13319,19 @@ and reporting) project dependencies. It is characterized by the following: (replace 'install (install-from-pom "org.eclipse.sisu.inject/pom.xml"))))) (propagated-inputs - `(("java-guice" ,java-guice) - ("java-sisu-inject-parent-pom" ,java-sisu-inject-parent-pom))) - (inputs - `(("java-guice-servlet" ,java-guice-servlet) - ("java-javax-inject" ,java-javax-inject) - ("java-javaee-servletapi" ,java-javaee-servletapi) - ("java-junit" ,java-junit) - ("java-slf4j-api" ,java-slf4j-api) - ("java-jsr305" ,java-jsr305) - ("java-jsr250" ,java-jsr250) - ("java-cdi-api" ,java-cdi-api) - ("java-osgi-framework" ,java-osgi-framework) - ("java-osgi-util-tracker" ,java-osgi-util-tracker) - ("java-testng" ,java-testng))) + (list java-guice java-sisu-inject-parent-pom)) + (inputs + (list java-guice-servlet + java-javax-inject + java-javaee-servletapi + java-junit + java-slf4j-api + java-jsr305 + java-jsr250 + java-cdi-api + java-osgi-framework + java-osgi-util-tracker + java-testng)) (home-page "https://www.eclipse.org/sisu/") (synopsis "Classpath scanning, auto-binding, and dynamic auto-wiring") (description "Sisu is a modular JSR330-based container that supports @@ -13403,23 +13421,23 @@ OSGi Service Registry is a goal of this project.") (replace 'install (install-from-pom "org.eclipse.sisu.plexus/pom.xml"))))) (propagated-inputs - `(("java-plexus-classworlds" ,java-plexus-classworlds) - ("java-plexus-utils" ,java-plexus-utils) - ("java-plexus-component-annotations" ,java-plexus-component-annotations) - ("java-cdi-api" ,java-cdi-api) - ("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject) - ("java-sisu-plexus-parent-pom" ,java-sisu-plexus-parent-pom))) - (inputs - `(("java-osgi-framework" ,java-osgi-framework) - ("java-slf4j-api" ,java-slf4j-api) - ("java-javax-inject" ,java-javax-inject) - ("java-guice" ,java-guice) - ("java-guava" ,java-guava) - ("java-aopalliance" ,java-aopalliance) - ("java-asm" ,java-asm) - ("java-cglib" ,java-cglib))) - (native-inputs - `(("java-junit" ,java-junit))) + (list java-plexus-classworlds + java-plexus-utils + java-plexus-component-annotations + java-cdi-api + java-eclipse-sisu-inject + java-sisu-plexus-parent-pom)) + (inputs + (list java-osgi-framework + java-slf4j-api + java-javax-inject + java-guice + java-guava + java-aopalliance + java-asm + java-cglib)) + (native-inputs + (list java-junit)) (home-page "https://www.eclipse.org/sisu/") (synopsis "Plexus support for the sisu container") (description "Sisu is a modular JSR330-based container that supports @@ -13487,10 +13505,9 @@ and @code{ISimpleCompiler} interfaces.") (chdir "janino") #t))))) (inputs - `(("java-commons-compiler" ,java-commons-compiler))) + (list java-commons-compiler)) (native-inputs - `(("java-junit" ,java-junit) - ("java-hamcrest-core" ,java-hamcrest-core))) + (list java-junit java-hamcrest-core)) (description "Janino is a Java compiler. Janino can compile a set of source files to a set of class files like @code{javac}, but also compile a Java expression, block, class body or source file in memory, load the bytecode @@ -13588,11 +13605,10 @@ This module lays the groundwork for the other two modules.") (invoke "ant" "jar") #t))))) (inputs - `(("java-logback-core" ,java-logback-core) - ("java-slf4j-api" ,java-slf4j-api) - ,@(package-inputs java-logback-core))) + (modify-inputs (package-inputs java-logback-core) + (prepend java-logback-core java-slf4j-api))) (native-inputs - `(("groovy" ,groovy))) + (list groovy)) (description "Logback is intended as a successor to the popular log4j project. This module can be assimilated to a significantly improved version of log4j. Moreover, @code{logback-classic} natively implements the slf4j API so that you @@ -13632,10 +13648,8 @@ such as log4j or @code{java.util.logging} (JUL)."))) (find-files "." "\\.properties$"))) #t))))) (inputs - `(("java-classpathx-servletapi" ,java-classpathx-servletapi) - ("java-javaewah" ,java-javaewah) - ("java-jsch" ,java-jsch) - ("java-slf4j-api" ,java-slf4j-api))) + (list java-classpathx-servletapi java-javaewah java-jsch + java-slf4j-api)) (home-page "https://eclipse.org/jgit/") (synopsis "Java library implementing the Git version control system") (description "JGit is a lightweight, pure Java library implementing the @@ -13670,9 +13684,7 @@ network protocols, and core version control algorithms.") (("wordinbits") "WORD_IN_BITS")) #t)))))) (inputs - `(("java-javaewah" ,java-javaewah) - ("java-jsch" ,java-jsch) - ("java-slf4j-api" ,java-slf4j-api))))) + (list java-javaewah java-jsch java-slf4j-api)))) (define-public abcl (package @@ -13691,7 +13703,7 @@ network protocols, and core version control algorithms.") "abcl-fix-build-xml.patch")))) (build-system ant-build-system) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (arguments `(#:build-target "abcl.jar" #:test-target "abcl.test" @@ -13786,7 +13798,7 @@ and allows building a Java object model for JSON text using API classes "build/classes") #t))))) (propagated-inputs - `(("java-jsonp-api" ,java-jsonp-api))) + (list java-jsonp-api)) (description "JSON Processing (JSON-P) is a Java API to process (e.g. parse, generate, transform and query) JSON messages. This package contains a reference implementation of that API."))) @@ -13826,7 +13838,7 @@ a reference implementation of that API."))) (string-append (assoc-ref outputs "out") "/share/doc/java-xmp")) #t))))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (home-page "https://www.adobe.com/devnet/xmp.html") (synopsis "Extensible Metadat Platform (XMP) support in Java") (description "Adobe's Extensible Metadata Platform (XMP) is a labeling @@ -13883,7 +13895,7 @@ library and the API is similar.") "spi/Messages_ru.properties"))) #t))))) (native-inputs - `(("java-junit" ,java-junit))) + (list java-junit)) (home-page "https://args4j.kohsuke.org/") (synopsis "Command line parser library") (description "Args4j is a small Java class library that makes it easy to @@ -13916,10 +13928,9 @@ parse command line options/arguments in your CUI application.") (("/java\">") "\">")) #t))))) (propagated-inputs - `(("java-xmp" ,java-xmp))) + (list java-xmp)) (native-inputs - `(("java-hamcrest-core" ,java-hamcrest-core) - ("java-junit" ,java-junit))) + (list java-hamcrest-core java-junit)) (home-page "https://github.com/drewnoakes/metadata-extractor") (synopsis "Extract metadata from image and video files") (description "Metadata-extractor is a straightforward Java library for @@ -13966,7 +13977,7 @@ IPTC, XMP, ICC and more formats.") (replace 'install (install-jars "dist"))))) (native-inputs - `(("javacc" ,javacc))) + (list javacc)) (home-page "https://github.com/blackears/svgSalamander") (synopsis "SVG engine for Java") (description "SVG Salamander is an SVG engine for Java that's designed @@ -13995,8 +14006,7 @@ rich interactive menus to charts and graphcs to complex animations.") #:source-dir "src/main/java" #:tests? #f)); no tests (inputs - `(("java-cdi-api" ,java-cdi-api) - ("java-jboss-interceptors-api-spec" ,java-jboss-interceptors-api-spec))) + (list java-cdi-api java-jboss-interceptors-api-spec)) (home-page "https://github.com/jboss/jboss-transaction-api_spec") (synopsis "Generic transaction management API in Java") (description "Java-jboss-transaction-api-spec implements the Transactions @@ -14137,11 +14147,9 @@ can be interpreted by IDEs and static analysis tools to improve code analysis.") (replace 'install (install-jars "build/jar"))))) (inputs - `(("java-guava" ,java-guava) - ("java-jboss-javassist" ,java-jboss-javassist) - ("java-jsonp-api" ,java-jsonp-api))) + (list java-guava java-jboss-javassist java-jsonp-api)) (native-inputs - `(("javacc" ,javacc))) + (list javacc)) (home-page "http://javaparser.org/") (synopsis "Parser for Java") (description @@ -14153,16 +14161,21 @@ can be interpreted by IDEs and static analysis tools to improve code analysis.") license:asl2.0)))) (define-public tla2tools - (let* ((version "1.8.0") - (tag (string-append "v" version))) + ;; This package was originally based on the "v1.8.0" tag, but that merely + ;; points to the moving master branch. That might be because the ‘latest + ;; release’ at GitHub is currently 1.7.1. We'll see! For now, rather than + ;; downgrade to 1.7.1 proper, use the commit that we originally dubbed 1.8.0. + (let* ((release "1.7.1") + (revision "0") + (commit "6932e19083fc6df42473464857fc1280cb5aaecc")) (package (name "tla2tools") - (version version) + (version (git-version release revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tlaplus/tlaplus") - (commit tag))) + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 @@ -14186,7 +14199,7 @@ can be interpreted by IDEs and static analysis tools to improve code analysis.") #:make-flags '("-f" ,build-xml) #:phases (modify-phases %standard-phases - ;; Replace packed libs with references to jars in store + ;; Replace packed libs with references to jars in store (add-after 'unpack 'replace-libs (lambda* (#:key inputs #:allow-other-keys) (define (input-jar input) @@ -14209,24 +14222,24 @@ can be interpreted by IDEs and static analysis tools to improve code analysis.") ("junit-4.12.jar" . "java-junit") ("easymock-3.3.1.jar" . "java-easymock"))) ;; Retain a tiny subset of the original X-Git-* - ;; manifest values just to aid in debugging + ;; manifest values just to aid in debugging. (substitute* ,build-xml - (("\\$\\{git.tag\\}") ,tag)))) + (("\\$\\{git.tag\\}") (string-append "v" ,release))))) (add-before 'check 'prepare-tests (lambda _ - ;; pcal tests write to cfg files + ;; The pcal tests write to .cfg files. (for-each (cut chmod <> #o644) (find-files (string-append ,tlatools "/test-model/pcal") "\\.cfg$")))) (replace 'install - (lambda* (#:key inputs #:allow-other-keys) - (let* ((share (string-append %output "/share/java")) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share/java")) (jar-name "tla2tools.jar"); set in project.properties (jar (string-append ,tlatools "/dist/" jar-name)) (java-cp (string-append share "/" jar-name)) - (bin (string-append %output "/bin")) + (bin (string-append (assoc-ref outputs "out") "/bin")) (java (search-input-file inputs "/bin/java"))) (install-file jar share) (mkdir-p bin) @@ -14252,16 +14265,15 @@ can be interpreted by IDEs and static analysis tools to improve code analysis.") ("tlc2" . "tlc2.TLC") ("tlc2-repl" . "tlc2.REPL")))))))))) (native-inputs - `(("java-junit" ,java-junit) - ("java-easymock" ,java-easymock))) + (list java-junit java-easymock)) (inputs - `(("java-javax-mail" ,java-javax-mail) - ("java-gson" ,java-gson-2.8.6) - ("java-jline-terminal" ,java-jline-terminal) - ("java-jline-reader" ,java-jline-reader) - ("java-eclipse-lsp4j-jsonrpc" ,java-eclipse-lsp4j-jsonrpc) - ("java-eclipse-lsp4j-jsonrpc-debug" ,java-eclipse-lsp4j-jsonrpc-debug) - ("java-eclipse-lsp4j-debug" ,java-eclipse-lsp4j-debug))) + (list java-javax-mail + java-gson-2.8.6 + java-jline-terminal + java-jline-reader + java-eclipse-lsp4j-jsonrpc + java-eclipse-lsp4j-jsonrpc-debug + java-eclipse-lsp4j-debug)) (home-page "https://lamport.azurewebsites.net/tla/tools.html") (synopsis "TLA+ tools (analyzer, TLC, TLATeX, PlusCal translator)") (description "TLA+ is a high-level language for modeling programs and |