# HG changeset patch # User Christopher Rogers # Date 1341440014 0 # Node ID 2d16b44923367fdef35fb7a56061ef282aa4810d # Parent 61cb21c88190a4b76a5a0a8a6f49b783d1cb2b0b liblrdf: Add patches to support raptor 2.0.x and clean up. diff -r 61cb21c88190 -r 2d16b4492336 liblrdf-dev/receipt --- a/liblrdf-dev/receipt Wed Jul 04 22:11:55 2012 +0000 +++ b/liblrdf-dev/receipt Wed Jul 04 22:13:34 2012 +0000 @@ -14,7 +14,7 @@ genpkg_rules() { mkdir -p $fs/usr/lib - cp -a $_pkg/usr/lib/*.*a $fs/usr/lib - cp -a $_pkg/usr/lib/pkgconfig $fs/usr/lib - cp -a $_pkg/usr/include $fs/usr + cp -a $install/usr/lib/*.*a $fs/usr/lib + cp -a $install/usr/lib/pkgconfig $fs/usr/lib + cp -a $install/usr/include $fs/usr } diff -r 61cb21c88190 -r 2d16b4492336 liblrdf/receipt --- a/liblrdf/receipt Wed Jul 04 22:11:55 2012 +0000 +++ b/liblrdf/receipt Wed Jul 04 22:13:34 2012 +0000 @@ -13,15 +13,20 @@ BUILD_DEPENDS="raptor-dev ladspa-dev curl-dev libxslt-dev" # Rules to configure and make the package. - -compile_rules() { - ./configure $CONFIGURE_ARGS && make && make install +compile_rules() +{ + cd $src + patch -Np1 -i $stuff/md5.patch + patch -Np0 -i $stuff/raptor2.diff + patch -Np1 -i $stuff/pkgconfig-raptor.patch + autoreconf -vfi + ./configure $CONFIGURE_ARGS && make && make install } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { mkdir -p $fs/usr/lib $fs/usr/share - cp -a $_pkg/usr/lib/*so* $fs/usr/lib/ - cp -a $_pkg/usr/share/ladspa $fs/usr/share + cp -a $install/usr/lib/*so* $fs/usr/lib/ + cp -a $install/usr/share/ladspa $fs/usr/share } diff -r 61cb21c88190 -r 2d16b4492336 liblrdf/stuff/md5.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/liblrdf/stuff/md5.patch Wed Jul 04 22:13:34 2012 +0000 @@ -0,0 +1,18 @@ +--- liblrdf-0.4.0.orig/src/lrdf_md5.h ++++ liblrdf-0.4.0/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 diff -r 61cb21c88190 -r 2d16b4492336 liblrdf/stuff/pkgconfig-raptor.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/liblrdf/stuff/pkgconfig-raptor.patch Wed Jul 04 22:13:34 2012 +0000 @@ -0,0 +1,9 @@ +--- liblrdf-0.4.0/lrdf.pc.in.orig 2011-10-03 19:28:16.702773254 +0000 ++++ liblrdf-0.4.0/lrdf.pc.in 2011-10-03 19:28:43.003017477 +0000 +@@ -7,4 +7,5 @@ + 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} diff -r 61cb21c88190 -r 2d16b4492336 liblrdf/stuff/raptor2.diff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/liblrdf/stuff/raptor2.diff Wed Jul 04 22:13:34 2012 +0000 @@ -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