gnu: python-unidecode: Fix typo in description.
[jackhill/guix/guix.git] / gnu / packages / rdf.scm
index 588a4b7..6b5cfb0 100644 (file)
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,7 +19,7 @@
 
 (define-module (gnu packages rdf)
   #:use-module ((guix licenses)
-                #:select (bsd-style isc gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+))
+                #:select (non-copyleft isc gpl2 lgpl2.1 lgpl2.1+))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
-  #:use-module (gnu packages doxygen)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
-  #:use-module (gnu packages openssl)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages xml))
 
 (define-public raptor2
@@ -53,6 +53,8 @@
              (method url-fetch)
              (uri (string-append "http://download.librdf.org/source/" name
                                  "-" version ".tar.gz"))
+             (patches
+              (search-patches "raptor2-heap-overflow.patch"))
              (sha256
               (base32
                "1vc02im4mpc28zxzgli68k6j0dakh0k3s389bm436yvqajxg19xd"))))
@@ -89,9 +91,8 @@ HTML and JSON.")
              (sha256
               (base32
                "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx"))
-             (patches (list 
-                       (search-patch "clucene-pkgconfig.patch")
-                       (search-patch "clucene-contribs-lib.patch")))))
+             (patches (search-patches "clucene-pkgconfig.patch"
+                                      "clucene-contribs-lib.patch"))))
     (build-system cmake-build-system)
     (inputs
      `(("boost" ,boost) ; could also use bundled copy
@@ -120,30 +121,31 @@ Java Lucene text search engine API to C++.")
               (method url-fetch)
               (uri (string-append "https://github.com/swh/LRDF/archive/"
                                   version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
                 "18p2flb2sv2hq6w2qkd29z9c7knnwqr3f12i2srshlzx6vwkm05s"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-cons-after
-                 'unpack 'remove-out-of-tree-references
+                 'remove-out-of-tree-references 'autoreconf
                  (lambda _
-                   ;; remove symlinks to files in /usr/
-                   (delete-file-recursively "m4")
-                   (for-each delete-file '("config.guess"
-                                           "config.sub"
-                                           "depcomp"
-                                           "install-sh"
-                                           "ltmain.sh"
-                                           "missing"))
-                   ;; remove_test depends on an out-of-tree RDF file
-                   (substitute* "examples/Makefile.am"
-                     (("instances_test remove_test") "instances_test")
-                     (("\\$\\(TESTS\\) remove_test") "$(TESTS)")))
-                 (alist-cons-before
-                  'configure 'autoreconf
-                  (lambda* (#:key inputs #:allow-other-keys)
-                    (zero? (system* "autoreconf" "-vfi")))
+                   (zero? (system* "autoreconf" "-vfi")))
+                 (alist-cons-after
+                  'unpack 'remove-out-of-tree-references
+                  (lambda _
+                    ;; remove symlinks to files in /usr/
+                    (delete-file-recursively "m4")
+                    (for-each delete-file '("config.guess"
+                                            "config.sub"
+                                            "depcomp"
+                                            "install-sh"
+                                            "ltmain.sh"
+                                            "missing"))
+                    ;; remove_test depends on an out-of-tree RDF file
+                    (substitute* "examples/Makefile.am"
+                      (("instances_test remove_test") "instances_test")
+                      (("\\$\\(TESTS\\) remove_test") "$(TESTS)")))
                   %standard-phases))))
     (inputs
      `(("raptor" ,raptor2)
@@ -161,7 +163,7 @@ Java Lucene text search engine API to C++.")
      "LRDF is a library to make it easy to manipulate RDF files describing
 LADSPA plugins.  It can also be used for general RDF manipulation.  It can
 read RDF/XLM and N3 files and export N3 files, and it also has a light
-taxonomic inference capablility.")
+taxonomic inference capability.")
     (license gpl2)))
 
 (define-public rasqal
@@ -220,9 +222,10 @@ Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.")
     (native-inputs
      `(("perl" ,perl) ; needed for installation
        ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("rasqal" ,rasqal))) ; in Requires.private field of .pc
     (inputs
-     `(("bdb" ,bdb)
-       ("rasqal" ,rasqal)))
+     `(("bdb" ,bdb)))
     (home-page "http://librdf.org/")
     (synopsis "RDF library")
     (description "The Redland RDF Library (librdf) provides the RDF API
@@ -232,17 +235,25 @@ and triple stores.")
 (define-public serd
   (package
     (name "serd")
-    (version "0.20.0")
+    (version "0.26.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://download.drobilla.net/serd-"
-                                 version
-                                 ".tar.bz2"))
+                                 version ".tar.bz2"))
              (sha256
               (base32
-               "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4"))))
+               "164j43am4hka2vbzw4n52zy7rafgp6kmkgbcbvap368az644mr73"))))
     (build-system waf-build-system)
-    (arguments `(#:tests? #f)) ; no check target
+    (arguments
+     `(#:tests? #f ; no check target
+       #:phases
+       (modify-phases %standard-phases
+         (add-before
+          'configure 'set-ldflags
+          (lambda* (#:key outputs #:allow-other-keys)
+            (setenv "LDFLAGS"
+                    (string-append "-Wl,-rpath="
+                                   (assoc-ref outputs "out") "/lib")))))))
     (home-page "http://drobilla.net/software/serd/")
     (synopsis "Library for RDF syntax supporting Turtle and NTriples")
     (description
@@ -257,17 +268,25 @@ ideal (e.g. in LV2 implementations or embedded applications).")
 (define-public sord
   (package
     (name "sord")
-    (version "0.12.2")
+    (version "0.16.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://download.drobilla.net/sord-"
-                                 version
-                                 ".tar.bz2"))
+                                 version ".tar.bz2"))
              (sha256
               (base32
-               "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx"))))
+               "0nh3i867g9z4kdlnk82cg2kcw8r02qgifxvkycvzb4vfjv4v4g4x"))))
     (build-system waf-build-system)
-    (arguments `(#:tests? #f)) ; no check target
+    (arguments
+     `(#:tests? #f ; no check target
+       #:phases
+       (modify-phases %standard-phases
+         (add-before
+          'configure 'set-ldflags
+          (lambda* (#:key outputs #:allow-other-keys)
+            (setenv "LDFLAGS"
+                    (string-append "-Wl,-rpath="
+                                   (assoc-ref outputs "out") "/lib")))))))
     (inputs
      `(("serd" ,serd)))
     (native-inputs
@@ -278,36 +297,6 @@ ideal (e.g. in LV2 implementations or embedded applications).")
      "Sord is a lightweight C library for storing RDF data in memory.")
     (license isc)))
 
-(define-public soprano
-  (package
-    (name "soprano")
-    (version "2.9.4")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://sourceforge/soprano/Soprano/"
-                                version "/"
-                                "soprano-" version ".tar.bz2"))
-             (sha256
-              (base32
-               "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4"))
-             (patches (list (search-patch "soprano-find-clucene.patch")))))
-    (build-system cmake-build-system)
-    (native-inputs
-     `(("doxygen" ,doxygen)
-       ("pkg-config" ,pkg-config)))
-    (inputs
-     `(("clucene" ,clucene)
-       ("qt" ,qt-4)
-       ("rasqal" ,rasqal)
-       ("redland" ,redland)))
-    (home-page "http://soprano.sourceforge.net/")
-    (synopsis "RDF data library for Qt")
-    (description "Soprano (formerly known as QRDF) is a library which
-provides a highly usable object-oriented C++/Qt4 framework for RDF data.  It
-uses different RDF storage solutions as backends through a simple plugin
-system.")
-    (license lgpl2.0+)))
-
 (define-public python-rdflib
   (package
     (name "python-rdflib")
@@ -319,20 +308,37 @@ system.")
               "https://pypi.python.org/packages/source/r/rdflib/rdflib-"
               version
               ".tar.gz"))
