diff --git a/libs/taglib/Makefile b/libs/taglib/Makefile index 59777f69d..c4f956a91 100644 --- a/libs/taglib/Makefile +++ b/libs/taglib/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2007-2008 OpenWrt.org +# Copyright (C) 2007-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,17 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=taglib -PKG_VERSION:=1.4 -PKG_RELEASE:=2 +PKG_VERSION:=1.6.3 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://developer.kde.org/~wheeler/files/src/ -PKG_MD5SUM:=dcd50ddb2544faeae77f194804559404 -PKG_FIXUP:=libtool-ucxx +PKG_MD5SUM:=ddf02f4e1d2dc30f76734df806e613eb include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk -PKG_INSTALL=1 +PKG_INSTALL:=1 define Package/taglib SECTION:=libs @@ -37,17 +37,7 @@ define Package/taglibc endef TARGET_CFLAGS += $(FPIC) - -CONFIGURE_ARGS += \ - --enable-shared \ - --enable-static \ - --enable-final \ - -CONFIGURE_VARS += \ - CXX="g++-uc" - -MAKE_FLAGS += \ - CXX="g++-uc" +CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER="g++-uc" define Build/InstallDev $(INSTALL_DIR) $(2)/bin @@ -60,7 +50,7 @@ define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib $(CP) \ - $(PKG_INSTALL_DIR)/usr/lib/libtag{,_c}.{la,a,so*} \ + $(PKG_INSTALL_DIR)/usr/lib/libtag{,_c}.so* \ $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/include/taglib $(INSTALL_DATA) \ diff --git a/libs/taglib/patches/100-uclibc++-compat.patch b/libs/taglib/patches/100-uclibc++-compat.patch new file mode 100644 index 000000000..69a175e1a --- /dev/null +++ b/libs/taglib/patches/100-uclibc++-compat.patch @@ -0,0 +1,49 @@ +--- a/taglib/toolkit/tlist.h ++++ b/taglib/toolkit/tlist.h +@@ -226,6 +226,7 @@ namespace TagLib { + * the same. + */ + bool operator==(const List &l) const; ++ bool operator!=(const List &l) const; + + protected: + /* +--- a/taglib/toolkit/tlist.tcc ++++ b/taglib/toolkit/tlist.tcc +@@ -300,6 +300,12 @@ bool List::operator==(const List & + return d->list == l.d->list; + } + ++template ++bool List::operator!=(const List &l) const ++{ ++ return !(operator==(l)); ++} ++ + //////////////////////////////////////////////////////////////////////////////// + // protected members + //////////////////////////////////////////////////////////////////////////////// +--- a/taglib/toolkit/tstring.cpp ++++ b/taglib/toolkit/tstring.cpp +@@ -546,6 +546,11 @@ bool String::operator==(const String &s) + return d == s.d || d->data == s.d->data; + } + ++bool String::operator!=(const String &s) const ++{ ++ return !(operator==(s)); ++} ++ + String &String::operator+=(const String &s) + { + detach(); +--- a/taglib/toolkit/tstring.h ++++ b/taglib/toolkit/tstring.h +@@ -342,6 +342,7 @@ namespace TagLib { + * returns true if the strings match. + */ + bool operator==(const String &s) const; ++ bool operator!=(const String &s) const; + + /*! + * Appends \a s to the end of the String.