[oe-commits] woglinde : taglib: update to version 1.5 and using cmake for build

GIT User account git at amethyst.openembedded.net
Sat Mar 28 23:37:29 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 51d9060d45df468015a42e0a37d837c1b906e63b
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=51d9060d45df468015a42e0a37d837c1b906e63b

Author: woglinde <heinold at inf.fu-berlin.de>
Date:   Tue Mar 24 14:35:04 2009 +0100

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(+), 0 deletions(-)

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 0000000..146710d
--- /dev/null
+++ b/recipes/taglib/files/add_missing_exports_fix.diff
@@ -0,0 +1,42 @@
+From: Modestas Vainius <modestas at vainius.eu>
+Subject: [PATCH] debian/add_missing_exports
+
+Add missing exports for a few public ID3v1 functions.
+
+Signed-off-by: Modestas Vainius <modestas at vainius.eu>
+
+---
+ 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 0000000..eae9819
--- /dev/null
+++ b/recipes/taglib/files/gcc_visibility_feature.diff
@@ -0,0 +1,40 @@
+From: Modestas Vainius <modestas at vainius.eu>
+Subject: [PATCH] debian/gcc_visibility
+
+Support TAGLIB_EXPORT and TAGLIB_C_EXPORT with >= gcc 4.1.
+
+Signed-off-by: Modestas Vainius <modestas at vainius.eu>
+
+---
+ 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 0000000..fa535e9
--- /dev/null
+++ b/recipes/taglib/files/link_interface_libraries_fix.diff
@@ -0,0 +1,26 @@
+From: Modestas Vainius <modestas at vainius.eu>
+Subject: [PATCH] debian/link_interface_libraries
+
+Set libtag LINK_INTERFACE_LIBRARIES to empty string to avoid
+extensive recursive linking.
+
+Signed-off-by: Modestas Vainius <modestas at vainius.eu>
+
+---
+ 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 0000000..f67660f
--- /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.*"





More information about the Openembedded-commits mailing list