Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

avidemux: update to 2.8.1, unbreak PowerPC #19721

Merged
merged 2 commits into from Aug 2, 2023

Conversation

barracuda156
Copy link
Contributor

Description

Let’s see if this builds. I cannot check Qt5 build – but Qt4 works fine.

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 10.6
Xcode 3.2

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL?
  • checked your Portfile with port lint --nitpick?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?
  • checked that the Portfile's most important variants haven't been broken?

@barracuda156
Copy link
Contributor Author

It fails with something odd on CI:

  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/src/ADM_cpuCap.cpp:13:
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include/ADM_default.h:41:
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include/ADM_assert.h:35:
  In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/c++/v1/new:92:
  In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/c++/v1/cstddef:42:
  /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/source/version:1:1: error: expected unqualified-id
  4.4.2
  ^
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/src/ADM_cpuCap.cpp:13:
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include/ADM_default.h:41:
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include/ADM_assert.h:35:
  In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/c++/v1/new:94:
  In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/c++/v1/exception:85:
  In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/c++/v1/type_traits:528:
  /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/source/version:1:1: error: expected unqualified-id
  4.4.2
  ^

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

common issue with c++17 and VERSION file conflict with version header

Edit: Ryan clarified it is newer compilers that support c++17 that show this error, even if not in c++17 mode

@barracuda156
Copy link
Contributor Author

barracuda156 commented Aug 2, 2023

common issue with c++17 and VERSION file conflict with version header

UPD. I have found the ticket: https://trac.macports.org/ticket/65098

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

usual fix is to move or delete the VERSION file, depending on if the build actually uses it, not restrict the compiler to some old version

@barracuda156
Copy link
Contributor Author

@kencu Well, I am not really sure if it is used. Let us see if CI pass with clang-14 to begin with; if the build itself works, then I will just go with your and @ryandesign suggestion on which fix is preferable.

@barracuda156
Copy link
Contributor Author

Ok, clang-14 fails likewise:

  In file included from /opt/local/libexec/llvm-14/bin/../include/c++/v1/new:91:
  In file included from /opt/local/libexec/llvm-14/bin/../include/c++/v1/cstddef:37:
  /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/source/version:1:1: error: expected unqualified-id
  4.4.2
  ^
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/src/ADM_cpuCap.cpp:13:
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include/ADM_default.h:41:
  In file included from /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include/ADM_assert.h:35:
  In file included from /opt/local/libexec/llvm-14/bin/../include/c++/v1/new:93:
  In file included from /opt/local/libexec/llvm-14/bin/../include/c++/v1/exception:84:
  In file included from /opt/local/libexec/llvm-14/bin/../include/c++/v1/type_traits:421:
  /opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/source/version:1:1: error: expected unqualified-id
  4.4.2
  ^

@barracuda156
Copy link
Contributor Author

And distribution uses bundled archive of FFmpeg, so it is not easy to delete anything from it -_-

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

@kencu Well, I am not really sure if it is used.

yes, you have to actually check that

Let us see if CI pass with clang-14 to begin with;

it would have made no difference if it did or not, as we can’t use that “fix” anyway

if the build itself works, then I will just go with your and @ryandesign suggestion on which fix is preferable.

haha… yes, you have been having some luck with that :) But still, people will have to come along later and do a proper fix, sooner or later.

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

And distribution uses bundled archive of FFmpeg, so it is not easy to delete anything from it -_-

It would be unfortunate if it is impossible … but luckily, there is generally a way.

@barracuda156
Copy link
Contributor Author

it would have made no difference ifvit did or not, as we can’t use that “fix” anyway

Numerous ports have been fixed by a choice of specific compilers over years, and no one died :)
(But here it does not help.)

haha… yes, you have been having some luck with that :)

I simply meant that I can follow your advice on what to choose. Since compiler-based solution does not work, there is no choice now.

But still, people will have to come along later and do a proper fix, sooner or later.

That is what I am doing here by the way, after the port was broken for multiple systems (not just powerpc) for no reason whatsoever by an unconditional switching to Qt5 support instead of adding a few extra lines of code to support both versions of Qt (while the upstream maintains support for Qt4 up till now).

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

