gnu: sbcl-trivial-clipboard: Update to 20200904.
[jackhill/guix/guix.git] / gnu / packages / rdf.scm
CommitLineData
c0798488 1;;; GNU Guix --- Functional package management for GNU
4bb49be2 2;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
d212ed2f 3;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
efebdf3a 4;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
baa78774 5;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
0a6f6898 6;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
0e64f12d
PP
7;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl>
8;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
4aaa27e4 9;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
c0798488
AE
10;;;
11;;; This file is part of GNU Guix.
12;;;
13;;; GNU Guix is free software; you can redistribute it and/or modify it
14;;; under the terms of the GNU General Public License as published by
15;;; the Free Software Foundation; either version 3 of the License, or (at
16;;; your option) any later version.
17;;;
18;;; GNU Guix is distributed in the hope that it will be useful, but
19;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21;;; GNU General Public License for more details.
22;;;
23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25
07cec9a5 26(define-module (gnu packages rdf)
5d29808b 27 #:use-module ((guix licenses) #:prefix license:)
c0798488 28 #:use-module (guix packages)
d212ed2f 29 #:use-module (guix git-download)
c0798488
AE
30 #:use-module (guix download)
31 #:use-module (guix build-system cmake)
2c4e4d25 32 #:use-module (guix build-system gnu)
4bb49be2 33 #:use-module (guix build-system python)
f65784d5 34 #:use-module (guix build-system waf)
7051054a 35 #:use-module (gnu packages)
bfe26beb 36 #:use-module (gnu packages autotools)
8a79ec41 37 #:use-module (gnu packages boost)
ac257f12 38 #:use-module (gnu packages check)
2c4e4d25
AE
39 #:use-module (gnu packages compression)
40 #:use-module (gnu packages curl)
bfe26beb 41 #:use-module (gnu packages cyrus-sasl)
99828fa7 42 #:use-module (gnu packages documentation)
255d1bbe 43 #:use-module (gnu packages dbm)
1634c042
AE
44 #:use-module (gnu packages gnupg)
45 #:use-module (gnu packages linux)
46 #:use-module (gnu packages multiprecision)
47 #:use-module (gnu packages pcre)
48 #:use-module (gnu packages perl)
c0798488 49 #:use-module (gnu packages pkg-config)
4bb49be2 50 #:use-module (gnu packages python)
1b2f753d 51 #:use-module (gnu packages python-web)
44d10b1f 52 #:use-module (gnu packages python-xyz)
2c4e4d25 53 #:use-module (gnu packages qt)
33dc54b0 54 #:use-module (gnu packages time)
cc2b77df 55 #:use-module (gnu packages tls)
2c4e4d25
AE
56 #:use-module (gnu packages xml))
57
58(define-public raptor2
59 (package
60 (name "raptor2")
f4ee08d8 61 (version "2.0.15")
2c4e4d25
AE
62 (source (origin
63 (method url-fetch)
64 (uri (string-append "http://download.librdf.org/source/" name
65 "-" version ".tar.gz"))
099c9fda
MB
66 (patches
67 (search-patches "raptor2-heap-overflow.patch"))
2c4e4d25
AE
68 (sha256
69 (base32
f4ee08d8 70 "1vc02im4mpc28zxzgli68k6j0dakh0k3s389bm436yvqajxg19xd"))))
2c4e4d25
AE
71 (build-system gnu-build-system)
72 (inputs
73 `(("curl" ,curl)
74 ("libxml2" ,libxml2)
75 ("libxslt" ,libxslt)
76 ("zlib" ,zlib)))
0e6260a4
AE
77 (arguments
78 `(#:parallel-tests? #f))
2c4e4d25
AE
79 (home-page "http://librdf.org/raptor/")
80 (synopsis "RDF syntax library")
81 (description "Raptor is a C library providing a set of parsers and
82serialisers that generate Resource Description Framework (RDF) triples
83by parsing syntaxes or serialise the triples into a syntax. The supported
84parsing syntaxes are RDF/XML, N-Quads, N-Triples 1.0 and 1.1, TRiG,
85Turtle 2008 and 2013, RDFa 1.0 and 1.1, RSS tag soup including all versions
86of RSS, Atom 1.0 and 0.3, GRDDL and microformats for HTML, XHTML and
87XML. The serialising syntaxes are RDF/XML (regular, abbreviated, XMP),
88Turtle 2013, N-Quads, N-Triples 1.1, Atom 1.0, RSS 1.0, GraphViz DOT,
89HTML and JSON.")
5d29808b 90 (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0
c0798488 91
8a79ec41
AE
92(define-public clucene
93 (package
94 (name "clucene")
95 (version "2.3.3.4")
96 (source (origin
97 (method url-fetch)
98 (uri (string-append "mirror://sourceforge/clucene/"
99 "clucene-core-unstable/2.3/clucene-core-"
100 version ".tar.gz"))
101 (sha256
102 (base32
7051054a 103 "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx"))
fc1adab1
AK
104 (patches (search-patches "clucene-pkgconfig.patch"
105 "clucene-contribs-lib.patch"))))
8a79ec41
AE
106 (build-system cmake-build-system)
107 (inputs
108 `(("boost" ,boost) ; could also use bundled copy
109 ("zlib" ,zlib)))
110 (arguments
111 `(#:test-target "cl_test"
80059f54 112 #:configure-flags '("-DBUILD_CONTRIBS_LIB=ON")
8a79ec41
AE
113 #:tests? #f)) ; Tests do not compile, as TestIndexSearcher.cpp uses
114 ; undeclared usleep. After fixing this, one needs to run
115 ; "make test" in addition to "make cl_test", then
116 ; SimpleTest fails.
117 ; Notice that the library appears to be unmaintained
118 ; with no reaction to bug reports.
119 (home-page "http://clucene.sourceforge.net/")
120 (synopsis "C text indexing and searching library")
121 (description "CLucene is a high-performance, scalable, cross platform,
122full-featured indexing and searching API. It is a port of the very popular
123Java Lucene text search engine API to C++.")
5d29808b 124 (license license:lgpl2.1)))
8a79ec41 125
baa78774
JL
126(define-public lucene++
127 (package
128 (name "lucene++")
129 (version "3.0.7")
130 (source (origin
131 (method git-fetch)
132 (uri (git-reference
133 (url "https://github.com/luceneplusplus/LucenePlusPlus")
134 (commit (string-append "rel_" version))))
135 (file-name (git-file-name name version))
136 (sha256
137 (base32
138 "06b37fly6l27zc6kbm93f6khfsv61w792j8xihfagpcm9cfz2zi1"))))
139 (build-system cmake-build-system)
140 (arguments
141 `(#:configure-flags
142 ;; CXX_FLAGS suggested in a closed issue on github:
143 ;; https://github.com/luceneplusplus/LucenePlusPlus/issues/100
144 (list "-Wno-dev" "-DCMAKE_CXX_FLAGS=-DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT"
145 ;; Install in lib64 break rpath
146 "-DCMAKE_INSTALL_LIBDIR:PATH=lib")))
147 (native-inputs
148 `(("pkg-config" ,pkg-config)))
149 (inputs
150 `(("boost" ,boost)))
151 (home-page "https://github.com/luceneplusplus/LucenePlusPlus")
152 (synopsis "Text search engine")
153 (description "Lucene++ is an up to date C++ port of the popular Java
154Lucene library, a high-performance, full-featured text search engine.")
5d29808b 155 (license (list license:asl2.0 license:lgpl3+)))); either asl or lgpl.
baa78774 156
bfe26beb
RW
157(define-public lrdf
158 (package
159 (name "lrdf")
384efbc2 160 (version "0.6.1")
bfe26beb 161 (source (origin
d212ed2f
RW
162 (method git-fetch)
163 (uri (git-reference
b0e7b699 164 (url "https://github.com/swh/LRDF")
d212ed2f
RW
165 (commit (string-append "v" version))))
166 (file-name (git-file-name name version))
bfe26beb
RW
167 (sha256
168 (base32
d212ed2f 169 "00wzkfb8y0aqd519ypz067cq099dpc89w69zw8ln39vl6f9x2pd4"))))
bfe26beb
RW
170 (build-system gnu-build-system)
171 (arguments
dc1d3cde
KK
172 '(#:phases
173 (modify-phases %standard-phases
dc1d3cde
KK
174 (add-after 'unpack 'remove-out-of-tree-references
175 (lambda _
dc1d3cde
KK
176 ;; remove_test depends on an out-of-tree RDF file
177 (substitute* "examples/Makefile.am"
178 (("instances_test remove_test") "instances_test")
179 (("\\$\\(TESTS\\) remove_test") "$(TESTS)"))
4f27a333 180 #t))
a69cc70d
RW
181 ;; The default bootstrap phase executes autogen.sh, which fails.
182 (replace 'bootstrap
183 (lambda _ (invoke "autoreconf" "-vif") #t)))))
bfe26beb
RW
184 (inputs
185 `(("raptor" ,raptor2)
186 ("cyrus-sasl" ,cyrus-sasl)
bfe26beb
RW
187 ("zlib" ,zlib)))
188 (native-inputs
189 `(("autoconf" ,autoconf)
190 ("automake" ,automake)
191 ("libtool" ,libtool)
192 ("pkg-config" ,pkg-config)))
193 (home-page "https://github.com/swh/LRDF")
194 (synopsis "Lightweight RDF library for accessing LADSPA plugin metadata")
195 (description
196 "LRDF is a library to make it easy to manipulate RDF files describing
197LADSPA plugins. It can also be used for general RDF manipulation. It can
198read RDF/XLM and N3 files and export N3 files, and it also has a light
e881752c 199taxonomic inference capability.")
5d29808b 200 (license license:gpl2)))
bfe26beb 201
1634c042
AE
202(define-public rasqal
203 (package
204 (name "rasqal")
ca1071e1 205 (version "0.9.33")
1634c042
AE
206 (source (origin
207 (method url-fetch)
208 (uri (string-append "http://download.librdf.org/source/" name
209 "-" version ".tar.gz"))
210 (sha256
211 (base32
ca1071e1 212 "0z6rrwn4jsagvarg8d5zf0j352kjgi33py39jqd29gbhcnncj939"))))
1634c042
AE
213 (build-system gnu-build-system)
214 (native-inputs
215 `(("perl" ,perl)
216 ("perl-xml-dom" ,perl-xml-dom) ; for the tests
217 ("pkg-config" ,pkg-config)))
218 (inputs
219 `(("libgcrypt" ,libgcrypt)
220 ("libxml2" ,libxml2)
221 ("mpfr" ,mpfr)
222 ("pcre" ,pcre)
bb93042c 223 ("util-linux" ,util-linux "lib")))
85d83c3b
AE
224 (propagated-inputs
225 `(("raptor2" ,raptor2))) ; stipulated by rasqal.pc
1634c042
AE
226 (arguments
227 `(#:parallel-tests? #f
228 ; test failure reported upstream, see
229 ; http://bugs.librdf.org/mantis/view.php?id=571
230 #:tests? #f))
231 (home-page "http://librdf.org/rasqal/")
232 (synopsis "RDF query library")
233 (description "Rasqal is a C library that handles Resource Description
234Framework (RDF) query language syntaxes, query construction and execution
235of queries returning results as bindings, boolean, RDF graphs/triples or
236syntaxes. The supported query languages are SPARQL Query 1.0,
237SPARQL Query 1.1, SPARQL Update 1.1 (no executing) and the Experimental
238SPARQL extensions (LAQRS). Rasqal can write binding query results in the
239SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML and
af6fce0f 240Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.")
5d29808b 241 (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0
af6fce0f
AE
242
243(define-public redland
244 (package
245 (name "redland")
246 (version "1.0.17")
247 (source (origin
248 (method url-fetch)
249 (uri (string-append "http://download.librdf.org/source/" name
250 "-" version ".tar.gz"))
251 (sha256
252 (base32
253 "109n0kp39p966dpiasad2bb7q66rwbcb9avjvimw28chnpvlf66y"))))
254 (build-system gnu-build-system)
255 (native-inputs
256 `(("perl" ,perl) ; needed for installation
257 ("pkg-config" ,pkg-config)))
0390a520
AE
258 (propagated-inputs
259 `(("rasqal" ,rasqal))) ; in Requires.private field of .pc
af6fce0f 260 (inputs
0390a520 261 `(("bdb" ,bdb)))
af6fce0f
AE
262 (home-page "http://librdf.org/")
263 (synopsis "RDF library")
264 (description "The Redland RDF Library (librdf) provides the RDF API
265and triple stores.")
5d29808b 266 (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0
1634c042 267
f65784d5
RW
268(define-public serd
269 (package
270 (name "serd")
7e5c7677 271 (version "0.30.4")
f65784d5
RW
272 (source (origin
273 (method url-fetch)
0d0252e4 274 (uri (string-append "https://download.drobilla.net/serd-"
7421467a 275 version ".tar.bz2"))
f65784d5
RW
276 (sha256
277 (base32
7e5c7677 278 "168rn3m32c59qbar120f83ibcnnd987ij9p053kybgl7cmm6358c"))))
f65784d5 279 (build-system waf-build-system)
90ea9863
TUBK
280 (arguments
281 `(#:tests? #f ; no check target
282 #:phases
283 (modify-phases %standard-phases
284 (add-before
285 'configure 'set-ldflags
286 (lambda* (#:key outputs #:allow-other-keys)
287 (setenv "LDFLAGS"
288 (string-append "-Wl,-rpath="
a4197ad2
MW
289 (assoc-ref outputs "out") "/lib"))
290 #t)))))
0d0252e4 291 (home-page "https://drobilla.net/software/serd/")
f65784d5
RW
292 (synopsis "Library for RDF syntax supporting Turtle and NTriples")
293 (description
294 "Serd is a lightweight C library for RDF syntax which supports reading
295and writing Turtle and NTriples. Serd is not intended to be a swiss-army
296knife of RDF syntax, but rather is suited to resource limited or performance
297critical applications (e.g. converting many gigabytes of NTriples to Turtle),
298or situations where a simple reader/writer with minimal dependencies is
299ideal (e.g. in LV2 implementations or embedded applications).")
5d29808b 300 (license license:isc)))
f65784d5 301
a035e6ff
RW
302(define-public sord
303 (package
304 (name "sord")
268b69f9 305 (version "0.16.4")
a035e6ff
RW
306 (source (origin
307 (method url-fetch)
0d0252e4 308 (uri (string-append "https://download.drobilla.net/sord-"
a1d419c7 309 version ".tar.bz2"))
a035e6ff
RW
310 (sha256
311 (base32
268b69f9 312 "1mwh4qvp9q4vgrgg5bz9sgjhxscncrylf2b06h0q55ddwzs9hndi"))))
a035e6ff 313 (build-system waf-build-system)
7e81a761 314 (arguments
ef421791 315 `(#:tests? #f ; no check target
7e81a761
TUBK
316 #:phases
317 (modify-phases %standard-phases
318 (add-before
319 'configure 'set-ldflags
320 (lambda* (#:key outputs #:allow-other-keys)
321 (setenv "LDFLAGS"
322 (string-append "-Wl,-rpath="
c2f93fc0
MW
323 (assoc-ref outputs "out") "/lib"))
324 #t)))))
0a6f6898
AT
325 (inputs
326 `(("pcre" ,pcre)))
a035e6ff
RW
327 (native-inputs
328 `(("pkg-config" ,pkg-config)))
ef421791
TGR
329 (propagated-inputs
330 `(("serd" ,serd))) ; required by sord-0.pc
0d0252e4 331 (home-page "https://drobilla.net/software/sord/")
a035e6ff
RW
332 (synopsis "C library for storing RDF data in memory")
333 (description
334 "Sord is a lightweight C library for storing RDF data in memory.")
5d29808b 335 (license license:isc)))
a035e6ff 336
4bb49be2
AE
337(define-public python-rdflib
338 (package
339 (name "python-rdflib")
aba36819 340 (version "4.2.2")
4bb49be2
AE
341 (source
342 (origin
343 (method url-fetch)
4255818d 344 (uri (pypi-uri "rdflib" version))
4bb49be2 345 (sha256
4255818d
RW
346 (base32
347 "0398c714znnhaa2x7v51b269hk20iz073knq2mvmqp2ma92z27fs"))))
4bb49be2 348 (build-system python-build-system)
ee472241 349 (arguments
aba36819 350 '(;; FIXME: Three test failures. Should be fixed next release.
ee472241
MB
351 #:tests? #f))
352 ;; #:phases
353 ;; (modify-phases %standard-phases
354 ;; (replace 'check
355 ;; (lambda _
356 ;; ;; Run tests from the build directory so python3 only
357 ;; ;; sees the installed 2to3 version.
4255818d 358 ;; (invoke "nosetests" "--where=./build/src"))))))
ee472241
MB
359 (native-inputs
360 `(("python-nose" ,python-nose)))
f22efa01 361 (propagated-inputs
4219f48f 362 `(("python-html5lib" ,python-html5lib)
4bb49be2 363 ("python-isodate" ,python-isodate)
f3b98f4f 364 ("python-pyparsing" ,python-pyparsing)))
4bb49be2 365 (home-page "https://github.com/RDFLib/rdflib")
4255818d 366 (synopsis "Python RDF library")
4bb49be2
AE
367 (description
368 "RDFLib is a Python library for working with RDF, a simple yet
369powerful language for representing information.")
5d29808b
EF
370 (license (license:non-copyleft "file://LICENSE"
371 "See LICENSE in the distribution."))))
da71f145
AE
372
373(define-public python2-rdflib
ee472241 374 (package-with-python2 python-rdflib))
0e64f12d
PP
375
376(define-public python-rdflib-jsonld
377 (package
378 (name "python-rdflib-jsonld")
379 (version "0.5.0")
380 (source
381 (origin
382 (method url-fetch)
383 (uri (pypi-uri "rdflib-jsonld" version))
384 (sha256
385 (base32
386 "1v85f4hdlrrk0l1najmqmm79ijrvcj259kwsrrxiq1q5chr5azag"))))
387 (build-system python-build-system)
388 (native-inputs
389 `(("python-nose" ,python-nose)))
390 (propagated-inputs
391 `(("python-rdflib" ,python-rdflib)))
392 (home-page "https://github.com/RDFLib/rdflib-jsonld")
393 (synopsis "rdflib extension adding JSON-LD parser and serializer")
394 (description "This package provides an rdflib extension adding JSON-LD
395parser and serializer.")
396 (license license:bsd-3)))
ab04b257
EF
397
398(define-public python-cfgraph
399 (package
400 (name "python-cfgraph")
401 (version "0.2.1")
402 (source
403 (origin
404 (method url-fetch)
405 (uri (pypi-uri "CFGraph" version))
406 (sha256
407 (base32
408 "0x7yz0lvqb6mkhl5fbml27sppmscgpf8v2ism9jzzf0h982ffzxm"))))
409 (build-system python-build-system)
410 (propagated-inputs
411 `(("python-rdflib" ,python-rdflib)))
412 (home-page "https://github.com/hsolbrig/CFGraph")
413 (synopsis "RDF Collections flattener for rdflib")
414 (description
415 "This package contains RDF Collections flattener for @code{rdflib}.")
416 (license license:asl2.0)))
4aaa27e4 417
418(define-public hdt-cpp
419 (package
420 (name "hdt-cpp")
421 (version "1.3.3")
422 (source (origin
423 (method git-fetch)
424 (uri (git-reference
425 (url "https://github.com/rdfhdt/hdt-cpp")
426 (commit (string-append "v" version))))
427 (file-name (git-file-name name version))
428 (sha256
429 (base32
430 "1vsq80jnix6cy78ayag7v8ajyw7h8dqyad1q6xkf2hzz3skvr34z"))))
431 (build-system gnu-build-system)
432 (inputs
433 `(("serd" ,serd)
434 ("zlib" ,zlib)))
435 (native-inputs
436 `(("autoconf" ,autoconf)
437 ("automake" ,automake)
438 ("libtool" ,libtool)
439 ("pkg-config" ,pkg-config)))
440 (home-page "https://github.com/rdfhdt/hdt-cpp")
441 (synopsis "C++ implementation of the HDT compression format")
442 (description "Header Dictionary Triples (HDT) is a compression format for
443RDF data that can also be queried for Triple Patterns. This package provides a
444C++ library as well as various command-line tools to to work with HDT.")
445(license license:lgpl2.1+)))