[oe] [meta-multimedia][PATCH] faac: address gcc-6 narrowing errors via an explicit cast

Derek Straka derek at asterius.io
Fri Jun 17 18:08:47 UTC 2016


Signed-off-by: Derek Straka <derek at asterius.io>
---
 .../recipes-multimedia/faac/faac_1.28.bb           |  7 ++--
 .../files/address-gcc-6-narrowing-errors.patch     | 47 ++++++++++++++++++++++
 2 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch

diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
index e87ddb1..2f048af 100644
--- a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
+++ b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
@@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
 inherit autotools-brokensep
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
-           file://build-fix.patch"
+           file://build-fix.patch \
+           file://address-gcc-6-narrowing-errors.patch \
+"
 
 SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6"
 SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df"
@@ -18,6 +20,3 @@ FILES_${PN} = " ${bindir}/faac "
 FILES_lib${PN} = " ${libdir}/libfaac.so.*"
 FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la"
 FILES_lib${PN}-staticdev = "${libdir}/libfaac.a"
-
-# http://errors.yoctoproject.org/Errors/Details/68660/
-PNBLACKLIST[faac] ?= "BROKEN: fails to build with gcc-6"
diff --git a/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch b/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch
new file mode 100644
index 0000000..92fdd9b
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch
@@ -0,0 +1,47 @@
+--- faac-1.28/common/mp4v2/atom_standard.cpp.orig	2016-06-16 07:59:21.657040761 -0400
++++ faac-1.28/common/mp4v2/atom_standard.cpp	2016-06-16 08:01:50.613036724 -0400
+@@ -22,15 +22,15 @@
+ #include "mp4common.h"
+ #include "atoms.h"
+ 
+-static const char name[5]={0251,'n', 'a', 'm', '\0'};
+-static const char art[5]={0251,'A', 'R', 'T', '\0'};
+-static const char wrt[5]={0251,'w', 'r', 't', '\0'};
+-static const char alb[5]={0251,'a', 'l', 'b', '\0'};
+-static const char day[5]={0251,'d', 'a', 'y', '\0'};
+-static const char too[5]={0251,'t', 'o', 'o', '\0'};
+-static const char cmt[5]={0251,'c', 'm', 't', '\0'};
+-static const char gen[5]={0251,'g', 'e', 'n', '\0'};
+-static const char grp[5]={0251,'g', 'r', 'p', '\0'};
++static const char name[5]={(char)0251,'n', 'a', 'm', '\0'};
++static const char art[5]={(char)0251,'A', 'R', 'T', '\0'};
++static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'};
++static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'};
++static const char day[5]={(char)0251,'d', 'a', 'y', '\0'};
++static const char too[5]={(char)0251,'t', 'o', 'o', '\0'};
++static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'};
++static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'};
++static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'};
+ 
+ MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type)
+ {
+--- faac-1.28/common/mp4v2/mp4atom.cpp.orig	2016-06-16 08:03:07.777034633 -0400
++++ faac-1.28/common/mp4v2/mp4atom.cpp	2016-06-16 08:03:54.629033363 -0400
+@@ -264,11 +264,11 @@
+       }
+       break;
+     case 0251:
+-      static const char name[5]={0251,'n', 'a', 'm', '\0'};
+-      static const char cmt[5]={0251,'c', 'm', 't', '\0'};
+-      static const char cpy[5]={0251,'c', 'p', 'y', '\0'};
+-      static const char des[5]={0251,'d', 'e', 's','\0'};
+-      static const char prd[5]={0251, 'p', 'r', 'd', '\0'};
++      static const char name[5]={(char)0251,'n', 'a', 'm', '\0'};
++      static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'};
++      static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'};
++      static const char des[5]={(char)0251,'d', 'e', 's','\0'};
++      static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'};
+       if (ATOMID(type) == ATOMID(name) ||
+ 	  ATOMID(type) == ATOMID(cmt) ||
+ 	  ATOMID(type) == ATOMID(cpy) ||
+
-- 
1.9.1




More information about the Openembedded-devel mailing list