diff options
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r-- | gnu/packages/xml.scm | 156 |
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") |