;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages rdf)
#:use-module ((guix licenses)
- #:select (bsd-style 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 (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system waf)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages databases)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
- #:use-module (gnu packages doxygen)
+ #:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#: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
(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"))))
(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
Java Lucene text search engine API to C++.")
(license lgpl2.1)))
+(define-public lrdf
+ (package
+ (name "lrdf")
+ (version "0.5.0")
+ (source (origin
+ (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
+ 'remove-out-of-tree-references 'autoreconf
+ (lambda _
+ (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)
+ ("cyrus-sasl" ,cyrus-sasl)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/swh/LRDF")
+ (synopsis "Lightweight RDF library for accessing LADSPA plugin metadata")
+ (description
+ "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 capability.")
+ (license gpl2)))
+
(define-public rasqal
(package
(name "rasqal")
(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
and triple stores.")
(license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0
-(define-public soprano
+(define-public serd
(package
- (name "soprano")
- (version "2.9.4")
+ (name "serd")
+ (version "0.26.0")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/soprano/Soprano/"
- version "/"
- "soprano-" version ".tar.bz2"))
+ (uri (string-append "http://download.drobilla.net/serd-"
+ 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)))
+ "164j43am4hka2vbzw4n52zy7rafgp6kmkgbcbvap368az644mr73"))))
+ (build-system waf-build-system)
+ (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
+ "Serd is a lightweight C library for RDF syntax which supports reading
+and writing Turtle and NTriples. Serd is not intended to be a swiss-army
+knife of RDF syntax, but rather is suited to resource limited or performance
+critical applications (e.g. converting many gigabytes of NTriples to Turtle),
+or situations where a simple reader/writer with minimal dependencies is
+ideal (e.g. in LV2 implementations or embedded applications).")
+ (license isc)))
+
+(define-public sord
+ (package
+ (name "sord")
+ (version "0.16.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.drobilla.net/sord-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0nh3i867g9z4kdlnk82cg2kcw8r02qgifxvkycvzb4vfjv4v4g4x"))))
+ (build-system waf-build-system)
+ (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
- `(("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+)))
+ `(("serd" ,serd)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://drobilla.net/software/sord/")
+ (synopsis "C library for storing RDF data in memory")
+ (description
+ "Sord is a lightweight C library for storing RDF data in memory.")
+ (license isc)))
(define-public python-rdflib
(package
"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))