;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
-;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages docbook)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages java)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
(define-public libebml
(package
(name "libebml")
- (version "1.3.9")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/libebml/"
"libebml-" version ".tar.xz"))
(sha256
- (base32 "0j65r6i7s2k67c8f9wa653mqpxmfhdl67kjxrc1n5910ig6wddn6"))))
+ (base32 "1cy4hbk8qbxn4c6pwvlsvr1rp8vhfach9rwfg4c50qa94nlckaw0"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
project (but it is usable outside of the Gnome platform).")
(license license:x11)))
+;; This is the latest stable release.
+(define-public libxmlplusplus
+ (package
+ (name "libxmlplusplus")
+ (version "3.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libxmlplusplus/libxmlplusplus.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-documentation
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook"))
+ (xsldoc (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl))))
+ (substitute* '("examples/dom_xpath/example.xml"
+ "docs/manual/libxml++_without_code.xml")
+ (("http://.*/docbookx\\.dtd")
+ (string-append xmldoc "/docbookx.dtd")))
+ (setenv "SGML_CATALOG_FILES"
+ (string-append xmldoc "/catalog.xml"))
+ (substitute* "docs/manual/docbook-customisation.xsl"
+ (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+ (string-append xsldoc "/html/chunk.xsl"))))
+ #t)))))
+ (propagated-inputs
+ `(("libxml2" ,libxml2)))
+ (inputs
+ `(("glibmm" ,glibmm)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("doxygen" ,doxygen)
+ ("docbook-xml" ,docbook-xml)
+ ("docbook-xsl" ,docbook-xsl)
+ ("graphviz" ,graphviz) ; for dot
+ ("libtool" ,libtool)
+ ("libxslt" ,libxslt)
+ ("mm-common" ,mm-common)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/libxmlplusplus/libxmlplusplus/")
+ (synopsis "C++ bindings for libxml2")
+ (description
+ "libxml++ (a.k.a. libxmlplusplus) provides a C++ interface to XML files.
+It uses libxml2 to access the XML files.")
+ (license license:lgpl2.1+)))
+
+;; This is the last release providing the 2.6 API, hence the name.
+;; This is needed by tascam-gtk
+(define-public libxmlplusplus-2.6
+ (package
+ (inherit libxmlplusplus)
+ (name "libxmlplusplus")
+ (version "2.40.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libxmlplusplus/libxmlplusplus.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9"))))))
+
(define-public python-libxml2
- ;; TODO: Merge with 'python-libxml2/fixed' on the next rebuild cycle.
(package/inherit libxml2
(name "python-libxml2")
+ (source (origin
+ (inherit (package-source libxml2))
+ (patches (cons (search-patch "python-libxml2-utf8.patch")
+ (origin-patches (package-source libxml2))))))
(build-system python-build-system)
(outputs '("out"))
(arguments
(inputs `(("libxml2" ,libxml2)))
(synopsis "Python bindings for the libxml2 library")))
-(define-public python-libxml2/fixed
- ;; This variant fixes a crash when processing UTF-8 sequences:
- ;; <https://bugs.gnu.org/37468>
- ;; TODO: Merge with 'python-libxml2' on the next rebuild cycle.
- (package/inherit
- python-libxml2
- (version (string-append (package-version python-libxml2) "-1"))
- (source (origin
- (inherit (package-source libxml2))
- (patches (cons (search-patch "python-libxml2-utf8.patch")
- (origin-patches (package-source libxml2))))))))
-
(define-public python2-libxml2
(package-with-python2 python-libxml2))
(inputs `(("libgcrypt" ,libgcrypt)
("libxml2" ,libxml2)
("python" ,python-minimal-wrapper)
- ("zlib" ,zlib)))
+ ("zlib" ,zlib)
+ ("xz" ,xz)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(description
(define-public perl-xml-parser
(package
(name "perl-xml-parser")
- (version "2.44")
+ (version "2.46")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s"))))
+ "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk"))))
(build-system perl-build-system)
(arguments `(#:make-maker-flags
(let ((expat (assoc-ref %build-inputs "expat")))
(base32
"1z1a88bpy64j42bbyl8acbfl3dn9iaz47gx6clkgy5sbn4kr0kgk"))))
(build-system perl-build-system)
- (arguments
- `(#:tests? #f)) ; tests require internet connection
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-uri" ,perl-uri)
("perl-class-data-inheritable" ,perl-class-data-inheritable)))
- (inputs
+ (propagated-inputs
`(("perl-class-errorhandler" ,perl-class-errorhandler)
("perl-datetime" ,perl-datetime)
+ ("perl-datetime-format-flexible" ,perl-datetime-format-flexible)
+ ("perl-datetime-format-iso8601" ,perl-datetime-format-iso8601)
("perl-datetime-format-mail" ,perl-datetime-format-mail)
+ ("perl-datetime-format-natural" ,perl-datetime-format-natural)
("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf)
("perl-feed-find" ,perl-feed-find)
("perl-html-parser" ,perl-html-parser)
(define-public xmlsec
(package
(name "xmlsec")
- (version "1.2.29")
+ (version "1.2.30")
(source (origin
(method url-fetch)
(uri (string-append "https://www.aleksey.com/xmlsec/download/"
"xmlsec1-" version ".tar.gz"))
(sha256
(base32
- "1arr50fvma01q2ix7g4k2c7lb8qcqjajn7wdc07r66b0jsxdxldi"))))
+ "1j5bf7ni45jghyrbf7a14wx2pvfara557zyry7g7h8840c5kd11d"))))
(build-system gnu-build-system)
(propagated-inputs ; according to xmlsec1.pc
`(("libxml2" ,libxml2)
(define-public tinyxml2
(package
(name "tinyxml2")
- (version "7.0.1")
+ (version "8.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/leethomason/tinyxml2.git")
+ (url "https://github.com/leethomason/tinyxml2")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1sf6sch1kawrna2f9dc8f4xl836acqcddkghzdib0s7dl48m9r7m"))))
+ (base32 "0raa8r2hsagk7gjlqjwax95ib8d47ba79n91r4aws2zg8y6ssv1d"))))
(build-system cmake-build-system)
(synopsis "Small XML parser for C++")
(description "TinyXML2 is a small and simple XML parsing library for the
(define-public html-xml-utils
(package
(name "html-xml-utils")
- (version "7.7")
+ (version "7.9")
(source
(origin
(method url-fetch)
"https://www.w3.org/Tools/HTML-XML-utils/html-xml-utils-"
version ".tar.gz"))
(sha256
- (base32
- "1vwqp5q276j8di9zql3kygf31z2frp2c59yjqlrvvwcvccvkcdwr"))))
+ (base32 "0gs3xvdbzhk5k12i95p5d4fgkkaldnlv45sch7pnncb0lrpcjsnq"))))
(build-system gnu-build-system)
(home-page "https://www.w3.org/Tools/HTML-XML-utils/")
(synopsis "Command line utilities to manipulate HTML and XML files")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dilshod/xlsx2csv.git")
+ (url "https://github.com/dilshod/xlsx2csv")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public freexl
(package
(name "freexl")
- (version "1.0.5")
+ (version "1.0.6")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.gaia-gis.it/gaia-sins/"
- name "-" version ".tar.gz"))
+ (uri (string-append "https://www.gaia-gis.it/gaia-sins/"
+ "freexl-" version ".tar.gz"))
(sha256
(base32
- "03bmwq6hngmzwpqpb7c2amqlspz4q69iv96nlf0f5c0qs98b3j9x"))))
+ "08pwj17l0lgp6zms9nmpawdxpvhzrslklbd53s4b430k7mxbbs1x"))))
(build-system gnu-build-system)
(home-page "https://www.gaia-gis.it/fossil/freexl/index")
(synopsis "Read Excel files")
(define-public xerces-c
(package
(name "xerces-c")
- (version "3.1.4")
+ (version "3.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/xerces/c/3/sources/"
"xerces-c-" version ".tar.xz"))
(sha256
(base32
- "0hb29c0smqlpxj0zdm09s983z5jx37szlliccnvgh0qq91wwqwwr"))))
+ "0jf1khvlssg31vkxbc25dxjxcxm56xb8nywj1sypj6hxzjlrkz0j"))))
(build-system gnu-build-system)
(arguments
(let ((system (or (%current-target-system)
'(#:configure-flags '("--disable-sse2")))))
(native-inputs
`(("perl" ,perl)))
- (home-page "http://xerces.apache.org/xerces-c/")
+ (home-page "https://xerces.apache.org/xerces-c/")
(synopsis "Validating XML parser library for C++")
(description "Xerces-C++ is a validating XML parser written in a portable
subset of C++. Xerces-C++ makes it easy to give your application the ability
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/elharo/xom.git")
+ (url "https://github.com/elharo/xom")
(commit (string-append "XOM_" version))))
(file-name (git-file-name name version))
(sha256
(version "2013.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://central.maven.org/maven2/com/sun/msv/"
+ (uri (string-append "https://repo1.maven.org/maven2/com/sun/msv/"
"datatype/xsd/xsdlib/" version "/xsdlib-"
version "-sources.jar"))
(sha256
#:jdk ,icedtea-8))
(inputs
`(("java-xerces" ,java-xerces)))
- (home-page "http://central.maven.org/maven2/com/sun/msv/datatype/xsd/xsdlib/")
+ (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.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dom4j/dom4j.git")
+ (url "https://github.com/dom4j/dom4j")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/stefanhaustein/kxml2.git")
+ (url "https://github.com/stefanhaustein/kxml2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/codehaus/jettison.git")
+ (url "https://github.com/codehaus/jettison")
(commit (string-append "jettison-" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/hunterhacker/jdom.git")
+ (url "https://github.com/hunterhacker/jdom")
(commit (string-append "JDOM-" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/x-stream/xstream.git")
+ (url "https://github.com/x-stream/xstream")
(commit (string-append
"XSTREAM_"
(string-map (lambda (x) (if (eq? x #\.) #\_ x))
modular implementation of XML-RPC for C and C++.")
(license (list license:psfl license:expat))))
+(define-public python-elementpath
+ (package
+ (name "python-elementpath")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "elementpath" version))
+ (sha256
+ (base32
+ "15h7d41v48q31hzjay7qzixdv531hnga3h35hksk7x52pgqcrkz7"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/sissaschool/elementpath")
+ (synopsis
+ "XPath 1.0/2.0 parsers and selectors for ElementTree and lxml")
+ (description
+ "The proposal of this package is to provide XPath 1.0 and 2.0 selectors
+for Python's ElementTree XML data structures, both for the standard
+ElementTree library and for the @uref{http://lxml.de, lxml.etree} library.
+
+For lxml.etree this package can be useful for providing XPath 2.0 selectors,
+because lxml.etree already has it's own implementation of XPath 1.0.")
+ (license license:expat)))
+
+(define-public python-lxml
+ (package
+ (name "python-lxml")
+ (version "4.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "lxml" version))
+ (sha256
+ (base32 "01nvb5j8vs9nk4z5s3250b1m22b4d08kffa36if3g1mdygdrvxpg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "make" "test"))))))
+ (inputs
+ `(("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)))
+ (home-page "https://lxml.de/")
+ (synopsis "Python XML processing library")
+ (description
+ "The lxml XML toolkit is a Pythonic binding for the C libraries
+libxml2 and libxslt.")
+ (license license:bsd-3))) ; and a few more, see LICENSES.txt
+
+(define-public python2-lxml
+ (package-with-python2 python-lxml))
+
+(define-public python-xmlschema
+ (package
+ (name "python-xmlschema")
+ (version "1.1.2")
+ (source (origin
+ ;; Unit tests are not distributed with the PyPI archive.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sissaschool/xmlschema")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03bz5mp45y4shmlc1gxq1h69vjx60z1acg9cy4kq7fczgx8qg9jw"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key (tests? #t) #:allow-other-keys)
+ (if tests?
+ (begin
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (invoke "python" "-m" "unittest" "-v"))
+ (format #t "test suite not run~%"))
+ #t)))))
+ (native-inputs
+ `(("python-lxml" ,python-lxml))) ;for tests
+ (propagated-inputs
+ `(("python-elementpath" ,python-elementpath)))
+ (home-page "https://github.com/sissaschool/xmlschema")
+ (synopsis "XML Schema validator and data conversion library")
+ (description
+ "The @code{xmlschema} library is an implementation of
+@url{https://www.w3.org/2001/XMLSchema, XML Schema} for Python. It has
+full support for the XSD 1.0 and 1.1 standards, an XPath-based API for
+finding schema's elements and attributes; and can encode and decode
+XML data to JSON and other formats.")
+ (license license:expat)))
+
(define-public python-xmltodict
(package
(name "python-xmltodict")
- (version "0.11.0")
+ (version "0.12.0")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "xmltodict" version))
- (sha256
- (base32
- "1pxh4yjhvmxi1h6f92skv41g4kbsws3ams57150kzn18m907v3cg"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xmltodict" version))
+ (sha256
+ (base32
+ "08cadlb9vsb4pmzc99lz3a2lx6qcfazyvgk10pcqijvyxlwcdn2h"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)