diff --git a/srcpkgs/liblrdf-devel b/srcpkgs/liblrdf-devel new file mode 120000 index 0000000000..16ac0624d1 --- /dev/null +++ b/srcpkgs/liblrdf-devel @@ -0,0 +1 @@ +liblrdf \ No newline at end of file diff --git a/srcpkgs/liblrdf/depends b/srcpkgs/liblrdf/depends new file mode 100644 index 0000000000..95ffe5f1fc --- /dev/null +++ b/srcpkgs/liblrdf/depends @@ -0,0 +1,2 @@ +abi_depends=">=0.26" +api_depends="${abi_depends}" diff --git a/srcpkgs/liblrdf/liblrdf-devel.template b/srcpkgs/liblrdf/liblrdf-devel.template new file mode 100644 index 0000000000..f0d3e13ef3 --- /dev/null +++ b/srcpkgs/liblrdf/liblrdf-devel.template @@ -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 +} diff --git a/srcpkgs/liblrdf/patches/md5.patch b/srcpkgs/liblrdf/patches/md5.patch new file mode 100644 index 0000000000..f3c63af50a --- /dev/null +++ b/srcpkgs/liblrdf/patches/md5.patch @@ -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 diff --git a/srcpkgs/liblrdf/patches/pkgconfig-raptor.patch b/srcpkgs/liblrdf/patches/pkgconfig-raptor.patch new file mode 100644 index 0000000000..c5a2bdce30 --- /dev/null +++ b/srcpkgs/liblrdf/patches/pkgconfig-raptor.patch @@ -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} diff --git a/srcpkgs/liblrdf/patches/raptor2.patch b/srcpkgs/liblrdf/patches/raptor2.patch new file mode 100644 index 0000000000..77f1ad0e3c --- /dev/null +++ b/srcpkgs/liblrdf/patches/raptor2.patch @@ -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 diff --git a/srcpkgs/liblrdf/template b/srcpkgs/liblrdf/template new file mode 100644 index 0000000000..093b8b5b40 --- /dev/null +++ b/srcpkgs/liblrdf/template @@ -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 " +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 +} diff --git a/xbps-src/common/mapping_shlib_binpkg.txt b/xbps-src/common/mapping_shlib_binpkg.txt index 3c8f0b23f5..49c53c5dc6 100644 --- a/xbps-src/common/mapping_shlib_binpkg.txt +++ b/xbps-src/common/mapping_shlib_binpkg.txt @@ -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