From 51d9060d45df468015a42e0a37d837c1b906e63b Mon Sep 17 00:00:00 2001 From: woglinde Date: Tue, 24 Mar 2009 14:35:04 +0100 Subject: taglib: update to version 1.5 and using cmake for build --- recipes/taglib/files/add_missing_exports_fix.diff | 42 ++++++++++++++++++++++ recipes/taglib/files/gcc_visibility_feature.diff | 40 +++++++++++++++++++++ .../taglib/files/link_interface_libraries_fix.diff | 26 ++++++++++++++ recipes/taglib/taglib_1.5.bb | 28 +++++++++++++++ 4 files changed, 136 insertions(+) create mode 100644 recipes/taglib/files/add_missing_exports_fix.diff create mode 100644 recipes/taglib/files/gcc_visibility_feature.diff create mode 100644 recipes/taglib/files/link_interface_libraries_fix.diff create mode 100644 recipes/taglib/taglib_1.5.bb diff --git a/recipes/taglib/files/add_missing_exports_fix.diff b/recipes/taglib/files/add_missing_exports_fix.diff new file mode 100644 index 0000000000..146710d868 --- /dev/null +++ b/recipes/taglib/files/add_missing_exports_fix.diff @@ -0,0 +1,42 @@ +From: Modestas Vainius +Subject: [PATCH] debian/add_missing_exports + +Add missing exports for a few public ID3v1 functions. + +Signed-off-by: Modestas Vainius + +--- + taglib/mpeg/id3v1/id3v1genres.h | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/taglib/mpeg/id3v1/id3v1genres.h b/taglib/mpeg/id3v1/id3v1genres.h +index 6e5d82e..cb79056 100644 +--- a/taglib/mpeg/id3v1/id3v1genres.h ++++ b/taglib/mpeg/id3v1/id3v1genres.h +@@ -45,21 +45,21 @@ namespace TagLib { + * A "reverse mapping" that goes from the canonical ID3v1 genre name to the + * respective genre number. genreMap()["Rock"] == + */ +- GenreMap genreMap(); ++ GenreMap TAGLIB_EXPORT genreMap(); + + /*! + * Returns the name of the genre at \a index in the ID3v1 genre list. If + * \a index is out of range -- less than zero or greater than 146 -- a null + * string will be returned. + */ +- String genre(int index); ++ String TAGLIB_EXPORT genre(int index); + + /*! + * Returns the genre index for the (case sensitive) genre \a name. If the + * genre is not in the list 255 (which signifies an unknown genre in ID3v1) + * will be returned. + */ +- int genreIndex(const String &name); ++ int TAGLIB_EXPORT genreIndex(const String &name); + } + } + +-- +tg: (2a52182..) general/add_missing_exports_fix (depends on: upstream) diff --git a/recipes/taglib/files/gcc_visibility_feature.diff b/recipes/taglib/files/gcc_visibility_feature.diff new file mode 100644 index 0000000000..eae981933e --- /dev/null +++ b/recipes/taglib/files/gcc_visibility_feature.diff @@ -0,0 +1,40 @@ +From: Modestas Vainius +Subject: [PATCH] debian/gcc_visibility + +Support TAGLIB_EXPORT and TAGLIB_C_EXPORT with >= gcc 4.1. + +Signed-off-by: Modestas Vainius + +--- + bindings/c/tag_c.h | 2 ++ + taglib/taglib_export.h | 2 ++ + 2 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/bindings/c/tag_c.h b/bindings/c/tag_c.h +index d70629e..5e3541a 100644 +--- a/bindings/c/tag_c.h ++++ b/bindings/c/tag_c.h +@@ -35,6 +35,8 @@ extern "C" { + #else + #define TAGLIB_C_EXPORT __declspec(dllimport) + #endif ++#elif defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 1) ++#define TAGLIB_C_EXPORT __attribute__ ((visibility("default"))) + #else + #define TAGLIB_C_EXPORT + #endif +diff --git a/taglib/taglib_export.h b/taglib/taglib_export.h +index d14d69f..6f30b42 100644 +--- a/taglib/taglib_export.h ++++ b/taglib/taglib_export.h +@@ -32,6 +32,8 @@ + #else + #define TAGLIB_EXPORT __declspec(dllimport) + #endif ++#elif defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 1) ++#define TAGLIB_EXPORT __attribute__ ((visibility("default"))) + #else + #define TAGLIB_EXPORT + #endif +-- +tg: (2a52182..) general/gcc_visibility_feature (depends on: upstream) diff --git a/recipes/taglib/files/link_interface_libraries_fix.diff b/recipes/taglib/files/link_interface_libraries_fix.diff new file mode 100644 index 0000000000..fa535e94bb --- /dev/null +++ b/recipes/taglib/files/link_interface_libraries_fix.diff @@ -0,0 +1,26 @@ +From: Modestas Vainius +Subject: [PATCH] debian/link_interface_libraries + +Set libtag LINK_INTERFACE_LIBRARIES to empty string to avoid +extensive recursive linking. + +Signed-off-by: Modestas Vainius + +--- + taglib/CMakeLists.txt | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/taglib/CMakeLists.txt b/taglib/CMakeLists.txt +index c4976f9..ef74465 100644 +--- a/taglib/CMakeLists.txt ++++ b/taglib/CMakeLists.txt +@@ -141,6 +141,7 @@ SET(tag_LIB_SRCS ${mpeg_SRCS} ${id3v1_SRCS} ${id3v2_SRCS} ${frames_SRCS} ${ogg_S + ADD_LIBRARY(tag SHARED ${tag_LIB_SRCS}) + + TARGET_LINK_LIBRARIES(tag ) ++SET_TARGET_PROPERTIES(tag PROPERTIES LINK_INTERFACE_LIBRARIES "") + if(ZLIB_FOUND) + TARGET_LINK_LIBRARIES(tag ${ZLIB_LIBRARIES}) + endif(ZLIB_FOUND) +-- +tg: (2a52182..) general/link_interface_libraries_fix (depends on: upstream) diff --git a/recipes/taglib/taglib_1.5.bb b/recipes/taglib/taglib_1.5.bb new file mode 100644 index 0000000000..f67660faf1 --- /dev/null +++ b/recipes/taglib/taglib_1.5.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "TagLib is a library for reading and editing the meta-data of several popular audio formats" +SECTION = "libs/multimedia" +HOMEPAGE = "http://developer.kde.org/~wheeler/taglib.html" +LICENSE = "LGPL" +PR = "r0" + +SRC_URI = "http://developer.kde.org/~wheeler/files/src/taglib-${PV}.tar.gz \ + file://add_missing_exports_fix.diff;patch=1 \ + file://gcc_visibility_feature.diff;patch=1 \ + file://link_interface_libraries_fix.diff;patch=1 \ + " + +S = "${WORKDIR}/taglib-${PV}" + +inherit cmake pkgconfig binconfig + +do_stage() { + install -d ${STAGING_INCDIR}/${PN} + install -m 0644 ${D}/usr/include/${PN}/*.h ${STAGING_INCDIR}/${PN} + oe_libinstall -C ${PN} -so libtag ${STAGING_LIBDIR} +} + +LEAD_SONAME = "libtag.so.1" + +PACKAGES =+ "${PN}-c" + +FILES_${PN} = "${libdir}/libtag.so.*" +FILES_${PN}-c = "${libdir}/libtag_c.so.*" -- cgit v1.2.3