+        (patches
+          ;; The patch has no effect under Python 3.
+          (search-patches "python2-rdflib-drop-sparqlwrapper.patch"))
         (sha256
           (base32
             "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
     (build-system python-build-system)
-    (inputs
-      `(("python-htm5lib" ,python-html5lib)
+    (arguments
+     '(;; FIXME: Three test failures. Try uncommenting the below next update.
+       #:tests? #f))
+       ;; #:phases
+       ;; (modify-phases %standard-phases
+       ;;   (replace 'check
+       ;;     (lambda _
+       ;;       ;; Run tests from the build directory so python3 only
+       ;;       ;; sees the installed 2to3 version.
+       ;;       (zero? (system* "nosetests" "--where=./build/src")))))
+    (native-inputs
+     `(("python-nose" ,python-nose)))
+    (propagated-inputs
+      `(("python-html5lib" ,python-html5lib)
         ("python-isodate" ,python-isodate)
-        ("python-pyparsing" ,python-pyparsing)
-        ("python-setuptools" ,python-setuptools)))
+        ("python-pyparsing" ,python-pyparsing)))
     (home-page "https://github.com/RDFLib/rdflib")
     (synopsis
       "Python RDF library")
     (description
       "RDFLib is a Python library for working with RDF, a simple yet
 powerful language for representing information.")
-    (license (bsd-style "file://LICENSE"
+    (license (non-copyleft "file://LICENSE"
                         "See LICENSE in the distribution."))))
+
+(define-public python2-rdflib
+  (package-with-python2 python-rdflib))