Hi All, please find below a diff to update taglib to the latest stable version.
build test with the following consumers: audio/ario audio/audacity audio/cantata audio/chromaprint audio/clementine audio/easytag audio/gimmix audio/gmpc-plugins audio/gogglesmm audio/moc audio/mono-taglib audio/musique audio/ncmpcpp audio/py-tagpy audio/ruby-taglib devel/kf5/kfilemetadata games/mars multimedia/gstreamer-0.10/plugins-good multimedia/gstreamer1/plugins-good multimedia/k3b-kde4 multimedia/mediatomb multimedia/vitunes net/ezstream net/ktorrent-kde4 sysutils/krename-kde4 x11/gnome/tracker-miners x11/gnustep/cynthiune x11/kde4/juk x11/kde4/kfilemetadata x11/kde4/nepomuk-core x11/pinot x11/tellico-kde4 x11/vlc x11/xfce4 Drop test because, test suite is switched off when we set BUILD_SHARED_LIBS. Comments? Ok? Best regards, Rafael Index: Makefile =================================================================== RCS file: /cvs/ports/audio/taglib/Makefile,v retrieving revision 1.40 diff -u -p -u -p -r1.40 Makefile --- Makefile 26 Jul 2017 22:45:16 -0000 1.40 +++ Makefile 27 Dec 2017 08:42:28 -0000 @@ -1,34 +1,25 @@ # $OpenBSD: Makefile,v 1.40 2017/07/26 22:45:16 sthen Exp $ COMMENT= managing meta-data of audio formats -DISTNAME= taglib-1.9.1 -REVISION = 3 +DISTNAME= taglib-1.11.1 CATEGORIES= audio devel -MASTER_SITES= http://taglib.github.io/releases/ +SHARED_LIBS += tag 12.0 # 1.9.1 +SHARED_LIBS += tag_c 3.0 # 0.0.0 -SHARED_LIBS += tag 11.0 # 1.9.1 -SHARED_LIBS += tag_c 2.1 # 0.0.0 - -HOMEPAGE= http://taglib.github.io/ +HOMEPAGE= https://taglib.github.io/ # LGPLv2.1 / MPLv1.1 PERMIT_PACKAGE_CDROM= Yes -MODULES= devel/cmake - WANTLIB= ${COMPILER_LIBCXX} m z -BUILD_DEPENDS= devel/cppunit +MASTER_SITES= https://taglib.github.io/releases/ -CONFIGURE_ARGS= -DCMAKE_POLICY_DEFAULT_CMP0022=OLD \ - -DBUILD_TESTS:BOOL=ON +MODULES= devel/cmake -pre-configure: - ${SUBST_CMD} ${WRKSRC}/cmake/modules/FindCppUnit.cmake +CONFIGURE_ARGS= -DBUILD_SHARED_LIBS:BOOL=ON -do-test: - @ln -f -s ${WRKSRC}/tests/data ${WRKBUILD}/tests/data - @cd ${WRKBUILD}/tests && ./test_runner +NO_TEST= Yes .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/audio/taglib/distinfo,v retrieving revision 1.12 diff -u -p -u -p -r1.12 distinfo --- distinfo 28 Nov 2013 15:49:25 -0000 1.12 +++ distinfo 27 Dec 2017 08:42:28 -0000 @@ -1,2 +1,2 @@ -SHA256 (taglib-1.9.1.tar.gz) = ctNxzRQZqHriAER6U7/yviGSgwcegP0SM3kozJZ9xxo= -SIZE (taglib-1.9.1.tar.gz) = 654074 +SHA256 (taglib-1.11.1.tar.gz) = ttGlphCq5v852T3l79D9x4eqnp3B5wJvpMlhsmVjUms= +SIZE (taglib-1.11.1.tar.gz) = 1261620 Index: patches/patch-cmake_modules_FindCppUnit_cmake =================================================================== RCS file: patches/patch-cmake_modules_FindCppUnit_cmake diff -N patches/patch-cmake_modules_FindCppUnit_cmake --- patches/patch-cmake_modules_FindCppUnit_cmake 14 Oct 2011 09:06:57 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -$OpenBSD: patch-cmake_modules_FindCppUnit_cmake,v 1.1 2011/10/14 09:06:57 dcoppa Exp $ ---- cmake/modules/FindCppUnit.cmake.orig Thu Oct 13 10:21:42 2011 -+++ cmake/modules/FindCppUnit.cmake Thu Oct 13 10:22:30 2011 -@@ -30,8 +30,8 @@ ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES) - STRING(REGEX REPLACE "-I(.+)" "\\1" CPPUNIT_CFLAGS "${CPPUNIT_CFLAGS}") - ELSE(CPPUNIT_CONFIG_EXECUTABLE) - # in case win32 needs to find it the old way? -- FIND_PATH(CPPUNIT_CFLAGS cppunit/TestRunner.h PATHS /usr/include /usr/local/include ) -- FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit PATHS /usr/lib /usr/local/lib ) -+ FIND_PATH(CPPUNIT_CFLAGS cppunit/TestRunner.h PATHS ${LOCALBASE}/include ) -+ FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit PATHS ${LOCALBASE}/lib ) - # how can we find cppunit version? - MESSAGE (STATUS "Ensure you cppunit installed version is at least ${CPPUNIT_MIN_VERSION}") - SET (CPPUNIT_INSTALLED_VERSION ${CPPUNIT_MIN_VERSION}) Index: patches/patch-taglib_toolkit_tbytevector_cpp =================================================================== RCS file: patches/patch-taglib_toolkit_tbytevector_cpp diff -N patches/patch-taglib_toolkit_tbytevector_cpp --- patches/patch-taglib_toolkit_tbytevector_cpp 10 Nov 2014 10:55:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,106 +0,0 @@ -$OpenBSD: patch-taglib_toolkit_tbytevector_cpp,v 1.1 2014/11/10 10:55:58 dcoppa Exp $ - -From 4a7d31c87bf41c1de21cb725176d5b34c2a95720 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Thu, 14 Nov 2013 14:05:32 +0900 -Subject: [PATCH] Rewrote ByteVector::replace() simpler - ---- taglib/toolkit/tbytevector.cpp.orig Tue Oct 8 17:50:01 2013 -+++ taglib/toolkit/tbytevector.cpp Mon Nov 10 10:57:36 2014 -@@ -31,6 +31,7 @@ - #include <iostream> - #include <cstdio> - #include <cstring> -+#include <cstddef> - - #include <tstring.h> - #include <tdebug.h> -@@ -508,62 +509,40 @@ ByteVector &ByteVector::replace(const ByteVector &patt - if(pattern.size() == 0 || pattern.size() > size()) - return *this; - -- const uint withSize = with.size(); -- const uint patternSize = pattern.size(); -- int offset = 0; -+ const size_t withSize = with.size(); -+ const size_t patternSize = pattern.size(); -+ const ptrdiff_t diff = withSize - patternSize; -+ -+ size_t offset = 0; -+ while (true) -+ { -+ offset = find(pattern, offset); -+ if(offset == static_cast<size_t>(-1)) // Use npos in taglib2. -+ break; - -- if(withSize == patternSize) { -- // I think this case might be common enough to optimize it - detach(); -- offset = find(pattern); -- while(offset >= 0) { -- ::memcpy(data() + offset, with.data(), withSize); -- offset = find(pattern, offset + withSize); -- } -- return *this; -- } - -- // calculate new size: -- uint newSize = 0; -- for(;;) { -- int next = find(pattern, offset); -- if(next < 0) { -- if(offset == 0) -- // pattern not found, do nothing: -- return *this; -- newSize += size() - offset; -- break; -+ if(diff < 0) { -+ ::memmove( -+ data() + offset + withSize, -+ data() + offset + patternSize, -+ size() - offset - patternSize); -+ resize(size() + diff); - } -- newSize += (next - offset) + withSize; -- offset = next + patternSize; -- } -+ else if(diff > 0) { -+ resize(size() + diff); -+ ::memmove( -+ data() + offset + withSize, -+ data() + offset + patternSize, -+ size() - diff - offset - patternSize); -+ } - -- // new private data of appropriate size: -- ByteVectorPrivate *newData = new ByteVectorPrivate(newSize, 0); -- char *target = DATA(newData); -- const char *source = data(); -+ ::memcpy(data() + offset, with.data(), with.size()); - -- // copy modified data into new private data: -- offset = 0; -- for(;;) { -- int next = find(pattern, offset); -- if(next < 0) { -- ::memcpy(target, source + offset, size() - offset); -+ offset += withSize; -+ if(offset > size() - patternSize) - break; -- } -- int chunkSize = next - offset; -- ::memcpy(target, source + offset, chunkSize); -- target += chunkSize; -- ::memcpy(target, with.data(), withSize); -- target += withSize; -- offset += chunkSize + patternSize; - } -- -- // replace private data: -- if(d->deref()) -- delete d; -- -- d = newData; - - return *this; - } Index: patches/patch-taglib_toolkit_tstring_cpp =================================================================== RCS file: patches/patch-taglib_toolkit_tstring_cpp diff -N patches/patch-taglib_toolkit_tstring_cpp --- patches/patch-taglib_toolkit_tstring_cpp 10 Nov 2014 10:55:58 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,65 +0,0 @@ -$OpenBSD: patch-taglib_toolkit_tstring_cpp,v 1.2 2014/11/10 10:55:58 dcoppa Exp $ - -From db3e961d1098d5efe57364f540f68a5996dc83c2 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Tue, 13 May 2014 18:22:16 +0900 -Subject: [PATCH] Fixed a wrong byte order handling on big-endian machines. - -commit 3bf30af66c8fd77a88d9379a0956ddb2fc70dc20 -Author: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Wed Nov 6 17:01:21 2013 +0900 - -Fix ABI breakage in TagLib::String - ---- taglib/toolkit/tstring.cpp.orig Tue Oct 8 17:50:01 2013 -+++ taglib/toolkit/tstring.cpp Mon Nov 10 10:52:49 2014 -@@ -50,7 +50,12 @@ namespace - - inline unsigned short combine(unsigned char c1, unsigned char c2) - { -- return (c1 << 8) | c2; -+ using namespace TagLib::Utils; -+ -+ if(SystemByteOrder == LittleEndian) -+ return (c1 << 8) | c2; -+ else -+ return (c2 << 8) | c1; - } - - void UTF16toUTF8(const wchar_t *src, size_t srcLength, char *dst, size_t dstLength) -@@ -209,8 +214,16 @@ String::String(const std::string &s, Type t) - String::String(const wstring &s, Type t) - : d(new StringPrivate()) - { -- if(t == UTF16 || t == UTF16BE || t == UTF16LE) -+ if(t == UTF16 || t == UTF16BE || t == UTF16LE) { -+ // This looks ugly but needed for the compatibility with TagLib1.8. -+ // Should be removed in TabLib2.0. -+ if (t == UTF16BE) -+ t = WCharByteOrder; -+ else if (t == UTF16LE) -+ t = (WCharByteOrder == UTF16LE ? UTF16BE : UTF16LE); -+ - copyFromUTF16(s.c_str(), s.length(), t); -+ } - else { - debug("String::String() -- A TagLib::wstring should not contain Latin1 or UTF-8."); - } -@@ -219,8 +232,16 @@ String::String(const wstring &s, Type t) - String::String(const wchar_t *s, Type t) - : d(new StringPrivate()) - { -- if(t == UTF16 || t == UTF16BE || t == UTF16LE) -+ if(t == UTF16 || t == UTF16BE || t == UTF16LE) { -+ // This looks ugly but needed for the compatibility with TagLib1.8. -+ // Should be removed in TabLib2.0. -+ if (t == UTF16BE) -+ t = WCharByteOrder; -+ else if (t == UTF16LE) -+ t = (WCharByteOrder == UTF16LE ? UTF16BE : UTF16LE); -+ - copyFromUTF16(s, ::wcslen(s), t); -+ } - else { - debug("String::String() -- A const wchar_t * should not contain Latin1 or UTF-8."); - } Index: patches/patch-taglib_toolkit_tstring_h =================================================================== RCS file: patches/patch-taglib_toolkit_tstring_h diff -N patches/patch-taglib_toolkit_tstring_h --- patches/patch-taglib_toolkit_tstring_h 16 Jan 2014 13:37:49 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,34 +0,0 @@ -$OpenBSD: patch-taglib_toolkit_tstring_h,v 1.1 2014/01/16 13:37:49 dcoppa Exp $ - -commit 3bf30af66c8fd77a88d9379a0956ddb2fc70dc20 -Author: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Wed Nov 6 17:01:21 2013 +0900 - -Fix ABI breakage in TagLib::String - ---- taglib/toolkit/tstring.h.orig Tue Oct 8 17:50:01 2013 -+++ taglib/toolkit/tstring.h Thu Jan 16 14:11:33 2014 -@@ -134,13 +134,21 @@ namespace TagLib { - - /*! - * Makes a deep copy of the data in \a s. -+ * -+ * /note If \a t is UTF16LE, the byte order of \a s will be swapped regardless -+ * of the CPU byte order. If UTF16BE, it will not be swapped. This behavior -+ * will be changed in TagLib2.0. - */ -- String(const wstring &s, Type t = WCharByteOrder); -+ String(const wstring &s, Type t = UTF16BE); - - /*! - * Makes a deep copy of the data in \a s. -+ * -+ * /note If \a t is UTF16LE, the byte order of \a s will be swapped regardless -+ * of the CPU byte order. If UTF16BE, it will not be swapped. This behavior -+ * will be changed in TagLib2.0. - */ -- String(const wchar_t *s, Type t = WCharByteOrder); -+ String(const wchar_t *s, Type t = UTF16BE); - - /*! - * Makes a deep copy of the data in \a c. Index: patches/patch-taglib_xm_xmfile_cpp =================================================================== RCS file: patches/patch-taglib_xm_xmfile_cpp diff -N patches/patch-taglib_xm_xmfile_cpp --- patches/patch-taglib_xm_xmfile_cpp 10 Nov 2014 10:55:58 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,148 +0,0 @@ -$OpenBSD: patch-taglib_xm_xmfile_cpp,v 1.4 2014/11/10 10:55:58 dcoppa Exp $ - -commit 9e94f8bb6c44fe54cfd0ddd134d5dd53d65388e9 -Author: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Fri Feb 14 18:45:33 2014 +0900 - -Changed XM::File::save() to use seek() properly. - ---- taglib/xm/xmfile.cpp.orig Tue Oct 8 17:50:01 2013 -+++ taglib/xm/xmfile.cpp Mon Nov 10 11:13:41 2014 -@@ -403,97 +403,90 @@ bool XM::File::save() - debug("XM::File::save() - Cannot save to a read only file."); - return false; - } -+ - seek(17); - writeString(d->tag.title(), 20); -- seek(1, Current); -+ -+ seek(38); - writeString(d->tag.trackerName(), 20); -- seek(2, Current); -+ -+ seek(60); - ulong headerSize = 0; - if(!readU32L(headerSize)) - return false; -- seek(2+2+2, Current); - -+ seek(70); - ushort patternCount = 0; - ushort instrumentCount = 0; - if(!readU16L(patternCount) || !readU16L(instrumentCount)) - return false; - -- seek(60 + headerSize); -+ long pos = 60 + headerSize; // should be offset_t in taglib2. - - // need to read patterns again in order to seek to the instruments: - for(ushort i = 0; i < patternCount; ++ i) { -+ seek(pos); - ulong patternHeaderLength = 0; - if(!readU32L(patternHeaderLength) || patternHeaderLength < 4) - return false; - -+ seek(pos + 7); - ushort dataSize = 0; -- StructReader pattern; -- pattern.skip(3).u16L(dataSize); -- -- uint count = pattern.read(*this, patternHeaderLength - 4U); -- if(count != std::min(patternHeaderLength - 4U, (ulong)pattern.size())) -+ if (!readU16L(dataSize)) - return false; - -- seek(patternHeaderLength - (4 + count) + dataSize, Current); -+ pos += patternHeaderLength + dataSize; - } - -- StringList lines = d->tag.comment().split("\n"); -+ const StringList lines = d->tag.comment().split("\n"); - uint sampleNameIndex = instrumentCount; - for(ushort i = 0; i < instrumentCount; ++ i) { -+ seek(pos); - ulong instrumentHeaderSize = 0; - if(!readU32L(instrumentHeaderSize) || instrumentHeaderSize < 4) - return false; - -- uint len = std::min(22UL, instrumentHeaderSize - 4U); -+ seek(pos + 4); -+ const uint len = std::min(22UL, instrumentHeaderSize - 4U); - if(i >= lines.size()) - writeString(String::null, len); - else - writeString(lines[i], len); - -- long offset = 0; -+ ushort sampleCount = 0; - if(instrumentHeaderSize >= 29U) { -- ushort sampleCount = 0; -- seek(1, Current); -+ seek(pos + 27); - if(!readU16L(sampleCount)) - return false; -+ } - -- if(sampleCount > 0) { -- ulong sampleHeaderSize = 0; -- if(instrumentHeaderSize < 33U || !readU32L(sampleHeaderSize)) -- return false; -- // skip unhandeled header proportion: -- seek(instrumentHeaderSize - 33, Current); -+ ulong sampleHeaderSize = 0; -+ if(sampleCount > 0) { -+ seek(pos + 29); -+ if(instrumentHeaderSize < 33U || !readU32L(sampleHeaderSize)) -+ return false; -+ } - -- for(ushort j = 0; j < sampleCount; ++ j) { -- if(sampleHeaderSize > 4U) { -- ulong sampleLength = 0; -- if(!readU32L(sampleLength)) -- return false; -- offset += sampleLength; -+ pos += instrumentHeaderSize; - -- seek(std::min(sampleHeaderSize, 14UL), Current); -- if(sampleHeaderSize > 18U) { -- uint len = std::min(sampleHeaderSize - 18U, 22UL); -- if(sampleNameIndex >= lines.size()) -- writeString(String::null, len); -- else -- writeString(lines[sampleNameIndex ++], len); -- seek(sampleHeaderSize - (18U + len), Current); -- } -- } -- else { -- seek(sampleHeaderSize, Current); -- } -+ for(ushort j = 0; j < sampleCount; ++ j) { -+ if(sampleHeaderSize > 4U) { -+ seek(pos); -+ ulong sampleLength = 0; -+ if(!readU32L(sampleLength)) -+ return false; -+ -+ if(sampleHeaderSize > 18U) { -+ seek(pos + 18); -+ const uint len = std::min(sampleHeaderSize - 18U, 22UL); -+ if(sampleNameIndex >= lines.size()) -+ writeString(String::null, len); -+ else -+ writeString(lines[sampleNameIndex ++], len); - } - } -- else { -- offset = instrumentHeaderSize - 29; -- } -+ pos += sampleHeaderSize; - } -- else { -- offset = instrumentHeaderSize - (4 + len); -- } -- seek(offset, Current); - } - - return true; Index: patches/patch-tests_test_bytevector_cpp =================================================================== RCS file: patches/patch-tests_test_bytevector_cpp diff -N patches/patch-tests_test_bytevector_cpp --- patches/patch-tests_test_bytevector_cpp 10 Nov 2014 10:55:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -$OpenBSD: patch-tests_test_bytevector_cpp,v 1.1 2014/11/10 10:55:58 dcoppa Exp $ - -From 4a7d31c87bf41c1de21cb725176d5b34c2a95720 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Thu, 14 Nov 2013 14:05:32 +0900 -Subject: [PATCH] Rewrote ByteVector::replace() simpler - ---- tests/test_bytevector.cpp.orig Tue Oct 8 17:50:01 2013 -+++ tests/test_bytevector.cpp Mon Nov 10 10:57:36 2014 -@@ -239,6 +239,11 @@ class TestByteVector : public CppUnit::TestFixture (pu - a.replace(ByteVector("ab"), ByteVector()); - CPPUNIT_ASSERT_EQUAL(ByteVector("cdf"), a); - } -+ { -+ ByteVector a("abcdabf"); -+ a.replace(ByteVector("bf"), ByteVector("x")); -+ CPPUNIT_ASSERT_EQUAL(ByteVector("abcdax"), a); -+ } - } - - }; Index: patches/patch-tests_test_flac_cpp =================================================================== RCS file: patches/patch-tests_test_flac_cpp diff -N patches/patch-tests_test_flac_cpp --- patches/patch-tests_test_flac_cpp 10 Nov 2014 10:55:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,41 +0,0 @@ -$OpenBSD: patch-tests_test_flac_cpp,v 1.1 2014/11/10 10:55:58 dcoppa Exp $ - -From c14a3b5c3d0831f7c113d0cf95840c4671d9ebd4 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Tue, 13 May 2014 20:07:02 +0900 -Subject: [PATCH] Added some missing deletes to test_flac.cpp. - ---- tests/test_flac.cpp.orig Tue Oct 8 17:50:01 2013 -+++ tests/test_flac.cpp Mon Nov 10 10:41:36 2014 -@@ -91,6 +91,7 @@ class TestFLAC : public CppUnit::TestFixture (public) - newpic->setData("JPEG data"); - f->addPicture(newpic); - f->save(); -+ delete f; - - f = new FLAC::File(newname.c_str()); - lst = f->pictureList(); -@@ -138,6 +139,7 @@ class TestFLAC : public CppUnit::TestFixture (public) - f->removePictures(); - f->addPicture(newpic); - f->save(); -+ delete f; - - f = new FLAC::File(newname.c_str()); - lst = f->pictureList(); -@@ -165,6 +167,7 @@ class TestFLAC : public CppUnit::TestFixture (public) - - f->removePictures(); - f->save(); -+ delete f; - - f = new FLAC::File(newname.c_str()); - lst = f->pictureList(); -@@ -185,6 +188,7 @@ class TestFLAC : public CppUnit::TestFixture (public) - tag->setTitle("NEW TITLE 2"); - f->save(); - CPPUNIT_ASSERT_EQUAL(String("NEW TITLE 2"), tag->title()); -+ delete f; - - f = new FLAC::File(newname.c_str()); - tag = f->tag(); Index: patches/patch-tests_test_info_cpp =================================================================== RCS file: patches/patch-tests_test_info_cpp diff -N patches/patch-tests_test_info_cpp --- patches/patch-tests_test_info_cpp 28 Nov 2013 15:49:25 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,25 +0,0 @@ -$OpenBSD: patch-tests_test_info_cpp,v 1.1 2013/11/28 15:49:25 dcoppa Exp $ - -Fix namespace collisions - ---- tests/test_info.cpp.orig Tue Nov 26 11:34:06 2013 -+++ tests/test_info.cpp Tue Nov 26 11:34:29 2013 -@@ -34,14 +34,14 @@ class TestInfoTag : public CppUnit::TestFixture (publi - { - RIFF::Info::Tag tag; - -- CPPUNIT_ASSERT_EQUAL((uint)0, tag.track()); -+ CPPUNIT_ASSERT_EQUAL((TagLib::uint)0, tag.track()); - tag.setTrack(1234); -- CPPUNIT_ASSERT_EQUAL((uint)1234, tag.track()); -+ CPPUNIT_ASSERT_EQUAL((TagLib::uint)1234, tag.track()); - CPPUNIT_ASSERT_EQUAL(String("1234"), tag.fieldText("IPRT")); - -- CPPUNIT_ASSERT_EQUAL((uint)0, tag.year()); -+ CPPUNIT_ASSERT_EQUAL((TagLib::uint)0, tag.year()); - tag.setYear(1234); -- CPPUNIT_ASSERT_EQUAL((uint)1234, tag.year()); -+ CPPUNIT_ASSERT_EQUAL((TagLib::uint)1234, tag.year()); - CPPUNIT_ASSERT_EQUAL(String("1234"), tag.fieldText("ICRD")); - } - }; Index: patches/patch-tests_test_string_cpp =================================================================== RCS file: patches/patch-tests_test_string_cpp diff -N patches/patch-tests_test_string_cpp --- patches/patch-tests_test_string_cpp 16 Jan 2014 13:37:49 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,46 +0,0 @@ -$OpenBSD: patch-tests_test_string_cpp,v 1.2 2014/01/16 13:37:49 dcoppa Exp $ - -Fix namespace collisions - -commit 3bf30af66c8fd77a88d9379a0956ddb2fc70dc20 -Author: Tsuda Kageyu <tsuda.kag...@gmail.com> -Date: Wed Nov 6 17:01:21 2013 +0900 - -Fix ABI breakage in TagLib::String - ---- tests/test_string.cpp.orig Tue Oct 8 17:50:01 2013 -+++ tests/test_string.cpp Thu Jan 16 14:24:33 2014 -@@ -75,6 +75,20 @@ class TestString : public CppUnit::TestFixture (public - String unicode3(L"\u65E5\u672C\u8A9E"); - CPPUNIT_ASSERT(*(unicode3.toCWString() + 1) == L'\u672C'); - -+ String unicode4(L"\u65e5\u672c\u8a9e", String::UTF16BE); -+ CPPUNIT_ASSERT(unicode4[1] == L'\u672c'); -+ -+ String unicode5(L"\u65e5\u672c\u8a9e", String::UTF16LE); -+ CPPUNIT_ASSERT(unicode5[1] == L'\u2c67'); -+ -+ std::wstring stduni = L"\u65e5\u672c\u8a9e"; -+ -+ String unicode6(stduni, String::UTF16BE); -+ CPPUNIT_ASSERT(unicode6[1] == L'\u672c'); -+ -+ String unicode7(stduni, String::UTF16LE); -+ CPPUNIT_ASSERT(unicode7[1] == L'\u2c67'); -+ - CPPUNIT_ASSERT(strcmp(String::number(0).toCString(), "0") == 0); - CPPUNIT_ASSERT(strcmp(String::number(12345678).toCString(), "12345678") == 0); - CPPUNIT_ASSERT(strcmp(String::number(-12345678).toCString(), "-12345678") == 0); -@@ -218,9 +232,9 @@ class TestString : public CppUnit::TestFixture (public - ByteVector lf("abc\x0axyz", 7); - ByteVector crlf("abc\x0d\x0axyz", 8); - -- CPPUNIT_ASSERT_EQUAL(uint(7), String(cr).size()); -- CPPUNIT_ASSERT_EQUAL(uint(7), String(lf).size()); -- CPPUNIT_ASSERT_EQUAL(uint(8), String(crlf).size()); -+ CPPUNIT_ASSERT_EQUAL(TagLib::uint(7), String(cr).size()); -+ CPPUNIT_ASSERT_EQUAL(TagLib::uint(7), String(lf).size()); -+ CPPUNIT_ASSERT_EQUAL(TagLib::uint(8), String(crlf).size()); - - CPPUNIT_ASSERT_EQUAL(L'\x0d', String(cr)[3]); - CPPUNIT_ASSERT_EQUAL(L'\x0a', String(lf)[3]); Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/audio/taglib/pkg/PLIST,v retrieving revision 1.9 diff -u -p -u -p -r1.9 PLIST --- pkg/PLIST 10 Nov 2014 10:55:58 -0000 1.9 +++ pkg/PLIST 27 Dec 2017 08:42:28 -0000 @@ -15,7 +15,9 @@ include/taglib/asfproperties.h include/taglib/asftag.h include/taglib/attachedpictureframe.h include/taglib/audioproperties.h +include/taglib/chapterframe.h include/taglib/commentsframe.h +include/taglib/eventtimingcodesframe.h include/taglib/fileref.h include/taglib/flacfile.h include/taglib/flacmetadatablock.h @@ -56,6 +58,7 @@ include/taglib/oggpageheader.h include/taglib/opusfile.h include/taglib/opusproperties.h include/taglib/ownershipframe.h +include/taglib/podcastframe.h include/taglib/popularimeterframe.h include/taglib/privateframe.h include/taglib/relativevolumeframe.h @@ -64,6 +67,8 @@ include/taglib/s3mfile.h include/taglib/s3mproperties.h include/taglib/speexfile.h include/taglib/speexproperties.h +include/taglib/synchronizedlyricsframe.h +include/taglib/tableofcontentsframe.h include/taglib/tag.h include/taglib/tag_c.h include/taglib/taglib.h