the compiler fix we accept is, generally, blacklisting older compilers, as you know…

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

OK, I thought I'd help with this. Starting out on 10.14, we get:

[ 63%] Building CXX object ADM_coreImage/src/CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o
cd /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/ADM_coreImage/src && /opt/local/bin/ccache /usr/bin/clang++ -DADM_coreImage6_EXPORTS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/config -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioFilter/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioParser/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudio/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioDevice/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioEncoder/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreDemuxer/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreDemuxer/include/unix -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreDemuxerMpeg/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreMuxer/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreScript/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreUI/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreUtils/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreVideoEncoder/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreVideoFilter/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreVideoCodec/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImageLoader/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreJobs/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreSocket/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioCodec/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/source -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/build -Os -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=1 -stdlib=libc++ -D__STRICT_ANSI__ -Qunused-arguments   -fsanitize=address -fno-omit-frame-pointer -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -MD -MT ADM_coreImage/src/CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o -MF CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o.d -o CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o -c /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/src/ADM_colorspace.cpp
/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/src/ADM_colorspace.cpp:640:16: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'int' in initializer list [-Wc++11-narrowing]
    int xs[4]={ADM_IMAGE_ALIGN(arg->srcWidth),0,0,0};
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

so let me try a newer compiler, and I'll see if I can get it building.

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

blacklisting {clang < 1101}, we get the version-related error. The conflcting file seems to be here:

./build_core/ffmpeg/source/VERSION

but as you say, it is decompressed during the actual build it appears, so not available to us to modify in a post-extract, patch, pre-configure, configure, post-configure, or pre-build phase, as far as it seems.

@barracuda156
Copy link
Contributor Author

@kencu Thank you. What options in principle do we have? (Besides a silly one with unpacking the archive manually, deleting the file and either packing it back or modifying build config in a way it picks the unpacked one.)

From the commit history it seems no one bothered to address the error: https://github.com/mean00/avidemux2/commits/master/avidemux_core/ffmpeg_package (unless I missed something or it was buried in an unrelated commit).

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

when avidemux builds ffmpeg, it applies a fair number of patches from a patch directory in the avidemux source code.

It globs the list of the patches from the patch directory and just applies them all, so I have added a patch to remove the VERSION file to the list of patches that the build applies automatically.

So far, that seems to be working... the build is continuing past the usual failure point, anyway... will report back shortly on final outcome.

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

Ah, well ... it gets past the error with the VERSION file, but then trips up on the same error as before. At least we can build with a newer compiler now, but the build still doesn't finish even with clang-15:

[ 63%] Building CXX object ADM_coreImage/src/CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o
cd /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/ADM_coreImage/src && /opt/local/bin/ccache /opt/local/bin/clang++-mp-15 -DADM_coreImage6_EXPORTS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/config -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_core/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioFilter/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioParser/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudio/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioDevice/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioEncoder/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreDemuxer/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreDemuxer/include/unix -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreDemuxerMpeg/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreMuxer/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreScript/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreUI/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreUtils/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreVideoEncoder/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreVideoFilter/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreVideoCodec/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImageLoader/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreJobs/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreSocket/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreAudioCodec/include -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/source -I/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/build_core/ffmpeg/build -Os -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=1 -stdlib=libc++ -D__STRICT_ANSI__ -Qunused-arguments   -fsanitize=address -fno-omit-frame-pointer -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -MD -MT ADM_coreImage/src/CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o -MF CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o.d -o CMakeFiles/ADM_coreImage6.dir/ADM_colorspace.cpp.o -c /opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/src/ADM_colorspace.cpp
/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/src/ADM_colorspace.cpp:640:16: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'int' in initializer list [-Wc++11-narrowing]
    int xs[4]={ADM_IMAGE_ALIGN(arg->srcWidth),0,0,0};
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

$ git diff
diff --git a/multimedia/avidemux/Portfile b/multimedia/avidemux/Portfile
index 1e55f97c082..0bc6b9d60ac 100644
--- a/multimedia/avidemux/Portfile
+++ b/multimedia/avidemux/Portfile
@@ -3,6 +3,7 @@
 PortSystem                  1.0
 PortGroup                   cmake 1.1
 PortGroup                   app 1.0
