guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/87: gnu: Move Java XML packages to new module.


From: guix-commits
Subject: 01/87: gnu: Move Java XML packages to new module.
Date: Mon, 9 Jan 2023 18:27:26 -0500 (EST)

mbakke pushed a commit to branch staging
in repository guix.

commit a4d9ce54880dc0d299e4489a168398440c9e7c33
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Sun Jan 8 22:57:35 2023 +0100

    gnu: Move Java XML packages to new module.
    
    * gnu/packages/xml.scm (java-simple-xml, java-jaxp,
    java-apache-xml-commons-resolver, java-jaxen, java-xom, java-xsdlib,
    java-xpp3, java-xmlpull2, java-xmlpull-api-v1, java-dom4j, java-kxml2,
    java-stax, java-jettison, java-jdom2, java-xstream, java-mxparser): Move 
these
    variables from here...
    * gnu/packages/java-xml.scm: ...to this new file.
    * gnu/local.mk (GNU_SYSTEM_MODULES): Register new file.
    * gnu/packages/axoloti.scm,
    gnu/packages/batik.scm,
    gnu/packages/bioinformatics.scm,
    gnu/packages/groovy.scm,
    gnu/packages/java.scm,
    gnu/packages/maven.scm: Adjust module imports.
---
 gnu/local.mk                    |   1 +
 gnu/packages/axoloti.scm        |   4 +-
 gnu/packages/batik.scm          |   4 +-
 gnu/packages/bioinformatics.scm |   1 +
 gnu/packages/groovy.scm         |   1 +
 gnu/packages/java-xml.scm       | 688 ++++++++++++++++++++++++++++++++++++++++
 gnu/packages/java.scm           |   1 +
 gnu/packages/maven.scm          |   2 +-
 gnu/packages/xml.scm            | 642 -------------------------------------
 9 files changed, 697 insertions(+), 647 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index eba4fc2d01..3ed5fa2f22 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -341,6 +341,7 @@ GNU_SYSTEM_MODULES =                                \
   %D%/packages/java-compression.scm            \
   %D%/packages/java-graphics.scm               \
   %D%/packages/java-maths.scm                  \
+  %D%/packages/java-xml.scm                    \
   %D%/packages/javascript.scm                  \
   %D%/packages/jemalloc.scm                    \
   %D%/packages/jrnl.scm                                \
diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm
index 63bfa8db8c..e0dd22c627 100644
--- a/gnu/packages/axoloti.scm
+++ b/gnu/packages/axoloti.scm
@@ -33,11 +33,11 @@
   #:use-module (gnu packages flashing-tools)
   #:use-module (gnu packages java)
   #:use-module (gnu packages java-graphics)
