[arm64/macppc] Unbreak audio/taglib

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[arm64/macppc] Unbreak audio/taglib

Charlene Wendling
Hi,

As i'm working on an audio/chromaprint update (that you can find on -wip
[0]) to fix narrowing issues on macppc/arm, i've found another port in my
way that has narrowing issues ;)

> http://build-failures.rhaalovely.net/aarch64/last/audio/taglib.log
(same on macppc, it doesn't occur on arm surprisingly).

Upstream committed a fix [1], that does the job. While here i have also
moved to PERMIT_PACKAGE.

Tests are passing on amd64 and macppc [2].

Comments/feedback are welcome!

Charlène.


[0]
https://github.com/jasperla/openbsd-wip/tree/master/audio/chromaprint
[1]
https://github.com/taglib/taglib/commit/0b583bafd09c29695af9e84f7e7182280411a78e
[2] https://bin.charlenew.xyz/taglib.log


Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/taglib/Makefile,v
retrieving revision 1.44
diff -u -p -u -p -r1.44 Makefile
--- Makefile 23 Jun 2019 09:00:21 -0000 1.44
+++ Makefile 7 Jul 2019 10:06:43 -0000
@@ -2,7 +2,7 @@
 
 COMMENT= managing meta-data of audio formats
 DISTNAME= taglib-1.11.1
-REVISION= 2
+REVISION= 3
 
 CATEGORIES= audio devel
 
@@ -12,11 +12,11 @@ SHARED_LIBS += tag_c 3.0 # 0.0.0
 HOMEPAGE= https://taglib.github.io/
 
 # LGPLv2.1 / MPLv1.1
-PERMIT_PACKAGE_CDROM= Yes
+PERMIT_PACKAGE= Yes
 
 WANTLIB= ${COMPILER_LIBCXX} m z
 
-COMPILER = base-clang ports-gcc base-gcc
+COMPILER = base-clang ports-gcc base-gcc
 
 MASTER_SITES= https://taglib.github.io/releases/
 
Index: patches/patch-tests_test_synchdata_cpp
===================================================================
RCS file: patches/patch-tests_test_synchdata_cpp
diff -N patches/patch-tests_test_synchdata_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-tests_test_synchdata_cpp 7 Jul 2019 10:06:43 -0000
@@ -0,0 +1,29 @@
+$OpenBSD$
+
+Fix narrowing error on archs where char is unsigned by default (ppc,arm).
+From:
+https://github.com/taglib/taglib/commit/0b583bafd09c29695af9e84f7e7182280411a78e
+
+Index: tests/test_synchdata.cpp
+--- tests/test_synchdata.cpp.orig
++++ tests/test_synchdata.cpp
+@@ -75,8 +75,8 @@ class TestID3v2SynchData : public CppUnit::TestFixture
+
+   void testToUIntBroken()
+   {
+-    char data[] = { 0, 0, 0, -1 };
+-    char data2[] = { 0, 0, -1, -1 };
++    char data[] = { 0, 0, 0, (char)-1 };
++    char data2[] = { 0, 0, (char)-1, (char)-1 };
+
+     CPPUNIT_ASSERT_EQUAL((unsigned int)255, ID3v2::SynchData::toUInt(ByteVector(data, 4)));
+     CPPUNIT_ASSERT_EQUAL((unsigned int)65535, ID3v2::SynchData::toUInt(ByteVector(data2, 4)));
+@@ -84,7 +84,7 @@ class TestID3v2SynchData : public CppUnit::TestFixture
+
+   void testToUIntBrokenAndTooLarge()
+   {
+-    char data[] = { 0, 0, 0, -1, 0 };
++    char data[] = { 0, 0, 0, (char)-1, 0 };
+     ByteVector v(data, 5);
+
+     CPPUNIT_ASSERT_EQUAL((unsigned int)255, ID3v2::SynchData::toUInt(v));

Reply | Threaded
Open this post in threaded view
|

Re: [arm64/macppc] Unbreak audio/taglib

Jeremie Courreges-Anglas-2
On Sun, Jul 07 2019, Charlene Wendling <[hidden email]> wrote:

> Hi,
>
> As i'm working on an audio/chromaprint update (that you can find on -wip
> [0]) to fix narrowing issues on macppc/arm, i've found another port in my
> way that has narrowing issues ;)
>
>> http://build-failures.rhaalovely.net/aarch64/last/audio/taglib.log
> (same on macppc, it doesn't occur on arm surprisingly).
>
> Upstream committed a fix [1], that does the job. While here i have also
> moved to PERMIT_PACKAGE.
>
> Tests are passing on amd64 and macppc [2].
>
> Comments/feedback are welcome!

Let's go with upstream's fix, ok jca@

> Charlène.
>
>
> [0]
> https://github.com/jasperla/openbsd-wip/tree/master/audio/chromaprint
> [1]
> https://github.com/taglib/taglib/commit/0b583bafd09c29695af9e84f7e7182280411a78e
> [2] https://bin.charlenew.xyz/taglib.log
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/audio/taglib/Makefile,v
> retrieving revision 1.44
> diff -u -p -u -p -r1.44 Makefile
> --- Makefile 23 Jun 2019 09:00:21 -0000 1.44
> +++ Makefile 7 Jul 2019 10:06:43 -0000
> @@ -2,7 +2,7 @@
>  
>  COMMENT= managing meta-data of audio formats
>  DISTNAME= taglib-1.11.1
> -REVISION= 2
> +REVISION= 3
>  
>  CATEGORIES= audio devel
>  
> @@ -12,11 +12,11 @@ SHARED_LIBS += tag_c 3.0 # 0.0.0
>  HOMEPAGE= https://taglib.github.io/
>  
>  # LGPLv2.1 / MPLv1.1
> -PERMIT_PACKAGE_CDROM= Yes
> +PERMIT_PACKAGE= Yes
>  
>  WANTLIB= ${COMPILER_LIBCXX} m z
>  
> -COMPILER = base-clang ports-gcc base-gcc
> +COMPILER = base-clang ports-gcc base-gcc
>  
>  MASTER_SITES= https://taglib.github.io/releases/
>  
> Index: patches/patch-tests_test_synchdata_cpp
> ===================================================================
> RCS file: patches/patch-tests_test_synchdata_cpp
> diff -N patches/patch-tests_test_synchdata_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_test_synchdata_cpp 7 Jul 2019 10:06:43 -0000
> @@ -0,0 +1,29 @@
> +$OpenBSD$
> +
> +Fix narrowing error on archs where char is unsigned by default (ppc,arm).
> +From:
> +https://github.com/taglib/taglib/commit/0b583bafd09c29695af9e84f7e7182280411a78e
> +
> +Index: tests/test_synchdata.cpp
> +--- tests/test_synchdata.cpp.orig
> ++++ tests/test_synchdata.cpp
> +@@ -75,8 +75,8 @@ class TestID3v2SynchData : public CppUnit::TestFixture
> +
> +   void testToUIntBroken()
> +   {
> +-    char data[] = { 0, 0, 0, -1 };
> +-    char data2[] = { 0, 0, -1, -1 };
> ++    char data[] = { 0, 0, 0, (char)-1 };
> ++    char data2[] = { 0, 0, (char)-1, (char)-1 };
> +
> +     CPPUNIT_ASSERT_EQUAL((unsigned int)255, ID3v2::SynchData::toUInt(ByteVector(data, 4)));
> +     CPPUNIT_ASSERT_EQUAL((unsigned int)65535, ID3v2::SynchData::toUInt(ByteVector(data2, 4)));
> +@@ -84,7 +84,7 @@ class TestID3v2SynchData : public CppUnit::TestFixture
> +
> +   void testToUIntBrokenAndTooLarge()
> +   {
> +-    char data[] = { 0, 0, 0, -1, 0 };
> ++    char data[] = { 0, 0, 0, (char)-1, 0 };
> +     ByteVector v(data, 5);
> +
> +     CPPUNIT_ASSERT_EQUAL((unsigned int)255, ID3v2::SynchData::toUInt(v));
>

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE