aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/xml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r--gnu/packages/xml.scm156
1 files changed, 149 insertions, 7 deletions
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 472dfedbb8..1c34fe499a 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -28,6 +28,9 @@
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,6 +79,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix utils)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config))
@@ -98,7 +102,7 @@
`(#:glib-or-gtk? #t))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
+ ("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("appstream-glib" ,appstream-glib)
@@ -142,14 +146,14 @@ things the parser might find in the XML document (like start tags).")
(define-public libebml
(package
(name "libebml")
- (version "1.4.1")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/libebml/"
"libebml-" version ".tar.xz"))
(sha256
- (base32 "0ckhf7wcfwik1c8ilwipdr9p7b58pvqvj8x54l6slqah81lwd53f"))))
+ (base32 "1wmri5c94b02q2z32bqlpfs4vbw0n0c602321wigna2qw1y27is1"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -214,6 +218,48 @@ hierarchical form with variable field lengths.")
project (but it is usable outside of the Gnome platform).")
(license license:x11)))
+(define-public libxlsxwriter
+ (package
+ (name "libxlsxwriter")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmcnamara/libxlsxwriter")
+ (commit (string-append "RELEASE_" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dsqv4qdd582fhwj6m80iz50gkyw4m8n9h4mkd2871csa03sbilf"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled minizip source
+ '(begin
+ (delete-file-recursively "third_party/minizip")
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "USE_STANDARD_TMPFILE=1"
+ "USE_SYSTEM_MINIZIP=1")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (inputs
+ `(("minizip" ,minizip)))
+ (home-page "https://github.com/jmcnamara/libxlsxwriter")
+ (synopsis "C library for creating Excel XLSX files")
+ (description
+ "Libxlsxwriter is a C library that can be used to write text, numbers,
+formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
+ (license (list license:bsd-2
+ license:public-domain)))) ; third_party/md5
+
;; This is the latest stable release.
(define-public libxmlplusplus
(package
@@ -1193,8 +1239,7 @@ Libxml2).")
"See 'COPYING' in the distribution."))))
(define-public xmlsec-nss
- (package
- (inherit xmlsec)
+ (package/inherit xmlsec
(name "xmlsec-nss")
(native-inputs
;; For tests.
@@ -2009,6 +2054,60 @@ 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")
@@ -2218,7 +2317,7 @@ outputting XML data from Java code.")
(define-public java-xstream
(package
(name "java-xstream")
- (version "1.4.15")
+ (version "1.4.16")
(source
(origin
(method git-fetch)
@@ -2230,7 +2329,7 @@ outputting XML data from Java code.")
version)))))
(file-name (git-file-name name version))
(sha256
- (base32 "1178qryrjwjp44439pi5dxzd32896r5zs429z1qhlc09951r7mi9"))))
+ (base32 "16k2mc63h2fw7lxv74qmhg4p8q9hfrw114daa6nxwnpv08cnq755"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "xstream.jar"
@@ -2245,6 +2344,7 @@ outputting XML data from Java code.")
("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)
@@ -2257,6 +2357,48 @@ outputting XML data from Java code.")
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
+ `(("java-xmlpull-api-v1" ,java-xmlpull-api-v1)))
+ (native-inputs
+ `(("java-junit" ,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")