diff --git a/taglib-1.8-ds-rusxmms-r2.patch b/taglib-1.8-ds-rusxmms-r4.patch similarity index 76% rename from taglib-1.8-ds-rusxmms-r2.patch rename to taglib-1.8-ds-rusxmms-r4.patch index 07cd001..308331b 100644 --- a/taglib-1.8-ds-rusxmms-r2.patch +++ b/taglib-1.8-ds-rusxmms-r4.patch @@ -1,6 +1,6 @@ diff -dPNur taglib-1.8/config-taglib.h.cmake taglib-1.8-ds/config-taglib.h.cmake --- taglib-1.8/config-taglib.h.cmake 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/config-taglib.h.cmake 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/config-taglib.h.cmake 2013-04-24 17:44:12.000000000 +0200 @@ -3,6 +3,8 @@ /* Define if you have libz */ #cmakedefine HAVE_ZLIB 1 @@ -12,7 +12,7 @@ diff -dPNur taglib-1.8/config-taglib.h.cmake taglib-1.8-ds/config-taglib.h.cmake #cmakedefine WITH_MP4 1 diff -dPNur taglib-1.8/ConfigureChecks.cmake taglib-1.8-ds/ConfigureChecks.cmake --- taglib-1.8/ConfigureChecks.cmake 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/ConfigureChecks.cmake 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/ConfigureChecks.cmake 2013-04-24 17:44:12.000000000 +0200 @@ -14,6 +14,8 @@ set(HAVE_ZLIB 0) endif() @@ -22,9 +22,21 @@ diff -dPNur taglib-1.8/ConfigureChecks.cmake taglib-1.8-ds/ConfigureChecks.cmake set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) find_package(CppUnit) if(NOT CppUnit_FOUND AND BUILD_TESTS) +diff -dPNur taglib-1.8/examples/tagreader_c.c taglib-1.8-ds/examples/tagreader_c.c +--- taglib-1.8/examples/tagreader_c.c 2012-09-06 20:03:15.000000000 +0200 ++++ taglib-1.8-ds/examples/tagreader_c.c 2013-04-24 19:10:37.000000000 +0200 +@@ -38,7 +38,7 @@ + TagLib_Tag *tag; + const TagLib_AudioProperties *properties; + +- taglib_set_strings_unicode(FALSE); ++// taglib_set_strings_unicode(FALSE); + + for(i = 1; i < argc; i++) { + printf("******************** \"%s\" ********************\n", argv[i]); diff -dPNur taglib-1.8/taglib/CMakeLists.txt taglib-1.8-ds/taglib/CMakeLists.txt --- taglib-1.8/taglib/CMakeLists.txt 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/taglib/CMakeLists.txt 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/taglib/CMakeLists.txt 2013-04-24 17:44:12.000000000 +0200 @@ -35,6 +35,7 @@ audioproperties.h taglib_export.h @@ -52,7 +64,7 @@ diff -dPNur taglib-1.8/taglib/CMakeLists.txt taglib-1.8-ds/taglib/CMakeLists.txt set_target_properties(tag PROPERTIES diff -dPNur taglib-1.8/taglib/mpeg/id3v1/id3v1tag.cpp taglib-1.8-ds/taglib/mpeg/id3v1/id3v1tag.cpp --- taglib-1.8/taglib/mpeg/id3v1/id3v1tag.cpp 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/taglib/mpeg/id3v1/id3v1tag.cpp 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/taglib/mpeg/id3v1/id3v1tag.cpp 2013-04-24 17:44:12.000000000 +0200 @@ -64,17 +64,18 @@ String ID3v1::StringHandler::parse(const ByteVector &data) const @@ -85,7 +97,7 @@ diff -dPNur taglib-1.8/taglib/mpeg/id3v1/id3v1tag.cpp taglib-1.8-ds/taglib/mpeg/ diff -dPNur taglib-1.8/taglib/mpeg/id3v2/frames/commentsframe.cpp taglib-1.8-ds/taglib/mpeg/id3v2/frames/commentsframe.cpp --- taglib-1.8/taglib/mpeg/id3v2/frames/commentsframe.cpp 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/taglib/mpeg/id3v2/frames/commentsframe.cpp 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/taglib/mpeg/id3v2/frames/commentsframe.cpp 2013-04-24 17:44:12.000000000 +0200 @@ -150,10 +150,10 @@ return; } @@ -116,7 +128,7 @@ diff -dPNur taglib-1.8/taglib/mpeg/id3v2/frames/commentsframe.cpp taglib-1.8-ds/ v.append(textDelimiter(encoding)); diff -dPNur taglib-1.8/taglib/mpeg/id3v2/frames/textidentificationframe.cpp taglib-1.8-ds/taglib/mpeg/id3v2/frames/textidentificationframe.cpp --- taglib-1.8/taglib/mpeg/id3v2/frames/textidentificationframe.cpp 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/taglib/mpeg/id3v2/frames/textidentificationframe.cpp 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/taglib/mpeg/id3v2/frames/textidentificationframe.cpp 2013-04-24 17:44:12.000000000 +0200 @@ -187,12 +187,12 @@ // read the string data type (the first byte of the field data) @@ -151,8 +163,8 @@ diff -dPNur taglib-1.8/taglib/mpeg/id3v2/frames/textidentificationframe.cpp tagl diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/rccpatch.cpp --- taglib-1.8/taglib/toolkit/rccpatch.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ taglib-1.8-ds/taglib/toolkit/rccpatch.cpp 2013-01-29 12:35:45.000000000 +0100 -@@ -0,0 +1,192 @@ ++++ taglib-1.8-ds/taglib/toolkit/rccpatch.cpp 2013-04-24 17:44:12.000000000 +0200 +@@ -0,0 +1,195 @@ +#include + +#include @@ -188,7 +200,7 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ +#endif /* HAVE_LIBRCC */ + + -+void rccPatchFree() { ++void rccTaglibPatchFree() { +#ifdef HAVE_LIBRCC + if (rcc_initialized) { + rccFree(); @@ -197,7 +209,7 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ +#endif /* HAVE_LIBRCC */ +} + -+void rccPatchInit() { ++void rccTaglibPatchInit() { +#ifdef HAVE_LIBRCC + if (rcc_initialized) return; + rccInit(); @@ -208,7 +220,7 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ +#endif /* HAVE_LIBRCC */ +} + -+void rccPatchSetContext(void *newctx) { ++void rccTaglibPatchSetContext(void *newctx) { +#ifdef HAVE_LIBRCC + if (newctx) { + ctx = (rcc_context)newctx; @@ -217,23 +229,23 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ +#endif /* HAVE_LIBRCC */ +} + -+static void rccPatchTryInit() { ++static void rccTaglibPatchTryInit() { +#ifdef HAVE_LIBRCC + if (!rcc_initialized) { -+ rccPatchInit(); -+ if (rcc_initialized) atexit(rccPatchFree); ++ rccTaglibPatchInit(); ++ if (rcc_initialized) atexit(rccTaglibPatchFree); + } +#endif /* HAVE_LIBRCC */ +} + + -+TagLib::ByteVector rccPatchRecodeOutput(const std::string &s) { ++TagLib::ByteVector rccTaglibPatchRecodeOutput(const std::string &s) { + TagLib::ByteVector v; +#ifdef HAVE_LIBRCC + size_t rlen; + char *res; + -+ rccPatchTryInit(); ++ rccTaglibPatchTryInit(); + + res = rccSizedRecode(ctx, UTF_CLASS, OUT_CLASS, s.c_str(), s.length(), &rlen); + if (res) v.setData(res, rlen); @@ -247,13 +259,13 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ +#endif /* HAVE_LIBRCC */ +} + -+TagLib::ByteVector rccPatchRecodeOutputID3(const std::string &s, bool v2 = false) { ++TagLib::ByteVector rccTaglibPatchRecodeOutputID3(const std::string &s, bool v2 = false) { + TagLib::ByteVector v; +#ifdef HAVE_LIBRCC + size_t rlen; + char *res; + -+ rccPatchTryInit(); ++ rccTaglibPatchTryInit(); + + res = rccSizedRecode(ctx, UTF_CLASS, v2?ID3V2_CLASS:ID3_CLASS, s.c_str(), s.length(), &rlen); + if (res) v.setData(res, rlen); @@ -267,13 +279,13 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ +#endif /* HAVE_LIBRCC */ +} + -+TagLib::ByteVector rccPatchRecodeInput(const std::string &s) { ++TagLib::ByteVector rccTaglibPatchRecodeInput(const std::string &s) { + TagLib::ByteVector v; +#ifdef HAVE_LIBRCC + size_t rlen; + char *res; + -+ rccPatchTryInit(); ++ rccTaglibPatchTryInit(); + + res = rccSizedRecode(ctx, OUT_CLASS, UTF_CLASS, s.c_str(), s.length(), &rlen); + if (res) v.setData(res, rlen); @@ -284,13 +296,13 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ + return v; +} + -+TagLib::ByteVector rccPatchRecodeInputID3(const std::string &s, bool v2 = false) { ++TagLib::ByteVector rccTaglibPatchRecodeInputID3(const std::string &s, bool v2 = false) { + TagLib::ByteVector v; +#ifdef HAVE_LIBRCC + size_t rlen; + char *res; + -+ rccPatchTryInit(); ++ rccTaglibPatchTryInit(); + + res = rccSizedRecode(ctx, v2?ID3V2_CLASS:ID3_CLASS, UTF_CLASS, s.c_str(), s.length(), &rlen); + if (res) v.setData(res, rlen); @@ -301,12 +313,12 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ + return v; +} + -+TagLib::String::Type rccPatchGetLocaleType() { ++TagLib::String::Type rccTaglibPatchGetLocaleType() { +#ifdef HAVE_LIBRCC + size_t len; + char charset[32]; + -+ rccPatchTryInit(); ++ rccTaglibPatchTryInit(); + + if (!rccLocaleGetCharset(charset, NULL, 31)) { + if (!strncmp(charset, "UTF", 3)) { @@ -323,12 +335,12 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ + return TagLib::String::UTF8; +} + -+TagLib::String::Type rccPatchGetID3Type() { ++TagLib::String::Type rccTaglibPatchGetID3Type() { +#ifdef HAVE_LIBRCC + size_t len; + const char *charset; + -+ rccPatchTryInit(); ++ rccTaglibPatchTryInit(); + + charset = rccGetCurrentCharsetName(ctx, ID3V2_CLASS); + if (charset) { @@ -341,13 +353,16 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.cpp taglib-1.8-ds/taglib/toolkit/ + if (!strcmp(charset+(len-4),"16BE")) return TagLib::String::UTF16BE; + } + return TagLib::String::Latin1ID3V2; ++ } else { ++ // Error or no-language configured: If Latin1ID3V2 is returned we normally will use the default unicode encoding unless Latin1 is selected by taglib ++ return TagLib::String::Latin1ID3V2; + } +#endif /* HAVE_LIBRCC */ + return TagLib::String::Latin1; +} diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.h taglib-1.8-ds/taglib/toolkit/rccpatch.h --- taglib-1.8/taglib/toolkit/rccpatch.h 1970-01-01 01:00:00.000000000 +0100 -+++ taglib-1.8-ds/taglib/toolkit/rccpatch.h 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/taglib/toolkit/rccpatch.h 2013-04-24 17:44:12.000000000 +0200 @@ -0,0 +1,20 @@ +#ifndef _RCC_PATCH_H +#define _RCC_PATCH_H @@ -356,22 +371,22 @@ diff -dPNur taglib-1.8/taglib/toolkit/rccpatch.h taglib-1.8-ds/taglib/toolkit/rc +#include "tstring.h" +#include "tbytevector.h" + -+void rccPatchFree(); -+void rccPatchInit(); -+void rccPatchSetContext(void *newctx); ++void rccTaglibPatchFree(); ++void rccTaglibPatchInit(); ++void rccTaglibPatchSetContext(void *newctx); + -+TagLib::ByteVector rccPatchRecodeOutput(const std::string &s); -+TagLib::ByteVector rccPatchRecodeInput(const std::string &s); -+TagLib::ByteVector rccPatchRecodeOutputID3(const std::string &s, bool v2 = false); -+TagLib::ByteVector rccPatchRecodeInputID3(const std::string &s, bool v2 = false); ++TagLib::ByteVector rccTaglibPatchRecodeOutput(const std::string &s); ++TagLib::ByteVector rccTaglibPatchRecodeInput(const std::string &s); ++TagLib::ByteVector rccTaglibPatchRecodeOutputID3(const std::string &s, bool v2 = false); ++TagLib::ByteVector rccTaglibPatchRecodeInputID3(const std::string &s, bool v2 = false); + -+TagLib::String::Type rccPatchGetLocaleType(); -+TagLib::String::Type rccPatchGetID3Type(); ++TagLib::String::Type rccTaglibPatchGetLocaleType(); ++TagLib::String::Type rccTaglibPatchGetID3Type(); + +#endif /* _RCC_PATCH_H */ diff -dPNur taglib-1.8/taglib/toolkit/tstring.cpp taglib-1.8-ds/taglib/toolkit/tstring.cpp --- taglib-1.8/taglib/toolkit/tstring.cpp 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/taglib/toolkit/tstring.cpp 2013-01-29 12:46:14.000000000 +0100 ++++ taglib-1.8-ds/taglib/toolkit/tstring.cpp 2013-04-24 17:48:10.000000000 +0200 @@ -23,6 +23,7 @@ * http://www.mozilla.org/MPL/ * ***************************************************************************/ @@ -389,42 +404,44 @@ diff -dPNur taglib-1.8/taglib/toolkit/tstring.cpp taglib-1.8-ds/taglib/toolkit/t int length = 0; d->data.resize(v.size()); -@@ -397,10 +398,21 @@ +@@ -397,8 +398,24 @@ { ByteVector v; -- switch(t) { -+ if (t == Locale) t = rccPatchGetLocaleType(); - -+ switch(t) { ++ if (t == Locale) t = rccTaglibPatchGetLocaleType(); ++ + switch(t) { + case Locale: - case Latin1: + case Latin1ID3: + case Latin1ID3V2: - { ++ { + std::string s = to8Bit(true); -+ if (t == Latin1ID3) v = rccPatchRecodeOutputID3(s, false); -+ else if (t == Latin1ID3V2) v = rccPatchRecodeOutputID3(s, true); -+ else /* if (t == Latin1(Locale) */ v = rccPatchRecodeOutput(s); -+ ++ if (t == Latin1ID3) v = rccTaglibPatchRecodeOutputID3(s, false); ++ else if (t == Latin1ID3V2) v = rccTaglibPatchRecodeOutputID3(s, true); ++ else /* if (t == Latin1(Locale) */ v = rccTaglibPatchRecodeOutput(s); + + if (v.size()) return v; + ++ for(wstring::const_iterator it = d->data.begin(); it != d->data.end(); it++) ++ v.append(char(*it)); ++ break; ++ } + case Latin1: + { for(wstring::const_iterator it = d->data.begin(); it != d->data.end(); it++) - v.append(char(*it)); - break; -@@ -750,6 +762,30 @@ +@@ -750,6 +767,30 @@ void String::prepare(Type t) { -+ if (t == Locale) t = rccPatchGetLocaleType(); ++ if (t == Locale) t = rccTaglibPatchGetLocaleType(); + + if ((t == Latin1)||(t == Latin1ID3)||(t == Latin1ID3V2)) { + std::string s = to8Bit(false); + ByteVector v; + -+ if (t == Latin1ID3) v = rccPatchRecodeInputID3(s, false); -+ else if (t == Latin1ID3V2) v = rccPatchRecodeInputID3(s, true); -+ else /* Latin1 converted from Locale */ v = rccPatchRecodeInput(s); ++ if (t == Latin1ID3) v = rccTaglibPatchRecodeInputID3(s, false); ++ else if (t == Latin1ID3V2) v = rccTaglibPatchRecodeInputID3(s, true); ++ else /* Latin1 converted from Locale */ v = rccTaglibPatchRecodeInput(s); + + if (v.size()) { + int length = 0; @@ -443,7 +460,7 @@ diff -dPNur taglib-1.8/taglib/toolkit/tstring.cpp taglib-1.8-ds/taglib/toolkit/t switch(t) { case UTF16: { -@@ -839,6 +875,27 @@ +@@ -839,6 +880,27 @@ std::ostream &operator<<(std::ostream &s, const String &str) { @@ -459,8 +476,8 @@ diff -dPNur taglib-1.8/taglib/toolkit/tstring.cpp taglib-1.8-ds/taglib/toolkit/t +}; + +String::Type String::ID3WType(Type type) { -+ Type rcc_type = rccPatchGetID3Type(); -+ if ((rcc_type == Latin1ID3)||(rcc_type == Latin1ID3V2)) { ++ Type rcc_type = rccTaglibPatchGetID3Type(); ++ if ((rcc_type == Latin1ID3)||(rcc_type == Latin1ID3V2)||(rcc_type == Latin1)) { + if (type == Latin1) return rcc_type; + return type; + } @@ -474,7 +491,7 @@ diff -dPNur taglib-1.8/taglib/toolkit/tstring.cpp taglib-1.8-ds/taglib/toolkit/t +} diff -dPNur taglib-1.8/taglib/toolkit/tstring.h taglib-1.8-ds/taglib/toolkit/tstring.h --- taglib-1.8/taglib/toolkit/tstring.h 2012-09-06 20:03:15.000000000 +0200 -+++ taglib-1.8-ds/taglib/toolkit/tstring.h 2013-01-29 12:45:48.000000000 +0100 ++++ taglib-1.8-ds/taglib/toolkit/tstring.h 2013-04-24 17:44:12.000000000 +0200 @@ -90,6 +90,18 @@ */ enum Type { diff --git a/taglib-1.8-strip-rpath.patch b/taglib-1.8-strip-rpath.patch new file mode 100644 index 0000000..6efbf4f --- /dev/null +++ b/taglib-1.8-strip-rpath.patch @@ -0,0 +1,29 @@ +Index: examples/CMakeLists.txt +=================================================================== +--- examples/CMakeLists.txt.orig 2012-09-06 20:03:15.000000000 +0200 ++++ examples/CMakeLists.txt 2013-04-23 08:44:33.938480393 +0200 +@@ -11,6 +11,8 @@ if(ENABLE_STATIC) + add_definitions(-DTAGLIB_STATIC) + endif(ENABLE_STATIC) + ++SET(CMAKE_SKIP_BUILD_RPATH TRUE) ++ + ########### next target ############### + + ADD_EXECUTABLE(tagreader tagreader.cpp) +@@ -45,6 +47,14 @@ ADD_EXECUTABLE(strip-id3v1 strip-id3v1.c + + TARGET_LINK_LIBRARIES(strip-id3v1 tag ) + ++#set_target_properties(examples PROPERTIES ++# INSTALL_NAME_DIR ${BIN_INSTALL_DIR} ++# LINK_INTERFACE_LIBRARIES "" ++#) ++ ++#install(TARGETS examples ++# FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR} ++# RUNTIME DESTINATION ${BIN_INSTALL_DIR} ++#) + + endif(BUILD_EXAMPLES) +- diff --git a/taglib.changes b/taglib.changes index 5ede1d3..c8b7b3b 100644 --- a/taglib.changes +++ b/taglib.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Apr 25 17:05:18 UTC 2013 - davejplater@gmail.com + +- Incorporated updated taglib-1.8-ds-rusxmms-r4.patch see bnc#814814 +- Added built binary examples which manipulate tags from the command line + to enable easier testing of libtag. These are in the taglib rpm. + ------------------------------------------------------------------- Mon Feb 4 19:50:45 UTC 2013 - hessijames@gmail.com @@ -64,12 +71,12 @@ Fri May 11 10:22:59 UTC 2012 - vdziewiecki@suse.com ------------------------------------------------------------------- Thu May 10 01:51:54 UTC 2012 - crrodriguez@opensuse.org -- Also, define GNU_SOURCE +- Also, define GNU_SOURCE ------------------------------------------------------------------- Thu May 10 01:11:38 UTC 2012 - crrodriguez@opensuse.org -- No dont use -ansi gcc flag. +- No dont use -ansi gcc flag. ------------------------------------------------------------------- Thu Mar 8 01:01:13 YEKT 2012 - avm-xandry@yandex.ru @@ -151,7 +158,7 @@ Sat Feb 26 14:24:48 UTC 2011 - toddrme2178@gmail.com Sun Apr 11 17:07:36 UTC 2010 - tittiatcoke@gmail.com - update to version 1.6.2 - * Read Vorbis Comments from the first FLAC metadata block, + * Read Vorbis Comments from the first FLAC metadata block, if there are multipe ones. * Fixed a memory leak in FileRef's OGA format detection. * Fixed compilation with the Sun Studio compiler. @@ -188,18 +195,18 @@ Tue Sep 22 19:14:46 UTC 2009 - tittiatcoke@gmail.com - Update to version 1.6 * New CMake option to build a static version - ENABLE_STATIC. - * Added support for disabling dllimport/dllexport on Windows + * Added support for disabling dllimport/dllexport on Windows using the TAGLIB_STATIC macro. * Support for parsing the obsolete 'gnre' MP4 atom. - * New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determine + * New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determine if TagLib was built with MP4/ASF support. * Split Ogg packets larger than 64k into multiple pages. * TagLib can now use FLAC padding block. * ID3v2.2 frames are now not incorrectly saved. * Support for ID3v2.2 PIC frames. * Fixed a bug in ByteVectorList::split(). - * XiphComment::year() now falls back to YEAR if DATE doesn't exist - and XiphComment::year() falls back to TRACKNUM if TRACKNUMBER + * XiphComment::year() now falls back to YEAR if DATE doesn't exist + and XiphComment::year() falls back to TRACKNUM if TRACKNUMBER doesn't exist. * Improved ID3v2.3 genre parsing. * Better checking of corrupted ID3v2 APIC data. @@ -217,7 +224,7 @@ Tue Sep 22 19:14:46 UTC 2009 - tittiatcoke@gmail.com * Generic RIFF file format support: * Support for AIFF files with ID3v2 tags. * Support for WAV files with ID3v2 tags. - * Fixed crash on handling unsupported ID3v2 frames, e.g. on encrypted + * Fixed crash on handling unsupported ID3v2 frames, e.g. on encrypted frames. * Fixed overflow while calculating bitrate of FLAC files with a very high bitrate @@ -272,7 +279,7 @@ Fri Feb 22 23:03:15 CET 2008 - crrodriguez@suse.de * Added a function to export strings to std::wstring * Added a function to check ASCII compatibility of strings * Added a function to check Latin1 compatibility of strings - + ------------------------------------------------------------------- Wed Nov 7 10:52:28 CET 2007 - meissner@suse.de @@ -313,7 +320,7 @@ Mon Jul 3 17:50:49 CEST 2006 - cthiel@suse.de ------------------------------------------------------------------- Wed Jun 14 22:56:04 CEST 2006 - dmueller@suse.de -- build parallel +- build parallel ------------------------------------------------------------------- Wed Jan 25 21:33:38 CET 2006 - mls@suse.de @@ -323,7 +330,7 @@ Wed Jan 25 21:33:38 CET 2006 - mls@suse.de ------------------------------------------------------------------- Tue Nov 29 12:56:27 CET 2005 - ro@suse.de -- added fontconfig to nfb +- added fontconfig to nfb ------------------------------------------------------------------- Mon Sep 26 22:57:04 CEST 2005 - mls@suse.de @@ -333,12 +340,12 @@ Mon Sep 26 22:57:04 CEST 2005 - mls@suse.de ------------------------------------------------------------------- Wed Aug 10 00:50:34 CEST 2005 - dmueller@suse.de -- fix filelist +- fix filelist ------------------------------------------------------------------- Tue Aug 9 23:32:42 CEST 2005 - dmueller@suse.de -- don't package empty TODO file +- don't package empty TODO file ------------------------------------------------------------------- Thu Jul 28 11:30:35 CEST 2005 - adrian@suse.de diff --git a/taglib.spec b/taglib.spec index a72bca9..8184295 100644 --- a/taglib.spec +++ b/taglib.spec @@ -21,15 +21,18 @@ Version: 1.8 Release: 0 Summary: Audio Meta-Data Library License: LGPL-2.1+ and MPL-1.1 -Group: System/Libraries +Group: Productivity/Multimedia/Other Url: http://ktown.kde.org/~wheeler/taglib/ Source0: https://github.com/downloads/taglib/taglib/%{name}-%{version}.tar.gz Source1: %{name}.desktop Source100: baselibs.conf -Patch0: taglib-1.8-ds-rusxmms-r2.patch +# This patch is to fix bnc#814814. +Patch0: taglib-1.8-ds-rusxmms-r4.patch Patch1: taglib-1.7.2-doxygen.patch # PATCH-FIX-UPSTREAM taglib-1.8-version_fix.patch - fix version defines in taglib.h Patch2: taglib-1.8-version_fix.patch +# Get example executables to build without rpath +Patch3: taglib-1.8-strip-rpath.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake BuildRequires: doxygen @@ -51,6 +54,8 @@ TagLib is a library for reading and editing the meta-data of several popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files. +This package contains built examples which manipulate tags from the +command line. %package -n libtag1 Summary: Audio Meta-Data Library @@ -100,6 +105,7 @@ This package contains development files for taglib. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 %build mkdir build @@ -107,7 +113,12 @@ cd build export CXXFLAGS="%{optflags} -D_GNU_SOURCE" export CFLAGS="%{optflags} -D_GNU_SOURCE" _libsuffix=$(echo %{_lib} | cut -b4-) -cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -DBUILD_TESTS:BOOL=ON -DLIB_SUFFIX=$_libsuffix -DWITH_ASF:BOOL=ON -DWITH_MP4:BOOL=ON .. +cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DBUILD_TESTS:BOOL=ON \ + -DLIB_SUFFIX=$_libsuffix \ + -DWITH_ASF:BOOL=ON \ + -DWITH_MP4:BOOL=ON \ + -DBUILD_EXAMPLES:BOOL=ON .. make %{?_smp_mflags} VERBOSE=1 cd .. @@ -115,9 +126,9 @@ doxygen -u doxygen %install -cd build -%makeinstall -cd .. +pushd build +make DESTDIR=%{buildroot} install +popd # install susehelp file mkdir -p %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/ @@ -133,11 +144,9 @@ rm -f examples/CMake* cp -a AUTHORS COPYING.LGPL COPYING.MPL NEWS doc/html/ examples/ %{buildroot}%{_defaultdocdir}/libtag-devel/ %fdupes -s %{buildroot} - -echo <README.taglib -This package only acts as a placeholder until all packages that use taglib -have upgraded to the new package names libtag1 and libtag_c0. -EOF +# Add built examples to taglib package. +mkdir -p %{buildroot}%{_bindir} +for i in `find build/examples -maxdepth 1 ! -type d -executable`; do cp -v ${i} %{buildroot}%{_bindir}/; done %check # check the library @@ -177,6 +186,11 @@ EOF %files %defattr(-,root,root,-) +%if 1 == 1 +%{_bindir}/* +%exclude %{_bindir}/taglib-config +%else %doc README.taglib +%endif %changelog