From d7aeedabbcebf49c1356720362a4f6f78c1b2905 Mon Sep 17 00:00:00 2001 From: Sérgio M. Basto Date: Feb 08 2017 01:12:48 +0000 Subject: Add patch for GCC7 Add new pactch 0003-Fix-out-of-tree-builds-182.patch Rename the others patches --- diff --git a/0001-Fix-make-dist.patch b/0001-Fix-make-dist.patch new file mode 100644 index 0000000..1558313 --- /dev/null +++ b/0001-Fix-make-dist.patch @@ -0,0 +1,280 @@ +From 60e346211e53257d2fd0b39d4b89ce60c9053409 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= +Date: Wed, 7 Oct 2015 03:59:59 +0100 +Subject: [PATCH 1/4] Fix make dist. + +Makes fail because make doc fails . +for more information please see : +https://github.com/sergiomb2/libmp4v2/issues/177 +--- + configure.ac | 1 + + doc/GNUmakefile.mk | 2 +- + doc/texi/Authors.texi | 2 +- + doc/texi/BuildRepository.texi | 14 +++++++------- + doc/texi/BuildSource.texi | 10 +++++----- + doc/texi/Documentation.texi | 2 +- + doc/texi/ReleaseNotes.texi | 2 +- + doc/texi/ToolGuide.texi | 2 +- + doc/texi/build/commands.texi | 14 +++++++------- + doc/texi/build/process.bootstrap.texi | 2 +- + doc/texi/build/process.build.texi | 2 +- + doc/texi/build/process.checkout.texi | 2 +- + doc/texi/build/process.configure.texi | 2 +- + doc/texi/build/process.dist.texi | 2 +- + doc/texi/build/process.extract.texi | 2 +- + doc/texi/build/process.install.texi | 2 +- + 16 files changed, 32 insertions(+), 31 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 83e9dce..8316c67 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,7 @@ AC_MSG_NOTICE([ + -->]) + + AC_CONFIG_AUX_DIR([autoaux]) ++AC_CONFIG_MACRO_DIR([m4]) + AM_INIT_AUTOMAKE([1.9.6 foreign -Wall -Wno-portability -Werror subdir-objects nostdinc no-dist-gzip dist-bzip2 dist-zip dejagnu]) + + AC_CONFIG_SRCDIR([src/mp4.cpp]) +diff --git a/doc/GNUmakefile.mk b/doc/GNUmakefile.mk +index 131b03f..dadb234 100644 +--- a/doc/GNUmakefile.mk ++++ b/doc/GNUmakefile.mk +@@ -384,4 +384,4 @@ clean-local: + ############################################################################### + + $(sort $(MKDIRS)): +- $(mkdir_p) $@ ++ $(mkdir_p) $(sort $(MKDIRS)) +diff --git a/doc/texi/Authors.texi b/doc/texi/Authors.texi +index 9ec4920..74f2cb8 100644 +--- a/doc/texi/Authors.texi ++++ b/doc/texi/Authors.texi +@@ -1,4 +1,4 @@ +-@input texinfo @c -*- Texinfo -*- ++\input texinfo @c -*- Texinfo -*- + @c %**start of header + @setfilename Authors.info + @include base/article.texi +diff --git a/doc/texi/BuildRepository.texi b/doc/texi/BuildRepository.texi +index dcae56e..f784d69 100644 +--- a/doc/texi/BuildRepository.texi ++++ b/doc/texi/BuildRepository.texi +@@ -1,4 +1,4 @@ +-@input texinfo @c -*- Texinfo -*- ++\input texinfo @c -*- Texinfo -*- + @c %**start of header + @setfilename BuildRepository.info + @include base/article.texi +@@ -19,12 +19,12 @@ This document describes the recommended process to build @value{PROJECT.name} fr + This chapter is for the impatient or those just looking for a quick summary of all the commands used in a typical build. You may skip this summary and jump to @ref{Build Process}. + + @example +-@COMMAND.checkout{} +-@COMMAND.bootstrap{} +-@COMMAND.configure{} +-@COMMAND.build{} +-@COMMAND.install{} +-@COMMAND.dist{} ++@COMMANDcheckout{} ++@COMMANDbootstrap{} ++@COMMANDconfigure{} ++@COMMANDbuild{} ++@COMMANDinstall{} ++@COMMANDdist{} + @end example + + @anchor{Build Process} +diff --git a/doc/texi/BuildSource.texi b/doc/texi/BuildSource.texi +index 233ecdb..853dd30 100644 +--- a/doc/texi/BuildSource.texi ++++ b/doc/texi/BuildSource.texi +@@ -1,4 +1,4 @@ +-@input texinfo @c -*- Texinfo -*- ++\input texinfo @c -*- Texinfo -*- + @c %**start of header + @setfilename BuildSource.info + @include base/article.texi +@@ -19,10 +19,10 @@ This document describes the recommended process to build @value{PROJECT.name} fr + This chapter is for the impatient or those just looking for a quick summary of all the commands used in a typical build. You may skip this summary and jump to @ref{Build Process}. + + @example +-@COMMAND.extract{} +-@COMMAND.configure{} +-@COMMAND.build{} +-@COMMAND.install{} ++@COMMANDextract{} ++@COMMANDconfigure{} ++@COMMANDbuild{} ++@COMMANDinstall{} + @end example + + @anchor{Build Process} +diff --git a/doc/texi/Documentation.texi b/doc/texi/Documentation.texi +index 7b85fa1..15554aa 100644 +--- a/doc/texi/Documentation.texi ++++ b/doc/texi/Documentation.texi +@@ -1,4 +1,4 @@ +-@input texinfo @c -*- Texinfo -*- ++\input texinfo @c -*- Texinfo -*- + @c %**start of header + @setfilename Documentation.info + @include base/article.texi +diff --git a/doc/texi/ReleaseNotes.texi b/doc/texi/ReleaseNotes.texi +index 2e3d189..ac276a4 100644 +--- a/doc/texi/ReleaseNotes.texi ++++ b/doc/texi/ReleaseNotes.texi +@@ -1,4 +1,4 @@ +-@input texinfo @c -*- Texinfo -*- ++\input texinfo @c -*- Texinfo -*- + @c %**start of header + @setfilename ReleaseNotes.info + @include base/article.texi +diff --git a/doc/texi/ToolGuide.texi b/doc/texi/ToolGuide.texi +index a951f26..7b3398a 100644 +--- a/doc/texi/ToolGuide.texi ++++ b/doc/texi/ToolGuide.texi +@@ -1,4 +1,4 @@ +-@input texinfo @c -*- Texinfo -*- ++\input texinfo @c -*- Texinfo -*- + @c %**start of header + @setfilename ToolGuide.info + @include base/guide.texi +diff --git a/doc/texi/build/commands.texi b/doc/texi/build/commands.texi +index 8ef9ec9..79e42f7 100644 +--- a/doc/texi/build/commands.texi ++++ b/doc/texi/build/commands.texi +@@ -1,33 +1,33 @@ +-@macro COMMAND.checkout{} ++@macro COMMANDcheckout{} + svn checkout @value{PROJECT.repo.url} @value{PROJECT.name.lower} + cd @value{PROJECT.name.lower} + @end macro + +-@macro COMMAND.bootstrap{} ++@macro COMMANDbootstrap{} + autoreconf -fiv + @end macro + +-@macro COMMAND.extract{} ++@macro COMMANDextract{} + tar xf @value{PROJECT.name.lower}-@value{PROJECT.version}.tar.bz2 + cd @value{PROJECT.name.lower}-@value{PROJECT.version}/ + @end macro + +-@macro COMMAND.configure{} ++@macro COMMANDconfigure{} + rm -fr build/ + mkdir build/ + cd build/ + ../configure + @end macro + +-@macro COMMAND.build{} ++@macro COMMANDbuild{} + make + @end macro + +-@macro COMMAND.install{} ++@macro COMMANDinstall{} + make install + make install-man + @end macro + +-@macro COMMAND.dist{} ++@macro COMMANDdist{} + make dist + @end macro +diff --git a/doc/texi/build/process.bootstrap.texi b/doc/texi/build/process.bootstrap.texi +index f8153e9..cb538ac 100644 +--- a/doc/texi/build/process.bootstrap.texi ++++ b/doc/texi/build/process.bootstrap.texi +@@ -3,7 +3,7 @@ + The following command causes forces Autotools to regenerate all files and install helper scripts needed at configure-time and to regenerate all files. + + @example +-@COMMAND.bootstrap{} ++@COMMANDbootstrap{} + @end example + + If you are a project member and preparing for a release, it is important to note that the versions of Autotools available in your path will directly effect files added to the bundle. At the time of writing, the following versions of Autotools are recommended; in some cases a minimum is hard-coded and warnings will be issued if in violation: +diff --git a/doc/texi/build/process.build.texi b/doc/texi/build/process.build.texi +index 5e9d7a8..cb178df 100644 +--- a/doc/texi/build/process.build.texi ++++ b/doc/texi/build/process.build.texi +@@ -3,7 +3,7 @@ + The following command will build @value{PROJECT.name}. + + @example +-@COMMAND.build{} ++@COMMANDbuild{} + @end example + + On some platforms @code{make} refers to a BSD-flavor of make which is not compatible with this project. Check if @code{gmake} is installed, and if it is, substitute @code{gmake} wherever you may see @code{make} in this document. Otherwise you will need to install GNU make package version 3.81 or higher. Lower versions might work. +diff --git a/doc/texi/build/process.checkout.texi b/doc/texi/build/process.checkout.texi +index 5bf371a..550fd0f 100644 +--- a/doc/texi/build/process.checkout.texi ++++ b/doc/texi/build/process.checkout.texi +@@ -7,7 +7,7 @@ Sources are checked out from either the trunk, release or a branch. This documen + If you are a project member, then you may add the appropriate login/password information as needed. + + @example +-@COMMAND.checkout{} ++@COMMANDcheckout{} + @end example + + It is recommended to use Subversion 1.5.0 or higher. +diff --git a/doc/texi/build/process.configure.texi b/doc/texi/build/process.configure.texi +index 19f427d..6750681 100644 +--- a/doc/texi/build/process.configure.texi ++++ b/doc/texi/build/process.configure.texi +@@ -3,7 +3,7 @@ + The following command configures the project for a build. It is highly recommended that you invoke configure from an empty directory. + + @example +-@COMMAND.configure{} ++@COMMANDconfigure{} + @end example + + Please see @file{INSTALL} for details on configure usage, and standard options. Additionally, the following custom options have been added to @file{configure}: +diff --git a/doc/texi/build/process.dist.texi b/doc/texi/build/process.dist.texi +index 2d8b10b..a9d835b 100644 +--- a/doc/texi/build/process.dist.texi ++++ b/doc/texi/build/process.dist.texi +@@ -3,7 +3,7 @@ + The following command will create a @value{PROJECT.name} source distribution. It is during this step that shipped documentation is generated. + + @example +-@COMMAND.dist{} ++@COMMANDdist{} + @end example + + This step in the build process introduces additional requirements to the host system. While most of the following utilities are generally available, @command{help2man} is used to generate man-pages; however if this command is not available the man-pages will be empty. This is acceptable for non-release builds but for full quality builds this command is required. +diff --git a/doc/texi/build/process.extract.texi b/doc/texi/build/process.extract.texi +index b019cac..efad39e 100644 +--- a/doc/texi/build/process.extract.texi ++++ b/doc/texi/build/process.extract.texi +@@ -2,7 +2,7 @@ + Extract sources from a @value{TERM.srcdist} bundle. Releases are available from @url{@value{PROJECT.url.website}} in the @url{@value{PROJECT.url.downloads},downloads} section. + + @example +-@COMMAND.extract{} ++@COMMANDextract{} + @end example + + Older versions of @code{tar} may not automatically uncompress the bundle, so you might have to either enter additional flags manually, or first decompress the bundle before extracting. Some possible command variations for uncompressing a @file{bz2} file: +diff --git a/doc/texi/build/process.install.texi b/doc/texi/build/process.install.texi +index 9087853..e3b27dd 100644 +--- a/doc/texi/build/process.install.texi ++++ b/doc/texi/build/process.install.texi +@@ -4,5 +4,5 @@ + The following command will install @value{PROJECT.name}. + + @example +-@COMMAND.install{} ++@COMMANDinstall{} + @end example +-- +2.7.4 + diff --git a/0002-Install-man-man3-BTW-like-in-libmp4v2-1.5.0.1.patch b/0002-Install-man-man3-BTW-like-in-libmp4v2-1.5.0.1.patch new file mode 100644 index 0000000..1d43b5b --- /dev/null +++ b/0002-Install-man-man3-BTW-like-in-libmp4v2-1.5.0.1.patch @@ -0,0 +1,112 @@ +From fc65e21b1fe12cb3d51a8bc8152efbebedabbd6f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= +Date: Wed, 7 Oct 2015 04:25:20 +0100 +Subject: [PATCH 2/4] Install man/man3/, BTW like in libmp4v2-1.5.0.1 + +And fix 30 annoying warnings "target x given more than once in the same +rule" +--- + GNUmakefile.am | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + doc/GNUmakefile.mk | 2 +- + 2 files changed, 74 insertions(+), 1 deletion(-) + +diff --git a/GNUmakefile.am b/GNUmakefile.am +index 947e6e3..ea45d75 100644 +--- a/GNUmakefile.am ++++ b/GNUmakefile.am +@@ -296,6 +296,79 @@ if ADD_MANS + doc/man/man1/mp4file.1 \ + doc/man/man1/mp4subtitle.1 \ + doc/man/man1/mp4track.1 ++ man3_MANS = \ ++ doc/MP4.3 \ ++ doc/MP4AddRtpESConfigurationPacket.3 \ ++ doc/MP4AddRtpHint.3 \ ++ doc/MP4AddRtpImmediateData.3 \ ++ doc/MP4AddRtpPacket.3 \ ++ doc/MP4AddRtpSampleData.3 \ ++ doc/MP4AddRtpVideoHint.3 \ ++ doc/MP4AddTrackEdit.3 \ ++ doc/MP4AppendHintTrackSdp.3 \ ++ doc/MP4AppendSessionSdp.3 \ ++ doc/MP4BinaryToBase16.3 \ ++ doc/MP4BinaryToBase64.3 \ ++ doc/MP4CloneTrack.3 \ ++ doc/MP4ConvertFromMovieDuration.3 \ ++ doc/MP4ConvertFromTrackTimestamp.3 \ ++ doc/MP4ConvertToTrackTimestamp.3 \ ++ doc/MP4CopyTrack.3 \ ++ doc/MP4DeleteTrack.3 \ ++ doc/MP4DeleteTrackEdit.3 \ ++ doc/MP4FindTrackId.3 \ ++ doc/MP4FindTrackIndex.3 \ ++ doc/MP4GetAudioProfileLevel.3 \ ++ doc/MP4GetDuration.3 \ ++ doc/MP4GetGraphicsProfileLevel.3 \ ++ doc/MP4GetHintTrackReferenceTrackId.3 \ ++ doc/MP4GetHintTrackRtpPayload.3 \ ++ doc/MP4GetHintTrackSdp.3 \ ++ doc/MP4GetNumberOfTracks.3 \ ++ doc/MP4GetODProfileLevel.3 \ ++ doc/MP4GetRtpHintNumberOfPackets.3 \ ++ doc/MP4GetRtpPacketBFrame.3 \ ++ doc/MP4GetRtpPacketTransmitOffset.3 \ ++ doc/MP4GetRtpTimestampStart.3 \ ++ doc/MP4GetSampleIdFromEditTime.3 \ ++ doc/MP4GetSceneProfileLevel.3 \ ++ doc/MP4GetSessionSdp.3 \ ++ doc/MP4GetTrackAudioMpeg4Type.3 \ ++ doc/MP4GetTrackAudioType.3 \ ++ doc/MP4GetTrackBitRate.3 \ ++ doc/MP4GetTrackDuration.3 \ ++ doc/MP4GetTrackEditDuration.3 \ ++ doc/MP4GetTrackEditDwell.3 \ ++ doc/MP4GetTrackEditMediaStart.3 \ ++ doc/MP4GetTrackEditStart.3 \ ++ doc/MP4GetTrackEditTotalDuration.3 \ ++ doc/MP4GetTrackESConfiguration.3 \ ++ doc/MP4GetTrackFixedSampleDuration.3 \ ++ doc/MP4GetTrackNumberOfEdits.3 \ ++ doc/MP4GetTrackNumberOfSamples.3 \ ++ doc/MP4GetTrackVideoFrameRate.3 \ ++ doc/MP4GetTrackVideoHeight.3 \ ++ doc/MP4GetTrackVideoType.3 \ ++ doc/MP4GetTrackVideoWidth.3 \ ++ doc/MP4GetVideoProfileLevel.3 \ ++ doc/MP4MakeIsmaCompliant.3 \ ++ doc/MP4ReadRtpHint.3 \ ++ doc/MP4ReadRtpPacket.3 \ ++ doc/MP4ReadSampleFromEditTime.3 \ ++ doc/MP4SetAudioProfileLevel.3 \ ++ doc/MP4SetGraphicsProfileLevel.3 \ ++ doc/MP4SetHintTrackRtpPayload.3 \ ++ doc/MP4SetHintTrackSdp.3 \ ++ doc/MP4SetODProfileLevel.3 \ ++ doc/MP4SetRtpTimestampStart.3 \ ++ doc/MP4SetSceneProfileLevel.3 \ ++ doc/MP4SetSessionSdp.3 \ ++ doc/MP4SetTrackEditDuration.3 \ ++ doc/MP4SetTrackEditDwell.3 \ ++ doc/MP4SetTrackEditMediaStart.3 \ ++ doc/MP4SetTrackESConfiguration.3 \ ++ doc/MP4SetVideoProfileLevel.3 \ ++ doc/MP4WriteRtpHint.3 + endif + endif + +diff --git a/doc/GNUmakefile.mk b/doc/GNUmakefile.mk +index dadb234..1e6188e 100644 +--- a/doc/GNUmakefile.mk ++++ b/doc/GNUmakefile.mk +@@ -98,7 +98,7 @@ DOC.m4.out = \ + DOC.man.utils = mp4art mp4file mp4subtitle mp4track + DOC.man.out = $(DOC.man.utils:%=$(DOC.out/)man/man1/%.1) + +-DOC.texi.articles = $(wildcard $(DOC.in/)texi/*.texi $(DOC.out/)texi/*.texi) ++DOC.texi.articles = $(wildcard $(DOC.in/)texi/*.texi) + + DOC.texi.includes = \ + doc/texi/base/project.texi \ +-- +2.7.4 + diff --git a/0003-Fix-out-of-tree-builds-182.patch b/0003-Fix-out-of-tree-builds-182.patch new file mode 100644 index 0000000..a78b373 --- /dev/null +++ b/0003-Fix-out-of-tree-builds-182.patch @@ -0,0 +1,169 @@ +From d7de4350e9fb40c296798f2d0b5197aa760dd417 Mon Sep 17 00:00:00 2001 +From: Sam Thursfield +Date: Mon, 6 Feb 2017 06:23:19 +0100 +Subject: [PATCH 3/4] Fix out-of-tree builds (#182) + +Building with srcdir!=builddir was failing with a "no rule to create +doc/MP4.3" error. +--- + GNUmakefile.am | 144 ++++++++++++++++++++++++++++----------------------------- + 1 file changed, 72 insertions(+), 72 deletions(-) + +diff --git a/GNUmakefile.am b/GNUmakefile.am +index ea45d75..4b30ee6 100644 +--- a/GNUmakefile.am ++++ b/GNUmakefile.am +@@ -297,78 +297,78 @@ if ADD_MANS + doc/man/man1/mp4subtitle.1 \ + doc/man/man1/mp4track.1 + man3_MANS = \ +- doc/MP4.3 \ +- doc/MP4AddRtpESConfigurationPacket.3 \ +- doc/MP4AddRtpHint.3 \ +- doc/MP4AddRtpImmediateData.3 \ +- doc/MP4AddRtpPacket.3 \ +- doc/MP4AddRtpSampleData.3 \ +- doc/MP4AddRtpVideoHint.3 \ +- doc/MP4AddTrackEdit.3 \ +- doc/MP4AppendHintTrackSdp.3 \ +- doc/MP4AppendSessionSdp.3 \ +- doc/MP4BinaryToBase16.3 \ +- doc/MP4BinaryToBase64.3 \ +- doc/MP4CloneTrack.3 \ +- doc/MP4ConvertFromMovieDuration.3 \ +- doc/MP4ConvertFromTrackTimestamp.3 \ +- doc/MP4ConvertToTrackTimestamp.3 \ +- doc/MP4CopyTrack.3 \ +- doc/MP4DeleteTrack.3 \ +- doc/MP4DeleteTrackEdit.3 \ +- doc/MP4FindTrackId.3 \ +- doc/MP4FindTrackIndex.3 \ +- doc/MP4GetAudioProfileLevel.3 \ +- doc/MP4GetDuration.3 \ +- doc/MP4GetGraphicsProfileLevel.3 \ +- doc/MP4GetHintTrackReferenceTrackId.3 \ +- doc/MP4GetHintTrackRtpPayload.3 \ +- doc/MP4GetHintTrackSdp.3 \ +- doc/MP4GetNumberOfTracks.3 \ +- doc/MP4GetODProfileLevel.3 \ +- doc/MP4GetRtpHintNumberOfPackets.3 \ +- doc/MP4GetRtpPacketBFrame.3 \ +- doc/MP4GetRtpPacketTransmitOffset.3 \ +- doc/MP4GetRtpTimestampStart.3 \ +- doc/MP4GetSampleIdFromEditTime.3 \ +- doc/MP4GetSceneProfileLevel.3 \ +- doc/MP4GetSessionSdp.3 \ +- doc/MP4GetTrackAudioMpeg4Type.3 \ +- doc/MP4GetTrackAudioType.3 \ +- doc/MP4GetTrackBitRate.3 \ +- doc/MP4GetTrackDuration.3 \ +- doc/MP4GetTrackEditDuration.3 \ +- doc/MP4GetTrackEditDwell.3 \ +- doc/MP4GetTrackEditMediaStart.3 \ +- doc/MP4GetTrackEditStart.3 \ +- doc/MP4GetTrackEditTotalDuration.3 \ +- doc/MP4GetTrackESConfiguration.3 \ +- doc/MP4GetTrackFixedSampleDuration.3 \ +- doc/MP4GetTrackNumberOfEdits.3 \ +- doc/MP4GetTrackNumberOfSamples.3 \ +- doc/MP4GetTrackVideoFrameRate.3 \ +- doc/MP4GetTrackVideoHeight.3 \ +- doc/MP4GetTrackVideoType.3 \ +- doc/MP4GetTrackVideoWidth.3 \ +- doc/MP4GetVideoProfileLevel.3 \ +- doc/MP4MakeIsmaCompliant.3 \ +- doc/MP4ReadRtpHint.3 \ +- doc/MP4ReadRtpPacket.3 \ +- doc/MP4ReadSampleFromEditTime.3 \ +- doc/MP4SetAudioProfileLevel.3 \ +- doc/MP4SetGraphicsProfileLevel.3 \ +- doc/MP4SetHintTrackRtpPayload.3 \ +- doc/MP4SetHintTrackSdp.3 \ +- doc/MP4SetODProfileLevel.3 \ +- doc/MP4SetRtpTimestampStart.3 \ +- doc/MP4SetSceneProfileLevel.3 \ +- doc/MP4SetSessionSdp.3 \ +- doc/MP4SetTrackEditDuration.3 \ +- doc/MP4SetTrackEditDwell.3 \ +- doc/MP4SetTrackEditMediaStart.3 \ +- doc/MP4SetTrackESConfiguration.3 \ +- doc/MP4SetVideoProfileLevel.3 \ +- doc/MP4WriteRtpHint.3 ++ $(top_srcdir)/doc/MP4.3 \ ++ $(top_srcdir)/doc/MP4AddRtpESConfigurationPacket.3 \ ++ $(top_srcdir)/doc/MP4AddRtpHint.3 \ ++ $(top_srcdir)/doc/MP4AddRtpImmediateData.3 \ ++ $(top_srcdir)/doc/MP4AddRtpPacket.3 \ ++ $(top_srcdir)/doc/MP4AddRtpSampleData.3 \ ++ $(top_srcdir)/doc/MP4AddRtpVideoHint.3 \ ++ $(top_srcdir)/doc/MP4AddTrackEdit.3 \ ++ $(top_srcdir)/doc/MP4AppendHintTrackSdp.3 \ ++ $(top_srcdir)/doc/MP4AppendSessionSdp.3 \ ++ $(top_srcdir)/doc/MP4BinaryToBase16.3 \ ++ $(top_srcdir)/doc/MP4BinaryToBase64.3 \ ++ $(top_srcdir)/doc/MP4CloneTrack.3 \ ++ $(top_srcdir)/doc/MP4ConvertFromMovieDuration.3 \ ++ $(top_srcdir)/doc/MP4ConvertFromTrackTimestamp.3 \ ++ $(top_srcdir)/doc/MP4ConvertToTrackTimestamp.3 \ ++ $(top_srcdir)/doc/MP4CopyTrack.3 \ ++ $(top_srcdir)/doc/MP4DeleteTrack.3 \ ++ $(top_srcdir)/doc/MP4DeleteTrackEdit.3 \ ++ $(top_srcdir)/doc/MP4FindTrackId.3 \ ++ $(top_srcdir)/doc/MP4FindTrackIndex.3 \ ++ $(top_srcdir)/doc/MP4GetAudioProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4GetDuration.3 \ ++ $(top_srcdir)/doc/MP4GetGraphicsProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4GetHintTrackReferenceTrackId.3 \ ++ $(top_srcdir)/doc/MP4GetHintTrackRtpPayload.3 \ ++ $(top_srcdir)/doc/MP4GetHintTrackSdp.3 \ ++ $(top_srcdir)/doc/MP4GetNumberOfTracks.3 \ ++ $(top_srcdir)/doc/MP4GetODProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4GetRtpHintNumberOfPackets.3 \ ++ $(top_srcdir)/doc/MP4GetRtpPacketBFrame.3 \ ++ $(top_srcdir)/doc/MP4GetRtpPacketTransmitOffset.3 \ ++ $(top_srcdir)/doc/MP4GetRtpTimestampStart.3 \ ++ $(top_srcdir)/doc/MP4GetSampleIdFromEditTime.3 \ ++ $(top_srcdir)/doc/MP4GetSceneProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4GetSessionSdp.3 \ ++ $(top_srcdir)/doc/MP4GetTrackAudioMpeg4Type.3 \ ++ $(top_srcdir)/doc/MP4GetTrackAudioType.3 \ ++ $(top_srcdir)/doc/MP4GetTrackBitRate.3 \ ++ $(top_srcdir)/doc/MP4GetTrackDuration.3 \ ++ $(top_srcdir)/doc/MP4GetTrackEditDuration.3 \ ++ $(top_srcdir)/doc/MP4GetTrackEditDwell.3 \ ++ $(top_srcdir)/doc/MP4GetTrackEditMediaStart.3 \ ++ $(top_srcdir)/doc/MP4GetTrackEditStart.3 \ ++ $(top_srcdir)/doc/MP4GetTrackEditTotalDuration.3 \ ++ $(top_srcdir)/doc/MP4GetTrackESConfiguration.3 \ ++ $(top_srcdir)/doc/MP4GetTrackFixedSampleDuration.3 \ ++ $(top_srcdir)/doc/MP4GetTrackNumberOfEdits.3 \ ++ $(top_srcdir)/doc/MP4GetTrackNumberOfSamples.3 \ ++ $(top_srcdir)/doc/MP4GetTrackVideoFrameRate.3 \ ++ $(top_srcdir)/doc/MP4GetTrackVideoHeight.3 \ ++ $(top_srcdir)/doc/MP4GetTrackVideoType.3 \ ++ $(top_srcdir)/doc/MP4GetTrackVideoWidth.3 \ ++ $(top_srcdir)/doc/MP4GetVideoProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4MakeIsmaCompliant.3 \ ++ $(top_srcdir)/doc/MP4ReadRtpHint.3 \ ++ $(top_srcdir)/doc/MP4ReadRtpPacket.3 \ ++ $(top_srcdir)/doc/MP4ReadSampleFromEditTime.3 \ ++ $(top_srcdir)/doc/MP4SetAudioProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4SetGraphicsProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4SetHintTrackRtpPayload.3 \ ++ $(top_srcdir)/doc/MP4SetHintTrackSdp.3 \ ++ $(top_srcdir)/doc/MP4SetODProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4SetRtpTimestampStart.3 \ ++ $(top_srcdir)/doc/MP4SetSceneProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4SetSessionSdp.3 \ ++ $(top_srcdir)/doc/MP4SetTrackEditDuration.3 \ ++ $(top_srcdir)/doc/MP4SetTrackEditDwell.3 \ ++ $(top_srcdir)/doc/MP4SetTrackEditMediaStart.3 \ ++ $(top_srcdir)/doc/MP4SetTrackESConfiguration.3 \ ++ $(top_srcdir)/doc/MP4SetVideoProfileLevel.3 \ ++ $(top_srcdir)/doc/MP4WriteRtpHint.3 + endif + endif + +-- +2.7.4 + diff --git a/0004-Fix-GCC7-build.patch b/0004-Fix-GCC7-build.patch new file mode 100644 index 0000000..dec02f9 --- /dev/null +++ b/0004-Fix-GCC7-build.patch @@ -0,0 +1,30 @@ +From 855e9674232808ff3be7191b697dfb56917db21f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= +Date: Wed, 8 Feb 2017 00:56:32 +0000 +Subject: [PATCH 4/4] Fix GCC7 build + +if (*pSlash != '\0') { + +As it stands the body of that if will always execute and when there are +no encoding parameters ppEncodingParams will be returned as a pointer to +an empty string rather than as a null pointer +--- + src/rtphint.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rtphint.cpp b/src/rtphint.cpp +index e07309d..1eb01f5 100644 +--- a/src/rtphint.cpp ++++ b/src/rtphint.cpp +@@ -339,7 +339,7 @@ void MP4RtpHintTrack::GetPayload( + pSlash = strchr(pSlash, '/'); + if (pSlash != NULL) { + pSlash++; +- if (pSlash != '\0') { ++ if (*pSlash != '\0') { + length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap); + *ppEncodingParams = (char *)MP4Calloc(length + 1); + strncpy(*ppEncodingParams, pSlash, length); +-- +2.7.4 + diff --git a/libmp4v2.spec b/libmp4v2.spec index 3ec35d9..ed42395 100644 --- a/libmp4v2.spec +++ b/libmp4v2.spec @@ -4,7 +4,7 @@ Summary: Library for working with files using the mp4 container format Name: libmp4v2 Version: 2.1.0 -Release: 0.7%{gver}%{?dist} +Release: 0.8%{gver}%{?dist} License: MPLv1.1 Group: System Environment/Libraries URL: http://code.google.com/p/mp4v2 @@ -13,8 +13,11 @@ Source0: http://mp4v2.googlecode.com/files/mp4v2-trunk-r%{svnversion}.tar.bz2 Source1: make-svn-snapshot.sh # upstreamable patch # Reference: https://code.google.com/p/mp4v2/issues/detail?id=177 -Patch0: mp4v2-2.1-fixdoc.patch -Patch1: mp4v2-2.1-fixdoc2.patch +Patch1: 0001-Fix-make-dist.patch +Patch2: 0002-Install-man-man3-BTW-like-in-libmp4v2-1.5.0.1.patch +Patch3: 0003-Fix-out-of-tree-builds-182.patch +Patch4: 0004-Fix-GCC7-build.patch + BuildRequires: autoconf automake gettext-devel libtool texinfo svn BuildRequires: python%{python3_pkgversion} doxygen @@ -36,8 +39,10 @@ using the libmp4v2 library. %prep %setup -q -n mp4v2-trunk -%patch0 -p0 -b .doc -%patch1 -p0 -b .doc2 +%patch1 -p1 -b .doc +%patch2 -p1 -b .doc2 +%patch3 -p1 -b .doc3 +%patch4 -p1 -b .gcc7 %build autoreconf --force --install --verbose @@ -72,6 +77,11 @@ find %{buildroot} -name '*.la' -delete %changelog +* Wed Feb 08 2017 Sérgio Basto - 2.1.0-0.8.trunkREV507 +- Add patch for GCC7 +- Add new pactch 0003-Fix-out-of-tree-builds-182.patch +- Rename the others patches + * Mon Feb 06 2017 Sérgio Basto - 2.1.0-0.7.trunkREV507 - Fix python3 support in EPEL7 diff --git a/mp4v2-2.1-fixdoc.patch b/mp4v2-2.1-fixdoc.patch deleted file mode 100644 index 19b7fd2..0000000 --- a/mp4v2-2.1-fixdoc.patch +++ /dev/null @@ -1,219 +0,0 @@ ---- configure.ac (revision 507) -+++ configure.ac (working copy) -@@ -35,6 +35,7 @@ - -->]) - - AC_CONFIG_AUX_DIR([autoaux]) -+AC_CONFIG_MACRO_DIR([m4]) - AM_INIT_AUTOMAKE([1.9.6 foreign -Wall -Wno-portability -Werror subdir-objects nostdinc no-dist-gzip dist-bzip2 dist-zip dejagnu]) - - AC_CONFIG_SRCDIR([src/mp4.cpp]) ---- doc/GNUmakefile.mk (revision 507) -+++ doc/GNUmakefile.mk (working copy) -@@ -384,4 +384,4 @@ - ############################################################################### - - $(sort $(MKDIRS)): -- $(mkdir_p) $@ -+ $(mkdir_p) $(sort $(MKDIRS)) ---- doc/texi/Authors.texi (revision 507) -+++ doc/texi/Authors.texi (working copy) -@@ -1,4 +1,4 @@ --@input texinfo @c -*- Texinfo -*- -+\input texinfo @c -*- Texinfo -*- - @c %**start of header - @setfilename Authors.info - @include base/article.texi ---- doc/texi/BuildRepository.texi (revision 507) -+++ doc/texi/BuildRepository.texi (working copy) -@@ -1,4 +1,4 @@ --@input texinfo @c -*- Texinfo -*- -+\input texinfo @c -*- Texinfo -*- - @c %**start of header - @setfilename BuildRepository.info - @include base/article.texi -@@ -19,12 +19,12 @@ - This chapter is for the impatient or those just looking for a quick summary of all the commands used in a typical build. You may skip this summary and jump to @ref{Build Process}. - - @example --@COMMAND.checkout{} --@COMMAND.bootstrap{} --@COMMAND.configure{} --@COMMAND.build{} --@COMMAND.install{} --@COMMAND.dist{} -+@COMMANDcheckout{} -+@COMMANDbootstrap{} -+@COMMANDconfigure{} -+@COMMANDbuild{} -+@COMMANDinstall{} -+@COMMANDdist{} - @end example - - @anchor{Build Process} ---- doc/texi/BuildSource.texi (revision 507) -+++ doc/texi/BuildSource.texi (working copy) -@@ -1,4 +1,4 @@ --@input texinfo @c -*- Texinfo -*- -+\input texinfo @c -*- Texinfo -*- - @c %**start of header - @setfilename BuildSource.info - @include base/article.texi -@@ -19,10 +19,10 @@ - This chapter is for the impatient or those just looking for a quick summary of all the commands used in a typical build. You may skip this summary and jump to @ref{Build Process}. - - @example --@COMMAND.extract{} --@COMMAND.configure{} --@COMMAND.build{} --@COMMAND.install{} -+@COMMANDextract{} -+@COMMANDconfigure{} -+@COMMANDbuild{} -+@COMMANDinstall{} - @end example - - @anchor{Build Process} ---- doc/texi/Documentation.texi (revision 507) -+++ doc/texi/Documentation.texi (working copy) -@@ -1,4 +1,4 @@ --@input texinfo @c -*- Texinfo -*- -+\input texinfo @c -*- Texinfo -*- - @c %**start of header - @setfilename Documentation.info - @include base/article.texi ---- doc/texi/ReleaseNotes.texi (revision 507) -+++ doc/texi/ReleaseNotes.texi (working copy) -@@ -1,4 +1,4 @@ --@input texinfo @c -*- Texinfo -*- -+\input texinfo @c -*- Texinfo -*- - @c %**start of header - @setfilename ReleaseNotes.info - @include base/article.texi ---- doc/texi/ToolGuide.texi (revision 507) -+++ doc/texi/ToolGuide.texi (working copy) -@@ -1,4 +1,4 @@ --@input texinfo @c -*- Texinfo -*- -+\input texinfo @c -*- Texinfo -*- - @c %**start of header - @setfilename ToolGuide.info - @include base/guide.texi ---- doc/texi/build/commands.texi (revision 507) -+++ doc/texi/build/commands.texi (working copy) -@@ -1,18 +1,18 @@ --@macro COMMAND.checkout{} -+@macro COMMANDcheckout{} - svn checkout @value{PROJECT.repo.url} @value{PROJECT.name.lower} - cd @value{PROJECT.name.lower} - @end macro - --@macro COMMAND.bootstrap{} -+@macro COMMANDbootstrap{} - autoreconf -fiv - @end macro - --@macro COMMAND.extract{} -+@macro COMMANDextract{} - tar xf @value{PROJECT.name.lower}-@value{PROJECT.version}.tar.bz2 - cd @value{PROJECT.name.lower}-@value{PROJECT.version}/ - @end macro - --@macro COMMAND.configure{} -+@macro COMMANDconfigure{} - rm -fr build/ - mkdir build/ - cd build/ -@@ -19,15 +19,15 @@ - ../configure - @end macro - --@macro COMMAND.build{} -+@macro COMMANDbuild{} - make - @end macro - --@macro COMMAND.install{} -+@macro COMMANDinstall{} - make install - make install-man - @end macro - --@macro COMMAND.dist{} -+@macro COMMANDdist{} - make dist - @end macro ---- doc/texi/build/process.bootstrap.texi (revision 507) -+++ doc/texi/build/process.bootstrap.texi (working copy) -@@ -3,7 +3,7 @@ - The following command causes forces Autotools to regenerate all files and install helper scripts needed at configure-time and to regenerate all files. - - @example --@COMMAND.bootstrap{} -+@COMMANDbootstrap{} - @end example - - If you are a project member and preparing for a release, it is important to note that the versions of Autotools available in your path will directly effect files added to the bundle. At the time of writing, the following versions of Autotools are recommended; in some cases a minimum is hard-coded and warnings will be issued if in violation: ---- doc/texi/build/process.build.texi (revision 507) -+++ doc/texi/build/process.build.texi (working copy) -@@ -3,7 +3,7 @@ - The following command will build @value{PROJECT.name}. - - @example --@COMMAND.build{} -+@COMMANDbuild{} - @end example - - On some platforms @code{make} refers to a BSD-flavor of make which is not compatible with this project. Check if @code{gmake} is installed, and if it is, substitute @code{gmake} wherever you may see @code{make} in this document. Otherwise you will need to install GNU make package version 3.81 or higher. Lower versions might work. ---- doc/texi/build/process.checkout.texi (revision 507) -+++ doc/texi/build/process.checkout.texi (working copy) -@@ -7,7 +7,7 @@ - If you are a project member, then you may add the appropriate login/password information as needed. - - @example --@COMMAND.checkout{} -+@COMMANDcheckout{} - @end example - - It is recommended to use Subversion 1.5.0 or higher. ---- doc/texi/build/process.configure.texi (revision 507) -+++ doc/texi/build/process.configure.texi (working copy) -@@ -3,7 +3,7 @@ - The following command configures the project for a build. It is highly recommended that you invoke configure from an empty directory. - - @example --@COMMAND.configure{} -+@COMMANDconfigure{} - @end example - - Please see @file{INSTALL} for details on configure usage, and standard options. Additionally, the following custom options have been added to @file{configure}: ---- doc/texi/build/process.dist.texi (revision 507) -+++ doc/texi/build/process.dist.texi (working copy) -@@ -3,7 +3,7 @@ - The following command will create a @value{PROJECT.name} source distribution. It is during this step that shipped documentation is generated. - - @example --@COMMAND.dist{} -+@COMMANDdist{} - @end example - - This step in the build process introduces additional requirements to the host system. While most of the following utilities are generally available, @command{help2man} is used to generate man-pages; however if this command is not available the man-pages will be empty. This is acceptable for non-release builds but for full quality builds this command is required. ---- doc/texi/build/process.extract.texi (revision 507) -+++ doc/texi/build/process.extract.texi (working copy) -@@ -2,7 +2,7 @@ - Extract sources from a @value{TERM.srcdist} bundle. Releases are available from @url{@value{PROJECT.url.website}} in the @url{@value{PROJECT.url.downloads},downloads} section. - - @example --@COMMAND.extract{} -+@COMMANDextract{} - @end example - - Older versions of @code{tar} may not automatically uncompress the bundle, so you might have to either enter additional flags manually, or first decompress the bundle before extracting. Some possible command variations for uncompressing a @file{bz2} file: ---- doc/texi/build/process.install.texi (revision 507) -+++ doc/texi/build/process.install.texi (working copy) -@@ -4,5 +4,5 @@ - The following command will install @value{PROJECT.name}. - - @example --@COMMAND.install{} -+@COMMANDinstall{} - @end example diff --git a/mp4v2-2.1-fixdoc2.patch b/mp4v2-2.1-fixdoc2.patch deleted file mode 100644 index 00cb207..0000000 --- a/mp4v2-2.1-fixdoc2.patch +++ /dev/null @@ -1,95 +0,0 @@ -Install man/man3/, BTW like in libmp4v2-1.5.0.1 -Fix 30 annoying warnings "target x given more than once in the same rule" ---- ./GNUmakefile.am.orig 2015-10-03 16:32:32.790288451 +0100 -+++ ./GNUmakefile.am 2015-10-03 17:16:18.548015521 +0100 -@@ -296,6 +296,79 @@ if ADD_MANS - doc/man/man1/mp4file.1 \ - doc/man/man1/mp4subtitle.1 \ - doc/man/man1/mp4track.1 -+ man3_MANS = \ -+ doc/MP4.3 \ -+ doc/MP4AddRtpESConfigurationPacket.3 \ -+ doc/MP4AddRtpHint.3 \ -+ doc/MP4AddRtpImmediateData.3 \ -+ doc/MP4AddRtpPacket.3 \ -+ doc/MP4AddRtpSampleData.3 \ -+ doc/MP4AddRtpVideoHint.3 \ -+ doc/MP4AddTrackEdit.3 \ -+ doc/MP4AppendHintTrackSdp.3 \ -+ doc/MP4AppendSessionSdp.3 \ -+ doc/MP4BinaryToBase16.3 \ -+ doc/MP4BinaryToBase64.3 \ -+ doc/MP4CloneTrack.3 \ -+ doc/MP4ConvertFromMovieDuration.3 \ -+ doc/MP4ConvertFromTrackTimestamp.3 \ -+ doc/MP4ConvertToTrackTimestamp.3 \ -+ doc/MP4CopyTrack.3 \ -+ doc/MP4DeleteTrack.3 \ -+ doc/MP4DeleteTrackEdit.3 \ -+ doc/MP4FindTrackId.3 \ -+ doc/MP4FindTrackIndex.3 \ -+ doc/MP4GetAudioProfileLevel.3 \ -+ doc/MP4GetDuration.3 \ -+ doc/MP4GetGraphicsProfileLevel.3 \ -+ doc/MP4GetHintTrackReferenceTrackId.3 \ -+ doc/MP4GetHintTrackRtpPayload.3 \ -+ doc/MP4GetHintTrackSdp.3 \ -+ doc/MP4GetNumberOfTracks.3 \ -+ doc/MP4GetODProfileLevel.3 \ -+ doc/MP4GetRtpHintNumberOfPackets.3 \ -+ doc/MP4GetRtpPacketBFrame.3 \ -+ doc/MP4GetRtpPacketTransmitOffset.3 \ -+ doc/MP4GetRtpTimestampStart.3 \ -+ doc/MP4GetSampleIdFromEditTime.3 \ -+ doc/MP4GetSceneProfileLevel.3 \ -+ doc/MP4GetSessionSdp.3 \ -+ doc/MP4GetTrackAudioMpeg4Type.3 \ -+ doc/MP4GetTrackAudioType.3 \ -+ doc/MP4GetTrackBitRate.3 \ -+ doc/MP4GetTrackDuration.3 \ -+ doc/MP4GetTrackEditDuration.3 \ -+ doc/MP4GetTrackEditDwell.3 \ -+ doc/MP4GetTrackEditMediaStart.3 \ -+ doc/MP4GetTrackEditStart.3 \ -+ doc/MP4GetTrackEditTotalDuration.3 \ -+ doc/MP4GetTrackESConfiguration.3 \ -+ doc/MP4GetTrackFixedSampleDuration.3 \ -+ doc/MP4GetTrackNumberOfEdits.3 \ -+ doc/MP4GetTrackNumberOfSamples.3 \ -+ doc/MP4GetTrackVideoFrameRate.3 \ -+ doc/MP4GetTrackVideoHeight.3 \ -+ doc/MP4GetTrackVideoType.3 \ -+ doc/MP4GetTrackVideoWidth.3 \ -+ doc/MP4GetVideoProfileLevel.3 \ -+ doc/MP4MakeIsmaCompliant.3 \ -+ doc/MP4ReadRtpHint.3 \ -+ doc/MP4ReadRtpPacket.3 \ -+ doc/MP4ReadSampleFromEditTime.3 \ -+ doc/MP4SetAudioProfileLevel.3 \ -+ doc/MP4SetGraphicsProfileLevel.3 \ -+ doc/MP4SetHintTrackRtpPayload.3 \ -+ doc/MP4SetHintTrackSdp.3 \ -+ doc/MP4SetODProfileLevel.3 \ -+ doc/MP4SetRtpTimestampStart.3 \ -+ doc/MP4SetSceneProfileLevel.3 \ -+ doc/MP4SetSessionSdp.3 \ -+ doc/MP4SetTrackEditDuration.3 \ -+ doc/MP4SetTrackEditDwell.3 \ -+ doc/MP4SetTrackEditMediaStart.3 \ -+ doc/MP4SetTrackESConfiguration.3 \ -+ doc/MP4SetVideoProfileLevel.3 \ -+ doc/MP4WriteRtpHint.3 - endif - endif - ---- doc/GNUmakefile.mk.orig 2015-10-03 17:41:52.593061523 +0100 -+++ doc/GNUmakefile.mk 2015-10-04 00:34:23.260636428 +0100 -@@ -98,7 +98,7 @@ DOC.m4.out = \ - DOC.man.utils = mp4art mp4file mp4subtitle mp4track - DOC.man.out = $(DOC.man.utils:%=$(DOC.out/)man/man1/%.1) - --DOC.texi.articles = $(wildcard $(DOC.in/)texi/*.texi $(DOC.out/)texi/*.texi) -+DOC.texi.articles = $(wildcard $(DOC.in/)texi/*.texi) - - DOC.texi.includes = \ - doc/texi/base/project.texi \