Use raptor2 instead of raptor wrt bug #375025
authorSamuli Suominen <ssuominen@gentoo.org>
Fri, 29 Jul 2011 06:47:41 +0000 (06:47 +0000)
committerSamuli Suominen <ssuominen@gentoo.org>
Fri, 29 Jul 2011 06:47:41 +0000 (06:47 +0000)
Package-Manager: portage-2.2.0_alpha47/cvs/Linux x86_64

media-libs/liblrdf/ChangeLog
media-libs/liblrdf/Manifest
media-libs/liblrdf/files/liblrdf-0.4.0-dontbuild-tests.patch
media-libs/liblrdf/files/liblrdf-0.4.0-raptor2.patch [new file with mode: 0644]
media-libs/liblrdf/liblrdf-0.4.0-r20.ebuild [new file with mode: 0644]

index 50c8eecbfc3312a9d577f688fcf2327e53f5eedc..9417135f61bf6b846d0f0283cce95c3700b238c3 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-libs/liblrdf
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/liblrdf/ChangeLog,v 1.38 2010/10/24 16:58:22 armin76 Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/liblrdf/ChangeLog,v 1.39 2011/07/29 06:47:40 ssuominen Exp $
+
+*liblrdf-0.4.0-r20 (29 Jul 2011)
+
+  29 Jul 2011; Samuli Suominen <ssuominen@gentoo.org>
+  +liblrdf-0.4.0-r20.ebuild, +files/liblrdf-0.4.0-raptor2.patch:
+  Use raptor2 instead of raptor wrt bug #375025
 
   24 Oct 2010; Raúl Porcel <armin76@gentoo.org> liblrdf-0.4.0.ebuild:
   Drop sparc keywords
index 2c2bee056e5404bb060e593dac4377d1b0db7e44..16e680360b00fd25fb287b656f18dbd46a839afc 100644 (file)
@@ -1,5 +1,17 @@
-AUX liblrdf-0.4.0-dontbuild-tests.patch 591 RMD160 3e335ec9be07d2082c14ea63bdf30d501a9a2f00 SHA1 2426c339491eb6ed5b3b58a3ebea7cccbdd457f4 SHA256 f6fa7c57c21fcc4003a0f6902827c2ca5725f822080ca1cc9c4de1b7bbf8459c
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+AUX liblrdf-0.4.0-dontbuild-tests.patch 479 RMD160 f8468291bedb71e369c47570b9a005e0dad43505 SHA1 f67d222e4a96b5d9ae81e863a02bf1ef6e8e5918 SHA256 e3418adcd2f627152880bff26f5e59e2b79fd6096a6f265dcc6fad9d0e4cd4dd
+AUX liblrdf-0.4.0-raptor2.patch 7041 RMD160 5afc8cc1f79320de734ea244905d8545ea5cdfa2 SHA1 a189371033e853852f1b76afd611f78af8007eba SHA256 499cce2b11e66e05957e125c4baff33eed266c9a1e1485cbc71df451a880de8f
 DIST liblrdf-0.4.0.tar.gz 336959 RMD160 2cb371c99552ac3045b72e20786494575ded37d8 SHA1 17ce55f692bc52ed12605091b99106255f964b5f SHA256 95e98e86ba06ed73a5571cbcff3ee88e481b403b6eb727e9eb182870efd9b204
+EBUILD liblrdf-0.4.0-r20.ebuild 896 RMD160 6c21d0ccd09f93e1308d8a0a320d1f68881241bd SHA1 e77b6e11a0731f231866ceb7f65ce9e34e0e744c SHA256 17fc44831efdd6a67f6aa4d7b04bf20b0523346f51b65b621fd35ba13350f283
 EBUILD liblrdf-0.4.0.ebuild 804 RMD160 6651300089f968e82a637273948394c5ec63d5a6 SHA1 3593fd6bd3688d13ee539f409331394b7b3a26fd SHA256 d9fc42bc1e66b5940628a4e8df76234f0b697df9bc26ee93b67017f17d5a2cef
-MISC ChangeLog 4661 RMD160 711bafeba3877e8d2e6f8bc8a060885fe89afb65 SHA1 36d8f5081abd79f557d191fe20ce006bd383f30a SHA256 40d7bda9acfea07bc8fcb39c06dd58503053bc3e13736698181c3a4e142a31af
+MISC ChangeLog 4865 RMD160 c698eb8f44f4a5a2892a3f71b871097005503570 SHA1 6e6007b07183865f5563cd4c022208d567d3d9c4 SHA256 7571c08d15dda6d7eb751332866b2db38306eb81e3a384b3e425ed90e8a7ce0d
 MISC metadata.xml 158 RMD160 6842e2189a50bd8a98e84802c38180ac1421c00e SHA1 703cea5a2109d41f7c87993c1f01d418a4c85174 SHA256 dfb5b47e6836db39fb187301dfcff1c2605e91d13d21db160806a563d8c75f9b
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iF4EAREIAAYFAk4yVw8ACgkQXkR9YqOcLPHKMwD9EcPfp/Cqi3lbR7Jse+LoYQIS
+5zGSxOg3ziF0gfWxUf0A/jw9dTb1c5zRnhpYdb+4k5CazrxbdLeoc1ccaGeVLMKi
+=Zxst
+-----END PGP SIGNATURE-----
index 4f7d783e8f0a399786b949d8dd4200f73157bfb6..fdb683d5c70bd00fbe5e6733f8bf1292cbcce712 100644 (file)
@@ -1,7 +1,7 @@
-Index: liblrdf-0.4.0/examples/Makefile.am
-===================================================================
---- liblrdf-0.4.0.orig/examples/Makefile.am
-+++ liblrdf-0.4.0/examples/Makefile.am
+http://bugs.gentoo.org/226281
+
+--- examples/Makefile.am
++++ examples/Makefile.am
 @@ -1,7 +1,9 @@
 -noinst_PROGRAMS = showdefaults showtaxonomy dumpstatements export_test \
 -      subclass_test add_test instances_test remove_test multi_test \
diff --git a/media-libs/liblrdf/files/liblrdf-0.4.0-raptor2.patch b/media-libs/liblrdf/files/liblrdf-0.4.0-raptor2.patch
new file mode 100644 (file)
index 0000000..1d20248
--- /dev/null
@@ -0,0 +1,195 @@
+http://projects.archlinux.org/svntogit/packages.git/plain/liblrdf/trunk/raptor2.diff
+
+--- 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/media-libs/liblrdf/liblrdf-0.4.0-r20.ebuild b/media-libs/liblrdf/liblrdf-0.4.0-r20.ebuild
new file mode 100644 (file)
index 0000000..8bdf581
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/liblrdf/liblrdf-0.4.0-r20.ebuild,v 1.1 2011/07/29 06:47:40 ssuominen Exp $
+
+EAPI=4
+inherit autotools eutils
+
+DESCRIPTION="A library for the manipulation of RDF file in LADSPA plugins"
+HOMEPAGE="http://lrdf.sourceforge.net/"
+SRC_URI="mirror://sourceforge/lrdf/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="static-libs"
+
+RDEPEND="media-libs/raptor:2
+       >=media-libs/ladspa-sdk-1.12"
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README )
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-{dontbuild-tests,raptor2}.patch
+       eautoreconf
+}
+
+src_configure() {
+       econf $(use_enable static-libs static)
+}
+
+src_install() {
+       default
+       rm -f "${ED}"usr/lib*/liblrdf.la
+}