aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/xml.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-08-04 15:09:36 +0200
committerRicardo Wurmus <rekado@elephly.net>2020-08-04 15:13:18 +0200
commitcc53718760336265de7aecfe0dc6d057c295e65d (patch)
treebc28a60246dada6a99857b4829f4c57a208cf076 /gnu/packages/xml.scm
parent062448f35917fe26553c8e2c7aa1b35f95ae4f1a (diff)
downloadguix-cc53718760336265de7aecfe0dc6d057c295e65d.tar
guix-cc53718760336265de7aecfe0dc6d057c295e65d.tar.gz
gnu: Add libxmlplusplus.
* gnu/packages/xml.scm (libxmlplusplus): New variable.
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r--gnu/packages/xml.scm65
1 files changed, 64 insertions, 1 deletions
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 6a212f79bb..7f8746c66e 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -3,7 +3,7 @@
;;; 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>
@@ -45,7 +45,12 @@
#: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)
@@ -167,6 +172,64 @@ hierarchical form with variable field lengths.")
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+)))
+
(define-public python-libxml2
(package/inherit libxml2
(name "python-libxml2")