summary refs log tree commit diff
path: root/gnu/packages/xml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r--gnu/packages/xml.scm126
1 files changed, 96 insertions, 30 deletions
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 9c8e3cef08..3ac01133e5 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages java)
   #:use-module (gnu packages gnuzilla)
@@ -64,14 +66,14 @@
 (define-public expat
   (package
     (name "expat")
-    (version "2.2.5")
+    (version "2.2.6")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/expat/expat/"
                                  version "/expat-" version ".tar.bz2"))
              (sha256
               (base32
-               "1xpd78sp7m34jqrw5x13bz7kgz0n6aj15wn4zj4gfx3ypbpk5p6r"))))
+               "1wl1x93b5w457ddsdgj0lh7yjq4q6l7wfbgwhagkc8fm2qkkrd0p"))))
     (build-system gnu-build-system)
     (home-page "https://libexpat.github.io/")
     (synopsis "Stream-oriented XML parser library written in C")
@@ -129,8 +131,23 @@ hierarchical form with variable field lengths.")
               (base32
                "0ci7is75bwqqw2p32vxvrk6ds51ik7qgx73m920rakv5jlayax0b"))))
     (build-system gnu-build-system)
+    (outputs '("out" "static"))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'install 'move-static-libs
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((src (string-append (assoc-ref outputs "out") "/lib"))
+                            (dst (string-append (assoc-ref outputs "static")
+                                                "/lib")))
+                        (mkdir-p dst)
+                        (for-each (lambda (ar)
+                                    (rename-file ar (string-append dst "/"
+                                                                   (basename ar))))
+                                  (find-files src "\\.a$"))
+                        #t))))))
     (home-page "http://www.xmlsoft.org/")
     (synopsis "C parser for XML")
+    (inputs `(("xz" ,xz)))
     (propagated-inputs `(("zlib" ,zlib))) ; libxml2.la says '-lz'.
     (native-inputs `(("perl" ,perl)))
     ;; $XML_CATALOG_FILES lists 'catalog.xml' files found in under the 'xml'
@@ -151,6 +168,7 @@ project (but it is usable outside of the Gnome platform).")
   (package/inherit libxml2
     (name "python-libxml2")
     (build-system python-build-system)
+    (outputs '("out"))
     (arguments
      `(;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
        #:tests? #f
@@ -169,7 +187,8 @@ project (but it is usable outside of the Gnome platform).")
                  (format #f "ROOT = r'~a'" libxml2))
                 ;; For 'iconv.h'.
                 (("/opt/include")
-                 (string-append glibc "/include")))))))))
+                 (string-append glibc "/include"))))
+            #t)))))
     (inputs `(("libxml2" ,libxml2)))
     (synopsis "Python bindings for the libxml2 library")))
 
@@ -534,7 +553,8 @@ that allow you to generate HTML from an RSS, convert between 0.9, 0.91, and
                      (setenv "PERL5LIB"
                              (string-append (getenv "PERL5LIB") ":"
                                             (assoc-ref outputs "out")
-                                            "/lib/perl5/site_perl")))))))
+                                            "/lib/perl5/site_perl"))
+                     #t)))))
     (home-page "https://metacpan.org/release/XML-SAX")
     (synopsis "Perl API for XML")
     (description "XML::SAX consists of several framework classes for using and
@@ -665,20 +685,23 @@ This module provide functions which simplify writing tests for
 (define-public perl-xml-compile
   (package
     (name "perl-xml-compile")
-    (version "1.54")
+    (version "1.60")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
                                   "XML-Compile-" version ".tar.gz"))
               (sha256
                (base32
-                "1hp41960bpqxvv1samv9hc0ghhmvs3i16r4rfl9yp54lp6jhsr2c"))))
+                "04vv7wy5v1l38xsfdbacvyd90qircvnrs2f3ysljm1nhq8mycmwm"))))
     (build-system perl-build-system)
     (propagated-inputs
-     `(("perl-log-report" ,perl-log-report)
+     `(("perl-carp" ,perl-carp)
+       ("perl-log-report" ,perl-log-report)
        ("perl-xml-compile-tester" ,perl-xml-compile-tester)
        ("perl-xml-libxml" ,perl-xml-libxml)
-       ("perl-test-deep" ,perl-test-deep)))
+       ("perl-scalar-list-utils" ,perl-scalar-list-utils)
+       ("perl-test-deep" ,perl-test-deep)
+       ("perl-types-serialiser" ,perl-types-serialiser)))
     (home-page "https://metacpan.org/release/XML-Compile")
     (synopsis "Compilation-based XML processing")
     (description
@@ -767,17 +790,17 @@ server, collect the answer, and finally decoding the XML to Perl.")
 (define-public perl-xml-feed
   (package
     (name "perl-xml-feed")
-    (version "0.53")
+    (version "0.55")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/"
                                   "XML-Feed-" version ".tar.gz"))
               (sha256
                (base32
-                "07b165g6wk8kqwpl49r3n0kag6p2nrkyp3ch0h8qyxb6nrnkkq7c"))))
+                "0am345qzy5rxxnzh13l6p18a7drgkzmmlkgrgl4cv3b2j1pwls3i"))))
     (build-system perl-build-system)
     (arguments
-     `(#:tests? #f)) ; Tests require internet connection
+     `(#:tests? #f))                    ; tests require internet connection
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("perl-uri" ,perl-uri)
@@ -806,14 +829,14 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom")
 (define-public perl-xml-xpath
   (package
     (name "perl-xml-xpath")
-    (version "1.42")
+    (version "1.44")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
                                   "XML-XPath-" version ".tar.gz"))
               (sha256
                (base32
-                "04mm91kxav598ax7nlg81dhnvanwvg6bkf30l0cgkmga5iyccsly"))))
+                "03yxj7w5a43ibbpiqsvb3lswj2b71dydsx4rs2fw0p8n0l3i3j8w"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-path-tiny" ,perl-path-tiny)))
@@ -917,16 +940,16 @@ XSL-T processor.  It also performs any necessary post-processing.")
 (define-public xmlsec
   (package
     (name "xmlsec")
-    (version "1.2.26")
+    (version "1.2.27")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "https://www.aleksey.com/xmlsec/download/"
-                                 name "1-" version ".tar.gz"))
-             (sha256
-              (base32
-               "0l1dk344rn3j2vnj13daz72xd8j1msvzhg82n2il5ji0qz4pd0ld"))))
+              (method url-fetch)
+              (uri (string-append "https://www.aleksey.com/xmlsec/download/"
+                                  "xmlsec1-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1dlf263mvxj9n4lnhhjawc2hv45agrwjf8kxk7k8h9g9v2x5dmwp"))))
     (build-system gnu-build-system)
-    (propagated-inputs ; according to xmlsec1.pc
+    (propagated-inputs                  ; according to xmlsec1.pc
      `(("libxml2" ,libxml2)
        ("libxslt" ,libxslt)))
     (inputs
@@ -949,6 +972,10 @@ Libxml2).")
   (package
     (inherit xmlsec)
     (name "xmlsec-nss")
+    (native-inputs
+     ;; For tests.
+     `(("nss:bin" ,nss "bin")           ; for certutil
+       ,@(package-native-inputs xmlsec)))
     (inputs
      `(("nss" ,nss)
        ("libltdl" ,libltdl)))
@@ -957,7 +984,7 @@ Libxml2).")
 (define-public minixml
   (package
     (name "minixml")
-    (version "2.11")
+    (version "2.12")
     (source (origin
               (method url-fetch/tarbomb)
               (uri (string-append "https://github.com/michaelrsweet/mxml/"
@@ -965,10 +992,13 @@ Libxml2).")
                                   "/mxml-" version ".tar.gz"))
               (sha256
                (base32
-                "13xsw8vvkxd10vca42ccdyl9rs64lcvhbfz57aknpl3xcfn8mxma"))))
+                "1z8nqxa4pqdic8wpixkkgg1m2pak9wjikjjxnk3j5i0d29dbgmmg"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list (string-append "LDFLAGS=-Wl,-rpath="
+                            (assoc-ref %outputs "out") "/lib"))
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-permissions
            ;; FIXME: url-fetch/tarbomb resets all permissions to 555/444.
@@ -1117,7 +1147,7 @@ XSLT and EXSLT.")
 (define-public html-xml-utils
  (package
    (name "html-xml-utils")
-   (version "7.6")
+   (version "7.7")
    (source
     (origin
       (method url-fetch)
@@ -1126,7 +1156,7 @@ XSLT and EXSLT.")
             version ".tar.gz"))
       (sha256
        (base32
-        "0l97ps089byy62838wf2jwvvc465iw29z9r5kwmwcq7f3bn11y3m"))))
+        "1vwqp5q276j8di9zql3kygf31z2frp2c59yjqlrvvwcvccvkcdwr"))))
    (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")
@@ -1192,7 +1222,7 @@ elements to their parents
              (substitute* "test/run"
                ;; Run tests with `python' only
                (("^(PYTHON_VERSIONS = ).*" all m) (string-append m "['']")))
-             (zero? (system* "test/run")))))))
+             (invoke "test/run"))))))
     (home-page "https://github.com/dilshod/xlsx2csv")
     (synopsis "XLSX to CSV converter")
     (description
@@ -1241,7 +1271,7 @@ files.  It is designed to be fast and to handle large input files.")
          ;; Bootstrapping is required in order to fix the test driver script.
          (replace 'bootstrap
            (lambda _
-             (zero? (system* "bash" "bootstrap")))))))
+             (invoke "bash" "bootstrap"))))))
     (native-inputs
      `(("unzip" ,unzip)
        ("autoconf" ,autoconf)
@@ -1842,7 +1872,8 @@ low memory footprint.")
        (modify-phases %standard-phases
          (add-before 'build 'copy-resources
            (lambda _
-             (copy-recursively "src/main/resources" "build/classes"))))))
+             (copy-recursively "src/main/resources" "build/classes")
+             #t)))))
     (inputs
      `(("java-xpp3" ,java-xpp3)))
     (native-inputs
@@ -2075,7 +2106,6 @@ derivations of regular expressions.")
     (build-system haskell-build-system)
     (inputs
      `(("ghc-parsec" ,ghc-parsec)
-       ("ghc-mtl" ,ghc-mtl)
        ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
        ("ghc-hxt-unicode" ,ghc-hxt-unicode)
        ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
@@ -2086,3 +2116,39 @@ derivations of regular expressions.")
      "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
 introduces a more general approach for processing XML with Haskell.")
     (license license:expat)))
+
+(define-public xmlrpc-c
+  (package
+    (name "xmlrpc-c")
+    (version "1.43.08")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://sourceforge/xmlrpc-c/Xmlrpc-c%20Super%20Stable/"
+                                 version "/xmlrpc-c-" version ".tgz"))
+             (sha256
+              (base32
+               "18zwbj6i2hpcn5riiyp8i6rml0sfv60dd7phw1x8g4r4lj2bbxf9"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("curl" ,curl)))
+    (native-inputs
+     `(;; For tools, if ever needed.
+       ("perl" ,perl)))
+    (arguments
+     `(#:make-flags ; Add $libdir to the RUNPATH of all the executables.
+       (list (string-append "LDFLAGS_PERSONAL=-Wl,-rpath=" %output "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-/bin/sh-in-tests
+           (lambda _
+             (substitute* "GNUmakefile"
+               (("#! /bin/sh") (which "sh")))
+             #t)))))
+    (home-page "http://xmlrpc-c.sourceforge.net/")
+    (synopsis "Lightweight RPC library based on XML and HTTP")
+    (description
+     "XML-RPC is a quick-and-easy way to make procedure calls over the Internet.
+It converts the procedure call into an XML document, sends it to a remote
+server using HTTP, and gets back the response as XML.  This library provides a
+modular implementation of XML-RPC for C and C++.")
+    (license (list license:psfl license:expat))))