summary refs log tree commit diff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm970
1 files changed, 410 insertions, 560 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index c5f78750e3..cb1f524d5c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2766,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
@@ -2798,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
@@ -2837,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,
@@ -2877,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
@@ -2972,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.
@@ -3159,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
@@ -3227,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)
@@ -3508,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"
@@ -3680,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)
@@ -3782,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
@@ -3862,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
@@ -4044,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
@@ -4143,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
@@ -4196,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
@@ -4234,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
@@ -4265,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
@@ -4330,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
@@ -4378,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
@@ -4415,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}
@@ -4517,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)
@@ -4575,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"
@@ -4661,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")
@@ -4703,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
@@ -4749,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
@@ -4802,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
@@ -4844,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
@@ -4926,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
@@ -4975,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.")))
@@ -5035,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
@@ -5113,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:
@@ -5158,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
@@ -5221,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
@@ -5266,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.
@@ -5314,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.")))
 
@@ -5344,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.")))
@@ -5360,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
@@ -5389,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).")))
@@ -5452,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
@@ -5534,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
@@ -5547,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
@@ -5561,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
@@ -5593,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
@@ -5620,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:
@@ -5682,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
@@ -5746,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
@@ -5790,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)
@@ -5849,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
@@ -5951,8 +5903,7 @@ overly clever.")
          (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
@@ -5993,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
@@ -6035,9 +5984,7 @@ targeting the JVM.")
          (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
@@ -6170,10 +6117,9 @@ setter and getter method.")
          (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,
@@ -6211,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.")
@@ -6256,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
@@ -6289,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
@@ -6335,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
@@ -6405,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
@@ -6443,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
@@ -6470,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
@@ -6504,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")
@@ -6546,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
@@ -6669,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
@@ -6794,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
@@ -6825,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
@@ -6851,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
@@ -6873,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.")))
@@ -6901,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
@@ -6927,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
@@ -6951,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
@@ -6979,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
@@ -7022,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
@@ -7115,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
@@ -7142,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
@@ -7170,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
@@ -7195,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.")
@@ -7219,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.")
@@ -7244,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
@@ -7271,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
@@ -7299,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
@@ -7326,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
@@ -7354,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
@@ -7385,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
@@ -7412,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
@@ -7441,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
@@ -7470,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
@@ -7502,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
@@ -7536,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
@@ -7564,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
@@ -7598,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
@@ -7650,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
@@ -7695,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
@@ -7731,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
@@ -7777,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)
@@ -7799,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
@@ -7815,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
@@ -7833,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
@@ -7863,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
@@ -7926,9 +7837,7 @@ 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")
@@ -8023,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
@@ -8081,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
@@ -8115,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
@@ -8145,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
@@ -8204,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
@@ -8257,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
@@ -8754,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
@@ -8946,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
@@ -8983,7 +8887,7 @@ parse trees.")))
                (chmod "build.xml" #o644)
                #t))))))
     (inputs
-     `(("java-treelayout" ,java-treelayout)))))
+     (list java-treelayout))))
 
 (define-public antlr4-4.1
   (package
@@ -9162,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
@@ -9575,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
@@ -10226,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
@@ -10275,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.")
@@ -10320,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.
@@ -10390,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)
@@ -10622,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
@@ -10737,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
@@ -10951,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
@@ -11040,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.")
@@ -11172,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
@@ -11278,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
@@ -11368,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)
@@ -11442,7 +11333,7 @@ message queues or resource locking.")
            (lambda _
              (delete-file "src/main/java/module-info.java"))))))
     (native-inputs
-     `(("java-junit" ,java-junit)))
+     (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
@@ -11470,8 +11361,7 @@ particularly simple design.")
        #:source-dir "jctools-core/src/main/java"
        #:test-dir "jctools-core/src/test"))
     (native-inputs
-     `(("java-junit" ,java-junit)
-       ("java-hamcrest-all" ,java-hamcrest-all)))
+     (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
@@ -11569,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)
@@ -11813,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)))
@@ -11851,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)
@@ -11945,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/")
@@ -12061,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
@@ -12073,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
@@ -12100,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
@@ -12184,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
@@ -12251,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
@@ -12362,10 +12247,9 @@ sequences to format your console output which works on every platform.")
          (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)))))
+     (list java-junit java-hamcrest-core))))
 
 (define-public java-jboss-el-api-spec
   (package
@@ -12393,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
@@ -12464,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
@@ -12497,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
@@ -12564,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
@@ -12617,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
@@ -12705,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
@@ -12728,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-1)
-       ("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
@@ -12791,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
@@ -12829,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
@@ -12901,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)))))
 
@@ -12934,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
@@ -12967,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
@@ -13060,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
@@ -13158,13 +13029,9 @@ from ORO, Inc.")
          (replace 'install
            (install-jars "build")))))
     (inputs
-     `(("libffi" ,libffi)
-       ("libx11" ,libx11)
-       ("libxt" ,libxt)))
+     (list libffi libx11 libxt))
     (native-inputs
-     `(("gcc" ,gcc-7)
-       ("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
@@ -13205,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
@@ -13245,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
@@ -13260,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
@@ -13276,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
@@ -13293,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
@@ -13308,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.")))
@@ -13326,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
@@ -13405,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
@@ -13457,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
@@ -13560,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
@@ -13644,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
@@ -13745,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
@@ -13789,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
@@ -13827,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
@@ -13848,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"
@@ -13943,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.")))
@@ -13983,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
@@ -14040,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
@@ -14073,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
@@ -14123,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
@@ -14152,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
@@ -14294,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
@@ -14414,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