+  #:use-module (gnu packages java-xml)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages textutils)
-  #:use-module (gnu packages version-control)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages version-control))
 
 ;; XXX The patch does not apply to libusb 1.0.24.
 ;; See https://github.com/axoloti/axoloti/issues/464
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 2072dd467c..7f159010a5 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -27,8 +27,8 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages java)
-  #:use-module (gnu packages textutils)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages java-xml)
+  #:use-module (gnu packages textutils))
 
 (define-public java-w3c-smil-3.0
   (package
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c3ede81a59..08d9d83471 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -110,6 +110,7 @@
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages java)
   #:use-module (gnu packages java-compression)
+  #:use-module (gnu packages java-xml)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages jupyter)
   #:use-module (gnu packages libffi)
diff --git a/gnu/packages/groovy.scm b/gnu/packages/groovy.scm
index ecbd0cb0bd..b4f7438929 100644
--- a/gnu/packages/groovy.scm
+++ b/gnu/packages/groovy.scm
@@ -26,6 +26,7 @@
   #:use-module (guix build-system ant)
   #:use-module (gnu packages)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages java-xml)
   #:use-module (gnu packages xml))
 
 (define java-groovy-bootstrap
diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm
new file mode 100644
index 0000000000..5b16806e27
--- /dev/null
+++ b/gnu/packages/java-xml.scm
@@ -0,0 +1,688 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2022 Christopher Baines <mail@cbaines.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages java-xml)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages java)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system ant)
+  #:use-module (guix utils))
+
+(define-public java-simple-xml
+  (package
+    (name "java-simple-xml")
+    (version "2.7.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/simple/simple-xml-"
+                                  version ".zip"))
+              (sha256
+               (base32
+                "0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))
+              (patches (search-patches "java-simple-xml-fix-tests.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:build-target "build"
+       #:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install (install-jars "jar"))
+         (add-before 'check 'disable-failing-test
+           (lambda _
+             ;; This test sometimes fails with an out of memory exception
+             (delete-file
+              
"test/src/org/simpleframework/xml/core/NoAnnotationsRequiredTest.java"))))))
+    (native-inputs
+     (list unzip))
+    (home-page "http://simple.sourceforge.net/";)
+    (synopsis "XML serialization framework for Java")
+    (description "Simple is a high performance XML serialization and
+configuration framework for Java.  Its goal is to provide an XML framework
+that enables rapid development of XML configuration and communication systems.
+This framework aids the development of XML systems with minimal effort and
+reduced errors.  It offers full object serialization and deserialization,
+maintaining each reference encountered.")
+    (license license:asl2.0)))
+
+;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
+;; xml-apis.jar and xml-apis-1.4.01.jar.
+(define-public java-jaxp
+  (package
+    (name "java-jaxp")
+    (version "1.4.01")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://apache/xerces/xml-commons/source/"
+                           "xml-commons-external-" version "-src.tar.gz"))
+       (sha256
+        (base32 "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jaxp.jar"
+       #:jdk ,icedtea-8
+       #:source-dir ".."
+       #:tests? #f)); no tests
+    (home-page "http://xerces.apache.org/xml-commons/";)
+    (synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)")
+    (description "Jaxp from the Apache XML Commons project is used by
+the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
+
+@itemize
+@item Document Object Model (DOM)
+@item Simple API for XML (SAX)
+@item Java APIs for XML Processing (JAXP)
+@item Transformation API for XML (TrAX)
+@item Document Object Model (DOM) Load and Save
+@item JSR 206 Java API for XML Processing
+@end itemize")
+    (license (list license:asl2.0
+                   license:w3c ;; Files under org.w3c
+                   license:public-domain)))) ;; org.xml.sax
+
+(define-public java-apache-xml-commons-resolver
+  (package
+    (name "java-apache-xml-commons-resolver")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://apache/xerces/xml-commons/"
+                           "xml-commons-resolver-" version ".tar.gz"))
+       (sha256
+        (base32 "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (for-each delete-file (find-files "." ".*\\.(jar|zip)"))
+           #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name (string-append "xml-resolver.jar")
+       #:tests? #f)); no tests
+    (inputs
+     (list java-junit))
+    (home-page "http://xerces.apache.org/xml-commons/";)
+    (synopsis "Catalog-based entity and URI resolution")
+    (description "The resolver class implements the full semantics of OASIS 
Technical
+Resolution 9401:1997 (Amendment 2 to TR 9401) catalogs and the 06 Aug
+2001 Committee Specification of OASIS XML Catalogs.
+
+It also includes a framework of classes designed to read catalog files
+in a number of formats:
+
+@itemize
+@item The plain-text flavor described by TR9401.
+@item The XCatalog XML format defined by John Cowan
+@item The XML Catalog format defined by the OASIS Entity Resolution
+      Technical Committee.
+@end itemize")
+    (license license:asl2.0)))
+
+;; Jaxen requires java-dom4j and java-xom that in turn require jaxen.
+;; This package is a bootstrap version without dependencies on dom4j and xom.
+(define java-jaxen-bootstrap
+  (package
+    (name "java-jaxen-bootstrap")
+    (version "1.1.6")
+    (source (origin
+              (method url-fetch)
+              ;; No release on github
+              (uri (string-append "https://repo1.maven.org/maven2/jaxen/jaxen/";
+                                  version "/jaxen-" version "-sources.jar"))
+              (sha256
+               (base32
+                "18pa8mks3gfhazmkyil8wsp6j1g1x7rggqxfv4k2mnixkrj5x1kx"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jaxen.jar"
+       #:source-dir "src"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'remove-dom4j
+           (lambda _
+             (delete-file-recursively "src/org/jaxen/dom4j")
+             (delete-file-recursively "src/org/jaxen/xom")
+             #t)))))
+    (inputs
+     `(("java-jdom" ,java-jdom)))
+    (home-page "https://github.com/jaxen-xpath/jaxen";)
+    (synopsis "XPath library")
+    (description "Jaxen is an XPath library written in Java.  It is adaptable
+to many different object models, including DOM, XOM, dom4j, and JDOM.  It is
+also possible to write adapters that treat non-XML trees such as compiled
+Java byte code or Java beans as XML, thus enabling you to query these trees
+with XPath too.")
+    (license license:bsd-3)))
+
+(define-public java-jaxen
+  (package
+    (inherit java-jaxen-bootstrap)
+    (name "java-jaxen")
+    (inputs
+     (list java-jdom java-xom java-dom4j))))
+
+(define-public java-xom
+  (package
+    (name "java-xom")
+    (version "127")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/elharo/xom";)
+                    (commit (string-append "XOM_" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jh6y03g5zzdhsb5jm6ms1xnamr460qmn96y3w6aw0ikfwqlg0bq"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (for-each delete-file
+                            (find-files "." "\\.jar$"))
+                  #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "xom.jar"
+       #:jdk ,icedtea-8
+       #:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-git-checkout-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-before 'configure 'fix-tagsoup-dep
+           (lambda _
+             ;; FIXME: Where is tagsoup source?
+             (delete-file "src/nu/xom/tools/XHTMLJavaDoc.java")
+             #t)))))
+    (inputs
+     (list java-jdom java-junit java-classpathx-servletapi
+           java-jaxen-bootstrap java-xerces))
+    (home-page "https://xom.nu/";)
+    (synopsis "XML Object Model")
+    (description "XOM is a new XML Object Model for processing XML with Java 
+that strives for correctness and simplicity.")
+    ;; 2.1 only
+    (license license:lgpl2.1)))
+
+(define-public java-xsdlib
+  (package
+    (name "java-xsdlib")
+    (version "2013.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/com/sun/msv/";
+                                  "datatype/xsd/xsdlib/" version "/xsdlib-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "185i48p1xp09wbq03i9zgfl701qa262rq46yf4cajzmk3336kqim"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:jar-name "xsdlib.jar"
+       #:jdk ,icedtea-8))
+    (inputs
+     (list java-xerces))
+    (home-page (string-append "https://web.archive.org/web/20161127144537/";
+                              "https://msv.java.net//";))
+    (synopsis "Sun Multi-Schema Validator")
+    (description "Xsdlib contains an implementation of sun.com.msv, an XML
+validator.")
+    (license license:bsd-2)))
+
+(define-public java-xpp3
+  (package
+    (name "java-xpp3")
+    (version "1.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://ci.guix.gnu.org/file/";
+                    "xpp3-1.1.4_src.tgz"
+                    "/sha256/"
+                    "1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
+              (file-name (string-append name "-" version "_src.tgz"))
+              (sha256
+               (base32
+                "1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin ;; Delete bundled jar archives.
+                   (for-each delete-file (find-files "." ".*\\.jar"))
+                   #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:build-target "jar"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install (install-jars "build")))))
+    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/";)
+    (synopsis "Streaming pull XML parser")
+    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
+parser and should be used when there is a need to process quickly and
+efficiently all input elements (for example in SOAP processors). This
+package is a stable XmlPull parsing engine that is based on ideas from XPP
+and in particular XPP2 but completely revised and rewritten to take the best
+advantage of JIT JVMs.")
+    (license (license:non-copyleft "file://LICENSE.txt"))))
+
+(define-public java-xmlpull2
+  (package
+    (name "java-xmlpull2")
+    (version "2.1.10")
+    (source (origin
+              (method url-fetch)
+              ;; Unfortunately, archive.org does not have a copy of this file.
+              (uri (string-append "https://ftp.fau.de/gentoo/distfiles/";
+                                  "PullParser" version ".tgz"))
+              (sha256
+               (base32
+                "1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin ;; Delete bundled jar archives.
+                   (for-each delete-file (find-files "." ".*\\.jar"))
+                   #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:build-target "impl"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install (install-jars "build/lib")))))
+    (home-page (string-append "https://web.archive.org/web/20210225153105/";
+                              "https://www.extreme.indiana.edu/";))
+    (synopsis "Streaming pull XML parser")
+    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
+parser and should be used when there is a need to process quickly and
+efficiently all input elements (for example in SOAP processors).  This
+package is in maintenance mode.")
+    (license (license:non-copyleft "file:///LICENSE.txt"))))
+
+(define-public java-xmlpull-api-v1
+  (package
+    (name "java-xmlpull-api-v1")
+    (version "1.1.3.4b")
+    (source (origin
+              ;; The package is originally from Extreme! Lab, but the website
+              ;; is now gone.  This repositories contains the sources of the
+              ;; latest version.
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/aslom/xmlpull-api-v1";)
+                     ;; No releases, this is the latest commit
+                     (commit "abeaa4aa87b2625af70c32f658f44e11355fe568")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "15bdqxfncnakskna4m9gsh4f9iczxy83qxn2anqiqd15z406a5ih"))
+              (modules '((guix build utils)))
+              (snippet
+               `(begin
+                  (delete-file-recursively "lib")
+                  (mkdir-p "lib")
+                  ;; prevents a failure in "dist_lite"
+                  (substitute* "build.xml"
+                    (("README.html") "README.md"))))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:test-target "junit"
+       #:build-target "dist"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/" ,name "-" ,version))
+                    (java (string-append out "/share/java"))
+                    (project (string-append
+                               "xmlpull_"
+                               ,(string-join (string-split version #\.) "_"))))
+               (mkdir-p doc)
+               (copy-recursively (string-append "build/dist/" project "/doc/")
+                                 doc)
+               (mkdir-p java)
+               (copy-file (string-append "build/dist/" project "/" project 
".jar")
+                          (string-append java "/" project ".jar")))
+             )))))
+    (home-page "https://github.com/aslom/xmlpull-api-v1";)
+    (synopsis "XML pull parsing API")
+    (description "XmlPull v1 API is a simple to use XML pull parsing API.  XML
+pull parsing allows incremental (sometimes called streaming) parsing of XML
+where application is in control - the parsing can be interrupted at any given
+moment and resumed when application is ready to consume more input.")
+    (license license:public-domain)))
+
+(define-public java-dom4j
+  (package
+    (name "java-dom4j")
+    (version "2.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dom4j/dom4j";)
+                    (commit (string-append "version-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0q907srj9v4hwicpcrn4slyld5npf2jv7hzchsgrg29q2xmbwkdl"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin ;; Delete bundled jar archives.
+                   (for-each delete-file (find-files "." ".*\\.jar"))
+                   #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "dom4j.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "src/main/java"
+       ;; FIXME: Requires xalan, but xalan depends on java-cup which has a
+       ;; dependency on itself through jflex.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-jaxen-sources
+           ;; java-jaxen-bootstrap is not enough. These files have a circular
+           ;; dependency and there is no subset of dom4j that would allow
+           ;; breaking the circle.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (mkdir-p "jaxen-sources")
+             (with-directory-excursion "jaxen-sources"
+               (system* "jar" "xf" (assoc-ref inputs "java-jaxen-sources")))
+             (mkdir-p "src/main/java/org/jaxen/dom4j")
+             (copy-file "jaxen-sources/org/jaxen/dom4j/DocumentNavigator.java"
+                        "src/main/java/org/jaxen/dom4j/DocumentNavigator.java")
+             (copy-file "jaxen-sources/org/jaxen/dom4j/Dom4jXPath.java"
+                        "src/main/java/org/jaxen/dom4j/Dom4jXPath.java")
+             #t))
+         (add-before 'build 'fix-old-xpp2
+           (lambda _
+             ;; This package normally depends on xpp2 2.0, but version 2.1.10
+             ;; is the only version whose source code is published.
+             (substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
+               (("public void resetStartTag")
+                "public boolean removeAttributeByRawName(String name) {\n
+  return false;\n
+}\n
+public boolean removeAttributeByName(String name, String name2) {\n
+  return false;\n
+}\n\npublic void resetStartTag")
+               (("Atttribute") "Attribute"))
+             #t)))))
+    (inputs
+     `(("java-jaxen-bootstrap" ,java-jaxen-bootstrap)
+       ("java-jaxen-sources" ,(package-source java-jaxen-bootstrap))
+       ("java-xmlpull2" ,java-xmlpull2)
+       ("java-xpp3" ,java-xpp3)
+       ("java-xsdlib" ,java-xsdlib)))
+    (native-inputs
+     (list java-testng java-xerces))
+    (home-page "https://dom4j.github.io/";)
+    (synopsis "Flexible XML framework for Java")
+    (description "Dom4j is a flexible XML framework for Java.  DOM4J works
+with DOM, SAX, XPath, and XSLT.  It can parse large XML documents with very
+low memory footprint.")
+    ;; some BSD-like 5-clause license
+    (license (license:non-copyleft "file://LICENSE"))))
+
+(define-public java-kxml2
+  (package
+    (name "java-kxml2")
+    (version "2.4.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/stefanhaustein/kxml2";)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0g6d8c9r9sh3x04sf4wdpgwvhkqvk11k3kq9skx91i60h4vn01hg"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "kxml2.jar"
+       #:source-dir "src/main/java"
+       #:test-include (list "TestWb.java")
+       ;; Test failure: it was expected to get an XML entity but got the
+       ;; equivalent Unicode character instead.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-git-checkout-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-before 'build 'copy-resources
+           (lambda _
+             (copy-recursively "src/main/resources" "build/classes")
+             #t)))))
+    (inputs
+     (list java-xpp3))
+    (native-inputs
+     (list java-junit))
+    (home-page "http://kxml.org";)
+    (synopsis "XML pull parser")
+    (description "kXML is a small XML pull parser, specially designed for
+constrained environments such as Applets, Personal Java or devices compliant
+with the Mobile Information Device Profile (MIDP).")
+    (license license:expat)))
+
+(define-public java-stax
+  (package
+    (name "java-stax")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/stax/stax/";
+                                  version "/stax-" version "-sources.jar"))
+              (sha256
+               (base32
+                "04ba4qvbrps45j8bldbakxq31k7gjlsay9pppa9yn13fr00q586z"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "stax.jar"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-utf8
+           (lambda _
+             ;; This file is ISO-8859-1 but java expects UTF-8.
+             ;; Remove special characters in comments.
+             (with-fluids ((%default-port-encoding "ISO-8859-1"))
+               (substitute* "src/com/wutka/dtd/Scanner.java"
+                 (("//.*") "\n")))
+             #t)))))
+    (home-page "https://repo1.maven.org/maven2/stax/stax/";)
+    (synopsis "Streaming API for XML")
+    (description "This package provides the reference implementation of the
+@dfn{Streaming API for XML} (StAX).  It is used for streaming XML data to
+and from a Java application.  It provides a standard pull parser interface.")
+    (license license:asl2.0)))
+
+(define-public java-jettison
+  (package
+    (name "java-jettison")
+    (version "1.3.7")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/codehaus/jettison";)
+                    (commit (string-append "jettison-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "15sydmi5chdh4126qc7v8bsrp7fp4ldaya8a05iby4pq2324q0qw"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jettison.jar"
+       #:source-dir "src/main/java"
+       #:test-exclude (list "**/Abstract*.java"
+                            ;; Abstract classes
+                            "**/DOMTest.java"
+                            "**/BadgerFishDOMTest.java"
+                            "**/MappedDOMTest.java")))
+    (native-inputs
+     (list java-junit))
+    (home-page "https://github.com/codehaus/jettison";)
+    (synopsis "StAX implementation for JSON")
+    (description "Jettison is a Java library for converting XML to JSON and
+vice-versa with the help of the @dfn{Streaming API for XML} (StAX).  It
+implements @code{XMLStreamWriter} and @code{XMLStreamReader} and supports
+@code{Mapped} and @code{BadgerFish} conventions.")
+    (license license:asl2.0)))
+
+(define-public java-jdom2
+  (package
+    (name "java-jdom")
+    (version "2.0.6.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/hunterhacker/jdom";)
+                    (commit (string-append "JDOM-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1r4pwl0z7hm45v9l2wbq3fjmqi13zmwzbrggyqizrwv31kghhx56"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:build-target "package"
+       #:tests? #f                ; tests are run as part of the build process
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (install-jars "build")))))
+    (home-page "http://jdom.org/";)
+    (synopsis "Access, manipulate, and output XML data")
+    (description "Jdom is a Java-based solution for accessing, manipulating, 
and
+outputting XML data from Java code.")
+    (license license:bsd-4)))
+
+(define-public java-xstream
+  (package
+    (name "java-xstream")
+    (version "1.4.16")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/x-stream/xstream";)
+             (commit (string-append
+                      "XSTREAM_"
+                      (string-map (lambda (x) (if (eq? x #\.) #\_ x))
+                                  version)))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "16k2mc63h2fw7lxv74qmhg4p8q9hfrw114daa6nxwnpv08cnq755"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "xstream.jar"
+       ;; FIXME: Tests are not in a java subdirectory as assumed by 
ant-build-system.
+       #:tests? #f
+       #:jdk ,icedtea-8
+       #:source-dir "xstream/src/java"))
+    (inputs
+     `(("java-jdom" ,java-jdom)
+       ("java-jdom2" ,java-jdom2)
+       ("java-cglib" ,java-cglib)
+       ("java-joda-time" ,java-joda-time)
+       ("java-jettison" ,java-jettison)
+       ("java-xom" ,java-xom)
+       ("java-mxparser" ,java-mxparser)
+       ("java-xpp3" ,java-xpp3)
+       ("java-dom4j" ,java-dom4j)
+       ("java-stax2-api" ,java-stax2-api)
+       ("java-woodstox-core" ,java-woodstox-core)
+       ("java-kxml2" ,java-kxml2)
+       ("java-stax" ,java-stax)))
+    (home-page "https://x-stream.github.io";)
+    (synopsis "XML serialization library")
+    (description "XStream is a simple library to serialize Java objects to XML
+and back again.")
+    (license license:bsd-3)))
+
+(define-public java-mxparser
+  (package
+    (name "java-mxparser")
+    (version "1.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/x-stream/mxparser";)
+              (commit (string-append "v-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0i3jrjbz4hgf62fm1ix7nlcmhi4kcv4flqsfvh7a3l2v7nsp5ryb"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "mxparser.jar"
+       #:source-dir "src/main/java"
+       #:test-dir "src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-resources
+           (lambda _
+             (copy-recursively "src/main/resources" "build/classes")
+             #t)))))
+    (propagated-inputs
+     (list java-xmlpull-api-v1))
+    (native-inputs
+     (list java-junit))
+    (home-page "https://github.com/x-stream/mxparser";)
+    (synopsis "Streaming pull XML parser forked from @code{java-xpp3}")
+    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
+parser and should be used when there is a need to process quickly and
+efficiently all input elements (for example in SOAP processors). This
+package is a stable XmlPull parsing engine that is based on ideas from XPP
+and in particular XPP2 but completely revised and rewritten to take the best
+advantage of JIT JVMs.
+
+MXParser is a fork of xpp3_min 1.1.7 containing only the parser with merged
+changes of the Plexus fork. It is an implementation of the XMLPULL V1 API
+(parser only).")
+    (license (license:non-copyleft "file://LICENSE.txt"))))
+
+
+
+
+
+
+
+
+
+
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index eb550c9234..84f654fe99 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java-compression)
+  #:use-module (gnu packages java-xml)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux) ;alsa
   #:use-module (gnu packages maths)
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index b73fef79ba..fc3a63c263 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -32,9 +32,9 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages java-xml)
   #:use-module (gnu packages maven-parent-pom)
   #:use-module (gnu packages web)
-  #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
 (define-public maven-resolver-api
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 770bac3670..b5065f9f30 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -64,7 +64,6 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
-  #:use-module (gnu packages java)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
@@ -76,7 +75,6 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
-  #:use-module (guix build-system ant)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
@@ -1544,42 +1542,6 @@ Excel(TM) since version 2007.")
     (home-page "https://github.com/brechtsanders/xlsxio";)
     (license license:expat)))
 
-(define-public java-simple-xml
-  (package
-    (name "java-simple-xml")
-    (version "2.7.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/simple/simple-xml-"
-                                  version ".zip"))
-              (sha256
-               (base32
-                "0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))
-              (patches (search-patches "java-simple-xml-fix-tests.patch"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:build-target "build"
-       #:test-target "test"
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install (install-jars "jar"))
-         (add-before 'check 'disable-failing-test
-           (lambda _
-             ;; This test sometimes fails with an out of memory exception
-             (delete-file
-              
"test/src/org/simpleframework/xml/core/NoAnnotationsRequiredTest.java"))))))
-    (native-inputs
-     (list unzip))
-    (home-page "http://simple.sourceforge.net/";)
-    (synopsis "XML serialization framework for Java")
-    (description "Simple is a high performance XML serialization and
-configuration framework for Java.  Its goal is to provide an XML framework
-that enables rapid development of XML configuration and communication systems.
-This framework aids the development of XML systems with minimal effort and
-reduced errors.  It offers full object serialization and deserialization,
-maintaining each reference encountered.")
-    (license license:asl2.0)))
-
 (define-public perl-xml-xpathengine
   (package
     (name "perl-xml-xpathengine")
@@ -1735,610 +1697,6 @@ XML), full XPath support (unless you use 
@code{XML::Twig::XPath}), nor DOM
 support.")
     (license license:perl-license)))
 
-;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
-;; xml-apis.jar and xml-apis-1.4.01.jar.
-(define-public java-jaxp
-  (package
-    (name "java-jaxp")
-    (version "1.4.01")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://apache/xerces/xml-commons/source/"
-                           "xml-commons-external-" version "-src.tar.gz"))
-       (sha256
-        (base32 "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "jaxp.jar"
-       #:jdk ,icedtea-8
-       #:source-dir ".."
-       #:tests? #f)); no tests
-    (home-page "http://xerces.apache.org/xml-commons/";)
-    (synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)")
-    (description "Jaxp from the Apache XML Commons project is used by
-the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
-
-@itemize
-@item Document Object Model (DOM)
-@item Simple API for XML (SAX)
-@item Java APIs for XML Processing (JAXP)
-@item Transformation API for XML (TrAX)
-@item Document Object Model (DOM) Load and Save
-@item JSR 206 Java API for XML Processing
-@end itemize")
-    (license (list license:asl2.0
-                   license:w3c ;; Files under org.w3c
-                   license:public-domain)))) ;; org.xml.sax
-
-(define-public java-apache-xml-commons-resolver
-  (package
-    (name "java-apache-xml-commons-resolver")
-    (version "1.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://apache/xerces/xml-commons/"
-                           "xml-commons-resolver-" version ".tar.gz"))
-       (sha256
-        (base32 "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           (for-each delete-file (find-files "." ".*\\.(jar|zip)"))
-           #t))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name (string-append "xml-resolver.jar")
-       #:tests? #f)); no tests
-    (inputs
-     (list java-junit))
-    (home-page "http://xerces.apache.org/xml-commons/";)
-    (synopsis "Catalog-based entity and URI resolution")
-    (description "The resolver class implements the full semantics of OASIS 
Technical
-Resolution 9401:1997 (Amendment 2 to TR 9401) catalogs and the 06 Aug
-2001 Committee Specification of OASIS XML Catalogs.
-
-It also includes a framework of classes designed to read catalog files
-in a number of formats:
-
-@itemize
-@item The plain-text flavor described by TR9401.
-@item The XCatalog XML format defined by John Cowan
-@item The XML Catalog format defined by the OASIS Entity Resolution
-      Technical Committee.
-@end itemize")
-    (license license:asl2.0)))
-
-;; Jaxen requires java-dom4j and java-xom that in turn require jaxen.
-;; This package is a bootstrap version without dependencies on dom4j and xom.
-(define java-jaxen-bootstrap
-  (package
-    (name "java-jaxen-bootstrap")
-    (version "1.1.6")
-    (source (origin
-              (method url-fetch)
-              ;; No release on github
-              (uri (string-append "https://repo1.maven.org/maven2/jaxen/jaxen/";
-                                  version "/jaxen-" version "-sources.jar"))
-              (sha256
-               (base32
-                "18pa8mks3gfhazmkyil8wsp6j1g1x7rggqxfv4k2mnixkrj5x1kx"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "jaxen.jar"
-       #:source-dir "src"
-       #:tests? #f; no tests
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'remove-dom4j
-           (lambda _
-             (delete-file-recursively "src/org/jaxen/dom4j")
-             (delete-file-recursively "src/org/jaxen/xom")
-             #t)))))
-    (inputs
-     `(("java-jdom" ,java-jdom)))
-    (home-page "https://github.com/jaxen-xpath/jaxen";)
-    (synopsis "XPath library")
-    (description "Jaxen is an XPath library written in Java.  It is adaptable
-to many different object models, including DOM, XOM, dom4j, and JDOM.  It is
-also possible to write adapters that treat non-XML trees such as compiled
-Java byte code or Java beans as XML, thus enabling you to query these trees
-with XPath too.")
-    (license license:bsd-3)))
-
-(define-public java-jaxen
-  (package
-    (inherit java-jaxen-bootstrap)
-    (name "java-jaxen")
-    (inputs
-     (list java-jdom java-xom java-dom4j))))
-
-(define-public java-xom
-  (package
-    (name "java-xom")
-    (version "127")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/elharo/xom";)
-                    (commit (string-append "XOM_" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1jh6y03g5zzdhsb5jm6ms1xnamr460qmn96y3w6aw0ikfwqlg0bq"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  (for-each delete-file
-                            (find-files "." "\\.jar$"))
-                  #t))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "xom.jar"
-       #:jdk ,icedtea-8
-       #:tests? #f                      ; no tests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-before 'configure 'fix-tagsoup-dep
-           (lambda _
-             ;; FIXME: Where is tagsoup source?
-             (delete-file "src/nu/xom/tools/XHTMLJavaDoc.java")
-             #t)))))
-    (inputs
-     (list java-jdom java-junit java-classpathx-servletapi
-           java-jaxen-bootstrap java-xerces))
-    (home-page "https://xom.nu/";)
-    (synopsis "XML Object Model")
-    (description "XOM is a new XML Object Model for processing XML with Java 
-that strives for correctness and simplicity.")
-    ;; 2.1 only
-    (license license:lgpl2.1)))
-
-(define-public java-xsdlib
-  (package
-    (name "java-xsdlib")
-    (version "2013.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://repo1.maven.org/maven2/com/sun/msv/";
-                                  "datatype/xsd/xsdlib/" version "/xsdlib-"
-                                  version "-sources.jar"))
-              (sha256
-               (base32
-                "185i48p1xp09wbq03i9zgfl701qa262rq46yf4cajzmk3336kqim"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:tests? #f; no tests
-       #:jar-name "xsdlib.jar"
-       #:jdk ,icedtea-8))
-    (inputs
-     (list java-xerces))
-    (home-page (string-append "https://web.archive.org/web/20161127144537/";
-                              "https://msv.java.net//";))
-    (synopsis "Sun Multi-Schema Validator")
-    (description "Xsdlib contains an implementation of sun.com.msv, an XML
-validator.")
-    (license license:bsd-2)))
-
-(define-public java-xpp3
-  (package
-    (name "java-xpp3")
-    (version "1.1.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://ci.guix.gnu.org/file/";
-                    "xpp3-1.1.4_src.tgz"
-                    "/sha256/"
-                    "1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
-              (file-name (string-append name "-" version "_src.tgz"))
-              (sha256
-               (base32
-                "1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
-              (modules '((guix build utils)))
-              (snippet
-                '(begin ;; Delete bundled jar archives.
-                   (for-each delete-file (find-files "." ".*\\.jar"))
-                   #t))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:tests? #f; no tests
-       #:build-target "jar"
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install (install-jars "build")))))
-    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/";)
-    (synopsis "Streaming pull XML parser")
-    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
-parser and should be used when there is a need to process quickly and
-efficiently all input elements (for example in SOAP processors). This
-package is a stable XmlPull parsing engine that is based on ideas from XPP
-and in particular XPP2 but completely revised and rewritten to take the best
-advantage of JIT JVMs.")
-    (license (license:non-copyleft "file://LICENSE.txt"))))
-
-(define-public java-xmlpull2
-  (package
-    (name "java-xmlpull2")
-    (version "2.1.10")
-    (source (origin
-              (method url-fetch)
-              ;; Unfortunately, archive.org does not have a copy of this file.
-              (uri (string-append "https://ftp.fau.de/gentoo/distfiles/";
-                                  "PullParser" version ".tgz"))
-              (sha256
-               (base32
-                "1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md"))
-              (modules '((guix build utils)))
-              (snippet
-                '(begin ;; Delete bundled jar archives.
-                   (for-each delete-file (find-files "." ".*\\.jar"))
-                   #t))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:tests? #f; no tests
-       #:build-target "impl"
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install (install-jars "build/lib")))))
-    (home-page (string-append "https://web.archive.org/web/20210225153105/";
-                              "https://www.extreme.indiana.edu/";))
-    (synopsis "Streaming pull XML parser")
-    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
-parser and should be used when there is a need to process quickly and
-efficiently all input elements (for example in SOAP processors).  This
-package is in maintenance mode.")
-    (license (license:non-copyleft "file:///LICENSE.txt"))))
-
-(define-public java-xmlpull-api-v1
-  (package
-    (name "java-xmlpull-api-v1")
-    (version "1.1.3.4b")
-    (source (origin
-              ;; The package is originally from Extreme! Lab, but the website
-              ;; is now gone.  This repositories contains the sources of the
-              ;; latest version.
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/aslom/xmlpull-api-v1";)
-                     ;; No releases, this is the latest commit
-                     (commit "abeaa4aa87b2625af70c32f658f44e11355fe568")))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "15bdqxfncnakskna4m9gsh4f9iczxy83qxn2anqiqd15z406a5ih"))
-              (modules '((guix build utils)))
-              (snippet
-               `(begin
-                  (delete-file-recursively "lib")
-                  (mkdir-p "lib")
-                  ;; prevents a failure in "dist_lite"
-                  (substitute* "build.xml"
-                    (("README.html") "README.md"))))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:test-target "junit"
-       #:build-target "dist"
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (string-append out "/share/doc/" ,name "-" ,version))
-                    (java (string-append out "/share/java"))
-                    (project (string-append
-                               "xmlpull_"
-                               ,(string-join (string-split version #\.) "_"))))
-               (mkdir-p doc)
-               (copy-recursively (string-append "build/dist/" project "/doc/")
-                                 doc)
-               (mkdir-p java)
-               (copy-file (string-append "build/dist/" project "/" project 
".jar")
-                          (string-append java "/" project ".jar")))
-             )))))
-    (home-page "https://github.com/aslom/xmlpull-api-v1";)
-    (synopsis "XML pull parsing API")
-    (description "XmlPull v1 API is a simple to use XML pull parsing API.  XML
-pull parsing allows incremental (sometimes called streaming) parsing of XML
-where application is in control - the parsing can be interrupted at any given
-moment and resumed when application is ready to consume more input.")
-    (license license:public-domain)))
-
-(define-public java-dom4j
-  (package
-    (name "java-dom4j")
-    (version "2.1.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/dom4j/dom4j";)
-                    (commit (string-append "version-" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0q907srj9v4hwicpcrn4slyld5npf2jv7hzchsgrg29q2xmbwkdl"))
-              (modules '((guix build utils)))
-              (snippet
-                '(begin ;; Delete bundled jar archives.
-                   (for-each delete-file (find-files "." ".*\\.jar"))
-                   #t))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "dom4j.jar"
-       #:jdk ,icedtea-8
-       #:source-dir "src/main/java"
-       ;; FIXME: Requires xalan, but xalan depends on java-cup which has a
-       ;; dependency on itself through jflex.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'copy-jaxen-sources
-           ;; java-jaxen-bootstrap is not enough. These files have a circular
-           ;; dependency and there is no subset of dom4j that would allow
-           ;; breaking the circle.
-           (lambda* (#:key inputs #:allow-other-keys)
-             (mkdir-p "jaxen-sources")
-             (with-directory-excursion "jaxen-sources"
-               (system* "jar" "xf" (assoc-ref inputs "java-jaxen-sources")))
-             (mkdir-p "src/main/java/org/jaxen/dom4j")
-             (copy-file "jaxen-sources/org/jaxen/dom4j/DocumentNavigator.java"
-                        "src/main/java/org/jaxen/dom4j/DocumentNavigator.java")
-             (copy-file "jaxen-sources/org/jaxen/dom4j/Dom4jXPath.java"
-                        "src/main/java/org/jaxen/dom4j/Dom4jXPath.java")
-             #t))
-         (add-before 'build 'fix-old-xpp2
-           (lambda _
-             ;; This package normally depends on xpp2 2.0, but version 2.1.10
-             ;; is the only version whose source code is published.
-             (substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
-               (("public void resetStartTag")
-                "public boolean removeAttributeByRawName(String name) {\n
-  return false;\n
-}\n
-public boolean removeAttributeByName(String name, String name2) {\n
-  return false;\n
-}\n\npublic void resetStartTag")
-               (("Atttribute") "Attribute"))
-             #t)))))
-    (inputs
-     `(("java-jaxen-bootstrap" ,java-jaxen-bootstrap)
-       ("java-jaxen-sources" ,(package-source java-jaxen-bootstrap))
-       ("java-xmlpull2" ,java-xmlpull2)
-       ("java-xpp3" ,java-xpp3)
-       ("java-xsdlib" ,java-xsdlib)))
-    (native-inputs
-     (list java-testng java-xerces))
-    (home-page "https://dom4j.github.io/";)
-    (synopsis "Flexible XML framework for Java")
-    (description "Dom4j is a flexible XML framework for Java.  DOM4J works
-with DOM, SAX, XPath, and XSLT.  It can parse large XML documents with very
-low memory footprint.")
-    ;; some BSD-like 5-clause license
-    (license (license:non-copyleft "file://LICENSE"))))
-
-(define-public java-kxml2
-  (package
-    (name "java-kxml2")
-    (version "2.4.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/stefanhaustein/kxml2";)
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0g6d8c9r9sh3x04sf4wdpgwvhkqvk11k3kq9skx91i60h4vn01hg"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "kxml2.jar"
-       #:source-dir "src/main/java"
-       #:test-include (list "TestWb.java")
-       ;; Test failure: it was expected to get an XML entity but got the
-       ;; equivalent Unicode character instead.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-before 'build 'copy-resources
-           (lambda _
-             (copy-recursively "src/main/resources" "build/classes")
-             #t)))))
-    (inputs
-     (list java-xpp3))
-    (native-inputs
-     (list java-junit))
-    (home-page "http://kxml.org";)
-    (synopsis "XML pull parser")
-    (description "kXML is a small XML pull parser, specially designed for
-constrained environments such as Applets, Personal Java or devices compliant
-with the Mobile Information Device Profile (MIDP).")
-    (license license:expat)))
-
-(define-public java-stax
-  (package
-    (name "java-stax")
-    (version "1.2.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://repo1.maven.org/maven2/stax/stax/";
-                                  version "/stax-" version "-sources.jar"))
-              (sha256
-               (base32
-                "04ba4qvbrps45j8bldbakxq31k7gjlsay9pppa9yn13fr00q586z"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "stax.jar"
-       #:tests? #f; no tests
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'fix-utf8
-           (lambda _
-             ;; This file is ISO-8859-1 but java expects UTF-8.
-             ;; Remove special characters in comments.
-             (with-fluids ((%default-port-encoding "ISO-8859-1"))
-               (substitute* "src/com/wutka/dtd/Scanner.java"
-                 (("//.*") "\n")))
-             #t)))))
-    (home-page "https://repo1.maven.org/maven2/stax/stax/";)
-    (synopsis "Streaming API for XML")
-    (description "This package provides the reference implementation of the
-@dfn{Streaming API for XML} (StAX).  It is used for streaming XML data to
-and from a Java application.  It provides a standard pull parser interface.")
-    (license license:asl2.0)))
-
-(define-public java-jettison
-  (package
-    (name "java-jettison")
-    (version "1.3.7")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/codehaus/jettison";)
-                    (commit (string-append "jettison-" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "15sydmi5chdh4126qc7v8bsrp7fp4ldaya8a05iby4pq2324q0qw"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "jettison.jar"
-       #:source-dir "src/main/java"
-       #:test-exclude (list "**/Abstract*.java"
-                            ;; Abstract classes
-                            "**/DOMTest.java"
-                            "**/BadgerFishDOMTest.java"
-                            "**/MappedDOMTest.java")))
-    (native-inputs
-     (list java-junit))
-    (home-page "https://github.com/codehaus/jettison";)
-    (synopsis "StAX implementation for JSON")
-    (description "Jettison is a Java library for converting XML to JSON and
-vice-versa with the help of the @dfn{Streaming API for XML} (StAX).  It
-implements @code{XMLStreamWriter} and @code{XMLStreamReader} and supports
-@code{Mapped} and @code{BadgerFish} conventions.")
-    (license license:asl2.0)))
-
-(define-public java-jdom2
-  (package
-    (name "java-jdom")
-    (version "2.0.6.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/hunterhacker/jdom";)
-                    (commit (string-append "JDOM-" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1r4pwl0z7hm45v9l2wbq3fjmqi13zmwzbrggyqizrwv31kghhx56"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:build-target "package"
-       #:tests? #f                ; tests are run as part of the build process
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install
-           (install-jars "build")))))
-    (home-page "http://jdom.org/";)
-    (synopsis "Access, manipulate, and output XML data")
-    (description "Jdom is a Java-based solution for accessing, manipulating, 
and
-outputting XML data from Java code.")
-    (license license:bsd-4)))
-
-(define-public java-xstream
-  (package
-    (name "java-xstream")
-    (version "1.4.16")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/x-stream/xstream";)
-             (commit (string-append
-                      "XSTREAM_"
-                      (string-map (lambda (x) (if (eq? x #\.) #\_ x))
-                                  version)))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "16k2mc63h2fw7lxv74qmhg4p8q9hfrw114daa6nxwnpv08cnq755"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "xstream.jar"
-       ;; FIXME: Tests are not in a java subdirectory as assumed by 
ant-build-system.
-       #:tests? #f
-       #:jdk ,icedtea-8
-       #:source-dir "xstream/src/java"))
-    (inputs
-     `(("java-jdom" ,java-jdom)
-       ("java-jdom2" ,java-jdom2)
-       ("java-cglib" ,java-cglib)
-       ("java-joda-time" ,java-joda-time)
-       ("java-jettison" ,java-jettison)
-       ("java-xom" ,java-xom)
-       ("java-mxparser" ,java-mxparser)
-       ("java-xpp3" ,java-xpp3)
-       ("java-dom4j" ,java-dom4j)
-       ("java-stax2-api" ,java-stax2-api)
-       ("java-woodstox-core" ,java-woodstox-core)
-       ("java-kxml2" ,java-kxml2)
-       ("java-stax" ,java-stax)))
-    (home-page "https://x-stream.github.io";)
-    (synopsis "XML serialization library")
-    (description "XStream is a simple library to serialize Java objects to XML
-and back again.")
-    (license license:bsd-3)))
-
-(define-public java-mxparser
-  (package
-    (name "java-mxparser")
-    (version "1.2.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-              (url "https://github.com/x-stream/mxparser";)
-              (commit (string-append "v-" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0i3jrjbz4hgf62fm1ix7nlcmhi4kcv4flqsfvh7a3l2v7nsp5ryb"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "mxparser.jar"
-       #:source-dir "src/main/java"
-       #:test-dir "src/test"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'copy-resources
-           (lambda _
-             (copy-recursively "src/main/resources" "build/classes")
-             #t)))))
-    (propagated-inputs
-     (list java-xmlpull-api-v1))
-    (native-inputs
-     (list java-junit))
-    (home-page "https://github.com/x-stream/mxparser";)
-    (synopsis "Streaming pull XML parser forked from @code{java-xpp3}")
-    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
-parser and should be used when there is a need to process quickly and
-efficiently all input elements (for example in SOAP processors). This
-package is a stable XmlPull parsing engine that is based on ideas from XPP
-and in particular XPP2 but completely revised and rewritten to take the best
-advantage of JIT JVMs.
-
-MXParser is a fork of xpp3_min 1.1.7 containing only the parser with merged
-changes of the Plexus fork. It is an implementation of the XMLPULL V1 API
-(parser only).")
-    (license (license:non-copyleft "file://LICENSE.txt"))))
-
 (define-public xmlrpc-c
   (package
     (name "xmlrpc-c")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]