From ec2e3fcf570a4bafec3c41cb0f58ce8393aceaa4 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 25 Feb 2021 16:14:15 -0500 Subject: libmp4v2: add gcc 10 compatibility patch Add patch to fix gcc 10 compilation issues in libmp4v2. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray Change-Id: I94f8cbd4e1eef3ca86255540e9a0b52d5869a20e --- recipes-multimedia/libmp4v2/files/gcc10.patch | 420 ++++++++++++++++++++++++++ recipes-multimedia/libmp4v2/libmp4v2_git.bb | 1 + 2 files changed, 421 insertions(+) create mode 100644 recipes-multimedia/libmp4v2/files/gcc10.patch diff --git a/recipes-multimedia/libmp4v2/files/gcc10.patch b/recipes-multimedia/libmp4v2/files/gcc10.patch new file mode 100644 index 000000000..fca170998 --- /dev/null +++ b/recipes-multimedia/libmp4v2/files/gcc10.patch @@ -0,0 +1,420 @@ +Fix compilation with gcc 10 + +Patch pulled from Fedora source RPM: +https://dl.fedoraproject.org/pub/fedora/linux/development/34/Everything/source/tree/Packages/l/libmp4v2-2.1.0-0.23.trunkREV507.fc34.src.rpm + +Upstream-Status: Inappropriate[no upstream] +Signed-off-by: Scott Murray + +--- +diff -Nrup a/libutil/Utility.cpp b/libutil/Utility.cpp +--- a/libutil/Utility.cpp 2015-04-24 09:37:49.000000000 -0600 ++++ b/libutil/Utility.cpp 2019-09-24 12:39:23.669103515 -0600 +@@ -531,26 +531,26 @@ Utility::process_impl() + printHelp( false, false ); + return SUCCESS; + +- case LC_DEBUG: ++ case int(LC_DEBUG): + debugUpdate( std::strtoul( prog::optarg, NULL, 0 ) ); + break; + +- case LC_VERBOSE: ++ case int(LC_VERBOSE): + { + const uint32_t level = std::strtoul( prog::optarg, NULL, 0 ); + _verbosity = ( level < 4 ) ? level : 3; + break; + } + +- case LC_HELP: ++ case int(LC_HELP): + printHelp( true, false ); + return SUCCESS; + +- case LC_VERSION: ++ case int(LC_VERSION): + printVersion( false ); + return SUCCESS; + +- case LC_VERSIONX: ++ case int(LC_VERSIONX): + printVersion( true ); + return SUCCESS; + +diff -Nrup a/util/mp4art.cpp b/util/mp4art.cpp +--- a/util/mp4art.cpp 2015-04-24 09:37:49.000000000 -0600 ++++ b/util/mp4art.cpp 2019-09-24 12:32:35.078171912 -0600 +@@ -377,11 +377,11 @@ ArtUtility::utility_option( int code, bo + handled = true; + + switch( code ) { +- case LC_ART_ANY: ++ case int(LC_ART_ANY): + _artFilter = numeric_limits::max(); + break; + +- case LC_ART_INDEX: ++ case int(LC_ART_INDEX): + { + istringstream iss( prog::optarg ); + iss >> _artFilter; +@@ -390,29 +390,29 @@ ArtUtility::utility_option( int code, bo + break; + } + +- case LC_LIST: ++ case int(LC_LIST): + _action = &ArtUtility::actionList; + break; + +- case LC_ADD: ++ case int(LC_ADD): + _action = &ArtUtility::actionAdd; + _artImageFile = prog::optarg; + if( _artImageFile.empty() ) + return herrf( "invalid image file: empty-string\n" ); + break; + +- case LC_REMOVE: ++ case int(LC_REMOVE): + _action = &ArtUtility::actionRemove; + break; + +- case LC_REPLACE: ++ case int(LC_REPLACE): + _action = &ArtUtility::actionReplace; + _artImageFile = prog::optarg; + if( _artImageFile.empty() ) + return herrf( "invalid image file: empty-string\n" ); + break; + +- case LC_EXTRACT: ++ case int(LC_EXTRACT): + _action = &ArtUtility::actionExtract; + break; + +diff -Nrup a/util/mp4chaps.cpp b/util/mp4chaps.cpp +--- a/util/mp4chaps.cpp 2015-04-24 09:37:49.000000000 -0600 ++++ b/util/mp4chaps.cpp 2019-09-24 12:35:24.121316167 -0600 +@@ -634,32 +634,32 @@ ChapterUtility::utility_option( int code + + switch( code ) { + case 'A': +- case LC_CHPT_ANY: ++ case int(LC_CHPT_ANY): + _ChapterType = MP4ChapterTypeAny; + break; + + case 'Q': +- case LC_CHPT_QT: ++ case int(LC_CHPT_QT): + _ChapterType = MP4ChapterTypeQt; + break; + + case 'N': +- case LC_CHPT_NERO: ++ case int(LC_CHPT_NERO): + _ChapterType = MP4ChapterTypeNero; + break; + + case 'C': +- case LC_CHPT_COMMON: ++ case int(LC_CHPT_COMMON): + _ChapterFormat = CHPT_FMT_COMMON; + break; + + case 'l': +- case LC_CHP_LIST: ++ case int(LC_CHP_LIST): + _action = &ChapterUtility::actionList; + break; + + case 'e': +- case LC_CHP_EVERY: ++ case int(LC_CHP_EVERY): + { + istringstream iss( prog::optarg ); + iss >> _ChaptersEvery; +@@ -675,7 +675,7 @@ ChapterUtility::utility_option( int code + _action = &ChapterUtility::actionExport; + break; + +- case LC_CHP_EXPORT: ++ case int(LC_CHP_EXPORT): + _action = &ChapterUtility::actionExport; + /* currently not supported since the chapters of n input files would be written to one chapter file + _ChapterFile = prog::optarg; +@@ -690,7 +690,7 @@ ChapterUtility::utility_option( int code + _action = &ChapterUtility::actionImport; + break; + +- case LC_CHP_IMPORT: ++ case int(LC_CHP_IMPORT): + _action = &ChapterUtility::actionImport; + /* currently not supported since the chapters of n input files would be read from one chapter file + _ChapterFile = prog::optarg; +@@ -702,12 +702,12 @@ ChapterUtility::utility_option( int code + break; + + case 'c': +- case LC_CHP_CONVERT: ++ case int(LC_CHP_CONVERT): + _action = &ChapterUtility::actionConvert; + break; + + case 'r': +- case LC_CHP_REMOVE: ++ case int(LC_CHP_REMOVE): + _action = &ChapterUtility::actionRemove; + break; + +diff -Nrup a/util/mp4file.cpp b/util/mp4file.cpp +--- a/util/mp4file.cpp 2015-04-24 09:37:49.000000000 -0600 ++++ b/util/mp4file.cpp 2019-09-24 12:33:09.735996459 -0600 +@@ -190,15 +190,15 @@ FileUtility::utility_option( int code, b + handled = true; + + switch( code ) { +- case LC_LIST: ++ case int(LC_LIST): + _action = &FileUtility::actionList; + break; + +- case LC_OPTIMIZE: ++ case int(LC_OPTIMIZE): + _action = &FileUtility::actionOptimize; + break; + +- case LC_DUMP: ++ case int(LC_DUMP): + _action = &FileUtility::actionDump; + break; + +diff -Nrup a/util/mp4subtitle.cpp b/util/mp4subtitle.cpp +--- a/util/mp4subtitle.cpp 2015-04-24 09:37:49.000000000 -0600 ++++ b/util/mp4subtitle.cpp 2019-09-24 12:33:53.739773682 -0600 +@@ -165,25 +165,25 @@ SubtitleUtility::utility_option( int cod + handled = true; + + switch( code ) { +- case LC_LIST: ++ case int(LC_LIST): + _action = &SubtitleUtility::actionList; + break; + +- case LC_EXPORT: ++ case int(LC_EXPORT): + _action = &SubtitleUtility::actionExport; + _stTextFile = prog::optarg; + if( _stTextFile.empty() ) + return herrf( "invalid TXT file: empty-string\n" ); + break; + +- case LC_IMPORT: ++ case int(LC_IMPORT): + _action = &SubtitleUtility::actionImport; + _stTextFile = prog::optarg; + if( _stTextFile.empty() ) + return herrf( "invalid TXT file: empty-string\n" ); + break; + +- case LC_REMOVE: ++ case int(LC_REMOVE): + _action = &SubtitleUtility::actionRemove; + break; + +diff -Nrup a/util/mp4track.cpp b/util/mp4track.cpp +--- a/util/mp4track.cpp 2015-04-24 09:37:49.000000000 -0600 ++++ b/util/mp4track.cpp 2019-09-24 12:37:02.934815918 -0600 +@@ -789,11 +789,11 @@ TrackUtility::utility_option( int code, + handled = true; + + switch( code ) { +- case LC_TRACK_WILDCARD: ++ case int(LC_TRACK_WILDCARD): + _trackMode = TM_WILDCARD; + break; + +- case LC_TRACK_INDEX: ++ case int(LC_TRACK_INDEX): + { + _trackMode = TM_INDEX; + istringstream iss( prog::optarg ); +@@ -803,7 +803,7 @@ TrackUtility::utility_option( int code, + break; + } + +- case LC_TRACK_ID: ++ case int(LC_TRACK_ID): + { + _trackMode = TM_ID; + istringstream iss( prog::optarg ); +@@ -813,142 +813,142 @@ TrackUtility::utility_option( int code, + break; + } + +- case LC_LIST: ++ case int(LC_LIST): + _action = &TrackUtility::actionList; + break; + +- case LC_COLR_PARMS: ++ case int(LC_COLR_PARMS): + _colorParameterItem.convertFromCSV( prog::optarg ); + break; + +- case LC_COLR_PARM_HD: ++ case int(LC_COLR_PARM_HD): + _colorParameterItem.primariesIndex = 1; + _colorParameterItem.transferFunctionIndex = 1; + _colorParameterItem.matrixIndex = 1; + break; + +- case LC_COLR_PARM_SD: ++ case int(LC_COLR_PARM_SD): + _colorParameterItem.primariesIndex = 6; + _colorParameterItem.transferFunctionIndex = 1; + _colorParameterItem.matrixIndex = 6; + break; + +- case LC_COLR_LIST: ++ case int(LC_COLR_LIST): + _action = &TrackUtility::actionColorParameterList; + break; + +- case LC_ENABLED: ++ case int(LC_ENABLED): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setEnabled; + _actionTrackModifierSet_name = "enabled"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_INMOVIE: ++ case int(LC_INMOVIE): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setInMovie; + _actionTrackModifierSet_name = "inMovie"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_INPREVIEW: ++ case int(LC_INPREVIEW): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setInPreview; + _actionTrackModifierSet_name = "inPreview"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_LAYER: ++ case int(LC_LAYER): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setLayer; + _actionTrackModifierSet_name = "layer"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_ALTGROUP: ++ case int(LC_ALTGROUP): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setAlternateGroup; + _actionTrackModifierSet_name = "alternateGroup"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_VOLUME: ++ case int(LC_VOLUME): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setVolume; + _actionTrackModifierSet_name = "volume"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_WIDTH: ++ case int(LC_WIDTH): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setWidth; + _actionTrackModifierSet_name = "width"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_HEIGHT: ++ case int(LC_HEIGHT): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setHeight; + _actionTrackModifierSet_name = "height"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_LANGUAGE: ++ case int(LC_LANGUAGE): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setLanguage; + _actionTrackModifierSet_name = "language"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_HDLRNAME: ++ case int(LC_HDLRNAME): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setHandlerName; + _actionTrackModifierSet_name = "handlerName"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_UDTANAME: ++ case int(LC_UDTANAME): + _action = &TrackUtility::actionTrackModifierSet; + _actionTrackModifierSet_function = &TrackModifier::setUserDataName; + _actionTrackModifierSet_name = "userDataName"; + _actionTrackModifierSet_value = prog::optarg; + break; + +- case LC_UDTANAME_R: ++ case int(LC_UDTANAME_R): + _action = &TrackUtility::actionTrackModifierRemove; + _actionTrackModifierRemove_function = &TrackModifier::removeUserDataName; + _actionTrackModifierRemove_name = "userDataName"; + break; + +- case LC_COLR_ADD: ++ case int(LC_COLR_ADD): + _action = &TrackUtility::actionColorParameterAdd; + break; + +- case LC_COLR_SET: ++ case int(LC_COLR_SET): + _action = &TrackUtility::actionColorParameterSet; + break; + +- case LC_COLR_REMOVE: ++ case int(LC_COLR_REMOVE): + _action = &TrackUtility::actionColorParameterRemove; + break; + +- case LC_PASP_PARMS: ++ case int(LC_PASP_PARMS): + _pictureAspectRatioItem.convertFromCSV( prog::optarg ); + break; + +- case LC_PASP_LIST: ++ case int(LC_PASP_LIST): + _action = &TrackUtility::actionPictureAspectRatioList; + break; + +- case LC_PASP_ADD: ++ case int(LC_PASP_ADD): + _action = &TrackUtility::actionPictureAspectRatioAdd; + break; + +- case LC_PASP_SET: ++ case int(LC_PASP_SET): + _action = &TrackUtility::actionPictureAspectRatioSet; + break; + +- case LC_PASP_REMOVE: ++ case int(LC_PASP_REMOVE): + _action = &TrackUtility::actionPictureAspectRatioRemove; + break; + diff --git a/recipes-multimedia/libmp4v2/libmp4v2_git.bb b/recipes-multimedia/libmp4v2/libmp4v2_git.bb index dd1b34747..2887287f4 100644 --- a/recipes-multimedia/libmp4v2/libmp4v2_git.bb +++ b/recipes-multimedia/libmp4v2/libmp4v2_git.bb @@ -8,6 +8,7 @@ inherit autotools-brokensep pkgconfig SRC_URI = " \ git://github.com/sergiomb2/${BPN}.git \ file://0001-add-a-configure-option-to-disable-build-of-man-pages.patch \ + file://gcc10.patch \ " SRCREV = "855e9674232808ff3be7191b697dfb56917db21f" S = "${WORKDIR}/git" -- cgit 1.2.3-korg