|
- ;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
- ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
- ;;;
- ;;; 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 xml)
- #:use-module (gnu packages)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages gnupg)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages python)
- #:use-module ((guix licenses)
- #:renamer (symbol-prefix-proc 'license:))
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system perl)
- #:use-module (gnu packages linux))
-
- (define-public expat
- (package
- (name "expat")
- (version "2.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/expat/expat/"
- version "/expat-" version ".tar.gz"))
- (sha256
- (base32
- "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2"))))
- (build-system gnu-build-system)
- (home-page "http://www.libexpat.org/")
- (synopsis "A stream-oriented XML parser library written in C")
- (description
- "Expat is an XML parser library written in C. It is a
- stream-oriented parser in which an application registers handlers for
- things the parser might find in the XML document (like start tags).")
- (license license:expat)))
-
- (define-public libxml2
- (package
- (name "libxml2")
- (version "2.9.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
- version ".tar.gz"))
- (sha256
- (base32
- "10ib8bpar2pl68aqksfinvfmqknwnk7i35ibq6yjl8dpb0cxj9dd"))))
- (build-system gnu-build-system)
- (home-page "http://www.xmlsoft.org/")
- (synopsis "libxml2, a C parser for XML")
- (inputs `(("perl" ,perl)
- ("python" ,python-2) ; incompatible with Python 3 (print syntax)
- ("zlib" ,zlib)))
- (arguments
- `(#:phases
- (alist-replace
- 'install
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
- (let ((install (assoc-ref %standard-phases 'install))
- (glibc (assoc-ref inputs "libc"))
- (out (assoc-ref outputs "out")))
- (apply install args)
- (chdir "python")
- (substitute* "setup.py" (("/opt/include") (string-append glibc "/include")))
- (system* "python" "setup.py" "install" (string-append "--prefix=" out))))
- %standard-phases)))
- (description
- "Libxml2 is the XML C parser and toolkit developed for the Gnome project
- (but it is usable outside of the Gnome platform).")
- (license license:x11)))
-
- (define-public libxslt
- (package
- (name "libxslt")
- (version "1.1.28")
- (source (origin
- (method url-fetch)
- (uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-"
- version ".tar.gz"))
- (sha256
- (base32
- "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz"))))
- (build-system gnu-build-system)
- (home-page "http://xmlsoft.org/XSLT/index.html")
- (synopsis "libxslt, a C library for applying XSLT stylesheets to XML documents")
- (inputs `(("libgcrypt" ,libgcrypt)
- ("libxml2" ,libxml2)
- ("python" ,python-wrapper)
- ("zlib" ,zlib)))
- (description
- "Libxslt is an XSLT C library developed for the GNOME project. It is
- based on libxml for XML parsing, tree manipulation and XPath support.")
- (license license:x11)))
-
- (define-public perl-xml-parser
- (package
- (name "perl-xml-parser")
- (version "2.41")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-"
- version ".tar.gz"))
- (sha256
- (base32
- "1sadi505g5qmxr36lgcbrcrqh3a5gcdg32b405gnr8k54b6rg0dl"))))
- (build-system perl-build-system)
- (arguments `(#:make-maker-flags
- (let ((expat (assoc-ref %build-inputs "expat")))
- (list (string-append "EXPATLIBPATH=" expat "/lib")
- (string-append "EXPATINCPATH=" expat "/include")))))
- (inputs `(("expat" ,expat)))
- (license (package-license perl))
- (synopsis "Perl bindings to the Expat XML parsing library")
- (description
- "This module provides ways to parse XML documents. It is built on top of
- XML::Parser::Expat, which is a lower level interface to James Clark's expat
- library. Each call to one of the parsing methods creates a new instance of
- XML::Parser::Expat which is then used to parse the document. Expat options
- may be provided when the XML::Parser object is created. These options are
- then passed on to the Expat object on each parse call. They can also be given
- as extra arguments to the parse methods, in which case they override options
- given at XML::Parser creation time.")
- (home-page "http://search.cpan.org/~toddr/XML-Parser-2.41/Parser.pm")))
-
- (define-public perl-xml-simple
- (package
- (name "perl-xml-simple")
- (version "2.20")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-"
- version ".tar.gz"))
- (sha256
- (base32
- "0jj3jiray1l4pi9wkjcpxjc3v431whdwx5aqnhgdm4i7h3817zsw"))))
- (build-system perl-build-system)
- (inputs
- `(("perl-xml-parser" ,perl-xml-parser)))
- (license (package-license perl))
- (synopsis "Perl module for easy reading/writing of XML files")
- (description
- "The XML::Simple module provides a simple API layer on top of an
- underlying XML parsing module (either XML::Parser or one of the SAX2
- parser modules).")
- (home-page "http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm")))
-
- (define-public xmlto
- (package
- (name "xmlto")
- (version "0.0.25")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://fedorahosted.org/releases/x/m/xmlto/xmlto-"
- version ".tar.bz2"))
- (sha256
- (base32
- "0dp5nxq491gymq806za0dk4hngfmq65ysrqbn0ypajqbbl6vf71n"))))
- (build-system gnu-build-system)
- (arguments
- ;; Make sure the reference to util-linux's 'getopt' is kept in 'xmlto'.
- '(#:configure-flags (list (string-append "GETOPT="
- (assoc-ref %build-inputs
- "util-linux")
- "/bin/getopt"))))
- (inputs
- `(("util-linux" ,util-linux) ; for 'getopt'
- ("libxml2" ,libxml2) ; for 'xmllint'
- ("libxslt" ,libxslt))) ; for 'xsltproc'
- (home-page "http://cyberelk.net/tim/software/xmlto/")
- (synopsis "Front-end to an XSL toolchain")
- (description
- "Xmlto is a front-end to an XSL toolchain. It chooses an appropriate
- stylesheet for the conversion you want and applies it using an external
- XSL-T processor. It also performs any necessary post-processing.")
- (license license:gpl2+)))
|