New package: liblrdf-0.4.0.

This commit is contained in:
Juan RP 2011-10-23 16:32:01 +02:00
parent cf953b95d4
commit a791c63590
8 changed files with 265 additions and 0 deletions

1
srcpkgs/liblrdf-devel Symbolic link
View File

@ -0,0 +1 @@
liblrdf

2
srcpkgs/liblrdf/depends Normal file
View File

@ -0,0 +1,2 @@
abi_depends=">=0.26"
api_depends="${abi_depends}"

View File

@ -0,0 +1,16 @@
# Template file for 'liblrdf-devel'.
#
short_desc="${short_desc} - Development files"
long_desc="${long_desc}
This package contains files for development, headers, static libs, etc."
Add_dependency run raptor-devel
Add_dependency run liblrdf
do_install()
{
vmove usr/include usr
vmove "usr/lib/*.a" usr/lib
vmove usr/lib/pkgconfig usr/lib
}

View File

@ -0,0 +1,18 @@
--- src/lrdf_md5.h
+++ src/lrdf_md5.h
@@ -32,6 +32,15 @@
#ifndef __MD5_H__
#define __MD5_H__
+/* Change function names to prevent symbol conflicts */
+#define md5_init _lrdf_md5_init
+#define md5_buffer _lrdf_md5_buffer
+#define md5_sig_from_string _lrdf_md5_sig_from_string
+#define md5_finish _lrdf_md5_finish
+#define md5_process _lrdf_md5_process
+#define md5_sig_to_string _lrdf_md5_sig_to_string
+#define md5_get_result _lrdf_md5_get_result
+
/*
* Size of a standard MD5 signature in bytes. This definition is for
* external programs only. The MD5 routines themselves reference the

View File

@ -0,0 +1,9 @@
--- lrdf.pc.in.orig 2011-10-23 16:29:44.031669507 +0200
+++ lrdf.pc.in 2011-10-23 16:30:08.286085186 +0200
@@ -7,4 +7,5 @@ Name: liblrdf
Version: @VERSION@
Description: liblrdf, a lightweight RDF library with extensions for LADSPA
Libs: -L${libdir} -llrdf
-Cflags: -I${includedir}
+Libs.private: @RAPTOR_LIBS@
+Cflags: @RAPTOR_CFLAGS@ -I${includedir}

View File

@ -0,0 +1,193 @@
--- src/Makefile.am
+++ src/Makefile.am
@@ -4,5 +4,5 @@ lib_LTLIBRARIES = liblrdf.la
noinst_HEADERS = lrdf_md5.h md5_loc.h ladspa.h
liblrdf_la_SOURCES = lrdf.c lrdf_multi.c md5.c
-liblrdf_la_LIBADD = -lraptor
+liblrdf_la_LIBADD = -lraptor2
liblrdf_la_LDFLAGS = -version-info @LRDF_LIBTOOL_VERSION@
--- src/lrdf.c
+++ src/lrdf.c
@@ -18,6 +18,7 @@
static unsigned int lrdf_uid = 0; /* A unique(ish) id to append to genid's to
* avoid clashses */
+static raptor_world *world = NULL;
static lrdf_statement *triples = NULL;
static lrdf_statement *free_triples;
static lrdf_string_hash *resources_hash[LRDF_HASH_SIZE];
@@ -43,8 +44,7 @@ static void lrdf_remove_triple_hash(lrdf_triple_hash ** tbl,
lrdf_hash hash, lrdf_statement * s);
static void lrdf_add_closure_hash(lrdf_closure_hash ** tbl,
lrdf_hash subject, lrdf_hash object);
-static void lrdf_store(void *user_data,
- const raptor_statement * statement);
+static void lrdf_store(void *user_data, raptor_statement * statement);
void lrdf_free_statements(lrdf_statement * s);
void lrdf_copy_statement(lrdf_statement * from, lrdf_statement * to);
void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
@@ -71,7 +71,7 @@ void lrdf_init()
unsigned int i;
struct timeval tv;
- raptor_init();
+ world = raptor_new_world();
lrdf_more_triples(256);
/* A UID to add to genids to make them safer */
@@ -112,7 +112,8 @@ void lrdf_more_triples(int count)
void lrdf_cleanup()
{
- raptor_finish();
+ raptor_free_world(world);
+ world = NULL;
lrdf_free_string_hash(resources_hash);
lrdf_free_string_hash(literals_hash);
@@ -232,26 +233,29 @@ void lrdf_remove_matches(lrdf_statement *pattern)
}
}
-static void lrdf_store(void *user_data, const raptor_statement * statement)
+static const char *lrdf_term_as_string(char *tmp, int tmp_len,
+ const raptor_term *term)
+{
+ switch (term->type) {
+ case RAPTOR_TERM_TYPE_URI:
+ return (const char *) raptor_uri_as_string(term->value.uri);
+ case RAPTOR_TERM_TYPE_LITERAL:
+ return (const char *) term->value.literal.string;
+ case RAPTOR_TERM_TYPE_BLANK:
+ snprintf(tmp, tmp_len, "_:%s.%x", term->value.blank.string, lrdf_uid);
+ return tmp;
+ default:
+ return "(?)";
+ }
+}
+
+static void lrdf_store(void *user_data, raptor_statement * statement)
{
lrdf_statement *s = lrdf_alloc_statement();
char tmps[128], tmpp[128], tmpo[128];
- char *subj = (char *) statement->subject,
- *pred = (char *) statement->predicate,
- *obj = (char *) statement->object;
-
- if (statement->subject_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
- snprintf(tmps, 127, "_:%s.%x", subj, lrdf_uid);
- subj = tmps;
- }
- if (statement->predicate_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
- snprintf(tmpp, 127, "_:%s.%x", pred, lrdf_uid);
- pred = tmpp;
- }
- if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
- snprintf(tmpo, 127, "_:%s.%x", obj, lrdf_uid);
- obj = tmpo;
- }
+ const char *subj = lrdf_term_as_string(tmps, 128, statement->subject),
+ *pred = lrdf_term_as_string(tmpp, 128, statement->predicate),
+ *obj = lrdf_term_as_string(tmpo, 128, statement->object);
s->shash = lrdf_gen_hash(subj);
s->phash = lrdf_gen_hash(pred);
@@ -261,7 +265,7 @@ static void lrdf_store(void *user_data, const raptor_statement * statement)
s->subject = lrdf_check_hash(resources_hash, s->shash, subj);
s->predicate = lrdf_check_hash(resources_hash, s->phash, pred);
- if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_LITERAL) {
+ if (statement->object->type == RAPTOR_TERM_TYPE_LITERAL) {
s->object = lrdf_check_hash(literals_hash, s->ohash, obj);
s->object_type = lrdf_literal;
} else {
@@ -537,28 +541,22 @@ void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
free(pathto);
}
-static void lrdf_error_handler(void *data, raptor_locator * locator,
- const char *message);
+static void lrdf_log_handler(void *data, raptor_log_message *message);
-static void lrdf_error_handler(void *data, raptor_locator * locator,
- const char *message)
+static void lrdf_log_handler(void *data, raptor_log_message *message)
{
- fprintf(stderr, "liblrdf: error - ");
- raptor_print_locator(stderr, locator);
- fprintf(stderr, " - %s\n", message);
-
- raptor_parse_abort((raptor_parser*)data);
-}
+ const char *severity = "error";
+ if (message->level == RAPTOR_LOG_LEVEL_WARN) {
+ severity = "warning";
+ }
-static void lrdf_warning_handler(void *data, raptor_locator * locator,
- const char *message);
+ fprintf(stderr, "liblrdf: %s - ", severity);
+ raptor_locator_print(message->locator, stderr);
+ fprintf(stderr, " - %s\n", message->text);
-static void lrdf_warning_handler(void *data, raptor_locator * locator,
- const char *message)
-{
- fprintf(stderr, "liblrdf: warning - ");
- raptor_print_locator(stderr, locator);
- fprintf(stderr, " - %s\n", message);
+ if (message->level != RAPTOR_LOG_LEVEL_WARN) {
+ raptor_parser_parse_abort((raptor_parser*)data);
+ }
}
@@ -593,15 +591,15 @@ int lrdf_read_file_intl(const char *uri)
lrdf_hash source;
//printf("lrdf: reading %s\n", uri);
- ruri = raptor_new_uri(uri);
- furi = raptor_new_uri(uri);
+ ruri = raptor_new_uri(world, (const unsigned char *) uri);
+ furi = raptor_new_uri(world, (const unsigned char *) uri);
source = lrdf_gen_hash(uri);
lrdf_check_hash(resources_hash, source, uri);
if (strstr(uri, ".rdf")) {
- parser = raptor_new_parser("rdfxml");
+ parser = raptor_new_parser(world, "rdfxml");
} else {
- parser = raptor_new_parser("ntriples");
+ parser = raptor_new_parser(world, "ntriples");
}
if (!parser) {
fprintf(stderr, "liblrdf: failed to create parser\n");
@@ -609,12 +607,11 @@ int lrdf_read_file_intl(const char *uri)
return 1;
}
- raptor_set_error_handler(parser, parser, lrdf_error_handler);
- raptor_set_warning_handler(parser, NULL, lrdf_warning_handler);
- raptor_set_statement_handler(parser, &source, lrdf_store);
- raptor_set_default_generate_id_parameters(parser, NULL, ++lrdf_uid);
+ raptor_world_set_log_handler(world, parser, lrdf_log_handler);
+ raptor_parser_set_statement_handler(parser, &source, lrdf_store);
+ raptor_world_set_generate_bnodeid_parameters(world, NULL, ++lrdf_uid);
- if (raptor_parse_file(parser, furi, ruri)) {
+ if (raptor_parser_parse_file(parser, furi, ruri)) {
raptor_free_uri(furi);
raptor_free_uri(ruri);
raptor_free_parser(parser);
--- configure.ac
+++ configure.ac
@@ -18,7 +18,7 @@
AC_HEADER_STDC
AC_CHECK_HEADERS([errno.h limits.h stdlib.h string.h unistd.h])
-PKG_CHECK_MODULES(RAPTOR, raptor >= 0.9.11)
+PKG_CHECK_MODULES(RAPTOR, raptor2 >= 0.9.11)
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

25
srcpkgs/liblrdf/template Normal file
View File

@ -0,0 +1,25 @@
# Template file for 'liblrdf'
pkgname=liblrdf
version=0.4.0
homepage="http://sourceforge.net/projects/lrdf"
distfiles="${SOURCEFORGE_SITE}/lrdf/${pkgname}-${version}.tar.gz"
build_style=gnu_configure
short_desc="A lightweight RDF library with special support for LADSPA plugins"
maintainer="davehome <davehome@redthumb.info.tm>"
license="GPL-2"
checksum=95e98e86ba06ed73a5571cbcff3ee88e481b403b6eb727e9eb182870efd9b204
long_desc="
This package contains ${short_desc}."
subpackages="$pkgname-devel"
Add_dependency run glibc
Add_dependency run libraptor
Add_dependency build automake
Add_dependency build pkg-config
Add_dependency build ladspa-sdk
Add_dependency build raptor-devel
pre_configure() {
autoreconf -fi
}

View File

@ -914,3 +914,4 @@ librubberband.so.2 librubberband rubberband-devel
libaubio.so.2 libaubio aubio-devel
libaubioext.so.2 libaubio aubio-devel
libraptor2.so.0 libraptor raptor-devel
liblrdf.so.2 liblrdf liblrdf-devel