+PortGroup                   compiler_blacklist_versions 1.0
 
 if {${os.platform} eq "darwin" && ${os.major} < 14} {
     PortGroup               qt4 1.0
@@ -46,6 +47,10 @@ patchfiles-append           0001-ADM_imageSave.cpp-add-missing-header.patch \
                             0002-ADM_coreUtils.h-fix-symbols-export.patch \
                             0003-Fix-missing-ADM_swap64.patch
 
+# remove VERSION file from ffmpeg source, that conflicts with newer compilers
+# that have a <version> header
+patchfiles-append           patch-avidemux-remove-VERSION.diff
+
 depends_build-append        port:bash \
                             port:gmake \
                             port:pkgconfig \
@@ -69,6 +74,8 @@ compiler.cxx_standard       2011
 
 cmake.set_cxx_standard      yes
 
+compiler.blacklist-append   {clang < 1101}
+
 configure.cxxflags-append   -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=1
 
 configure.args-append       -DCMAKE_C_COMPILER=${configure.cc} \

and here's the patchfile - this one goes in MacPort's files dir for avidemux, and generates the new patchfile inside the avidemux source that is then used during the ffmpeg build.

diff --git avidemux_core/ffmpeg_package/patches/remove-version.patch avidemux_core/ffmpeg_package/patches/remove-version.patch
new file mode 100644
index 0000000..9a1f3d1
--- /dev/null
+++ avidemux_core/ffmpeg_package/patches/remove-version.patch
@@ -0,0 +1,7 @@
+diff --git VERSION VERSION
+deleted file mode 100755
+index 1d068c6..0000000
+--- VERSION
++++ /dev/null
+@@ -1 +0,0 @@
+-4.4.2

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

possibly upstream has already fixed this?

/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_multimedia_avidemux/avidemux/work/avidemux_2.8.1/avidemux_core/ADM_coreImage/src/ADM_colorspace.cpp:640:16: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'int' in initializer list [-Wc++11-narrowing]
    int xs[4]={ADM_IMAGE_ALIGN(arg->srcWidth),0,0,0};

if not, it will need to be fixed, perhaps with an explicit cast.

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

yeah, they have already fixed it here:

mean00/avidemux2@65878cb

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

OK, things are building away now and that last patch has fixed the narrowing error.

Blacklisting the older clang compiler does not appear required any longer. Just the two tiny patches will be needed.

No doubt upstream will find a similar way to remove the VERSION file themselves in due course, if they haven't already sorted something out.

I'll run some tests with the default clang on 10.14, which will probably work now with the patch, and with clang-16 and clang-15 to be sure they are happy, and report back when all that is done.

This one built with clang-15:

$ port -v installed avidemux
The following ports are currently installed:
  avidemux @2.8.1_0+aac+gettext+lame+opus+sqlite+twolame+vorbis+vpx+x264+x265+xvid (active) requested_variants='' platform='darwin 18' archs='x86_64' date='2023-08-02T13:24:46-0700'

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

avidemux has updated their ffmpeg version to version 6.0.

ffmpeg version 6.0 does not have a VERSION file in it. So that will fix that, next time we update avidemux.

https://git.ffmpeg.org/gitweb/ffmpeg.git/tree/refs/heads/release/6.0

remove VERSION file, which conflicts with c++17 header

use upstream patch to fix c++11 narrowing error

both of these issues should be resolved with the next
update to avidemux, as fixes have been incorporated upstream
@barracuda156
Copy link
Contributor Author

@kencu Awesome, thank you very much for helping with this!

@kencu
Copy link
Contributor

kencu commented Aug 2, 2023

whoa -- all three checks passed... better than we would have hoped.

OK -- there are likely to be build failures on the "in-between systems" ... 10.7 through 10.12 ... but we can't anticipate every one of those ahead of time, and I'm not going to build this on all those systems to find out. So... good enough.

@kencu kencu marked this pull request as ready for review August 2, 2023 22:30
@kencu kencu merged commit f0fc8a5 into macports:master Aug 2, 2023
3 checks passed
@barracuda156 barracuda156 deleted the avidemux branch August 2, 2023 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants