Bug 278705 - multimedia/ffmpeg: update to 7.0
Summary: multimedia/ffmpeg: update to 7.0
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Port Management Team
URL: https://git.ffmpeg.org/gitweb/ffmpeg....
Keywords:
Depends on: 278857 278914
Blocks:
  Show dependency treegraph
 
Reported: 2024-05-02 23:39 UTC by Jan Beich
Modified: 2024-05-23 22:17 UTC (History)
5 users (show)

See Also:
bugzilla: maintainer-feedback? (multimedia)
jbeich: exp-run?


Attachments
v1 (apply via "git am") (73.39 KB, patch)
2024-05-02 23:39 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer freebsd_triage 2024-05-02 23:39:46 UTC
Created attachment 250337 [details]
v1 (apply via "git am")

Need help unbreaking consumers (or filing bugs upstream), build testing on non-x86 architectures and runtime testing of TORCH option (-vf dnn_processing).

See also
https://github.com/search?q=ffmpeg+7.0&type=issues
https://bugs.gentoo.org/928905
Comment 1 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-03 13:33:50 UTC
(In reply to Jan Beich from comment #0)
> Need help unbreaking consumers (or filing bugs upstream)
Ok. Waiting exp-run errors.
Comment 2 Antoine Brodin freebsd_committer freebsd_triage 2024-05-05 06:17:38 UTC
Some failure logs:

https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/RetroArch-1.18.0_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/alephone-20230119_6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/aubio-0.4.9_5.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/audiowmark-0.6.2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/av1an-0.4.2_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/blender-3.6.1_11.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/bliss-music-analyzer-1.2.0.209_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/cfdg-3.4.1_4.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/citra-qt5-s20220902_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/citra-s20220902_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/cmus-2.10.0_8.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/cyanrip-0.9.2_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/dvbcut-0.7.4_6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/emu64-5.1.0.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/ffms2-2.40_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/fs2open-23.2.1_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/glaxnimate-0.5.4.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/gstreamer1-libav-1.22.10.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/kodi-20.5.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/lebiniou-3.66.0_6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/libndi-g20200630_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/libretro-ppsspp-1.16.6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/libxine-1.2.13_9.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/minidlna-1.3.3_1,1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/motion-4.6.0_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/musikcube-3.0.2_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/notcurses-3.0.8_4.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/olive-video-editor-0.1.2.20230320_6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/openenroth-g20230128_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/openmw-0.48.0_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/owntone-28.9.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/pcsx2-1.7.5698.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/pianobar-2022.04.01_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/ppsspp-1.16.6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/ppsspp-qt5-1.16.6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/py39-av-12.0.0.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/py39-libopenshot-0.3.2_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/py39-openimageio-2.4.13.0_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/qTox-1.17.6_5.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/qt5-webengine-5.15.16.p9_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/qt6-webengine-6.6.3_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/renpy-7.4.11_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/rpcs3-0.0.32.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/simplescreenrecorder-0.4.4.9_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/siren-0.10_6.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/squeezelite-1.9.9.1422_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/subtitlecomposer-0.8.0_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/taiga-s20200907_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/tg_owt-0.0.20231221_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/vapoursynth-l-smash-works-20230716_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/vlc-3.0.20_6,4.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/wf-recorder-0.4.1_1.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/wl-screenrec-0.1.3_2.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/wxsvg-1.5.24_3.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/xpra-5.0.8.log
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/zoneminder-1.36.33_3.log
Comment 3 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-06 12:08:51 UTC
(In reply to Antoine Brodin from comment #2)
> https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/zoneminder-1.36.33_3.log
Usage of removed deprecated API.
Reported to upstream: https://github.com/ZoneMinder/zoneminder/issues/3983
Comment 5 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-06 12:47:40 UTC
(In reply to Antoine Brodin from comment #2)
> https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/gstreamer1-libav-1.22.10.log

multimedia/gstreamer1-libav

2 options are possible:
1. Add patch multimedia/gstreamer1-libav/files/patch-ext_libav_gstavprotocol.c:
--- ext/libav/gstavprotocol.c.orig      2024-02-13 14:39:08 UTC
+++ ext/libav/gstavprotocol.c
@@ -102,7 +102,7 @@ gst_ffmpegdata_read (void *priv_data, unsigned char *b
 }

 static int
-gst_ffmpegdata_write (void *priv_data, uint8_t * buf, int size)
+gst_ffmpegdata_write (void *priv_data, const uint8_t * buf, int size)
 {
   GstProtocolInfo *info;
   GstBuffer *outbuf;

2. Add to multimedia/gstreamer1-libav/Makefile:
CFLAGS+=-Wno-error=incompatible-function-pointer-types
Comment 6 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-06 13:02:33 UTC
(In reply to Antoine Brodin from comment #2)
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/py39-libopenshot-0.3.2_3.log

multimedia/libopenshot

Usage of removed deprecated API.
Reported to upstream: https://github.com/OpenShot/libopenshot/issues/953
Comment 8 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-06 13:16:42 UTC
(In reply to Vladimir Druzenko from comment #7)
Miss click.

graphics/blender and graphics/py-openimageio update coming soon:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275819
https://reviews.freebsd.org/D45051

graphics/blender - "channels" field again, 4.0.2 is affected too, maybe replace "channels" with "ch_layout.nb_channels" can fix.

graphics/py-openimageio - look like not related and probably fixed after update.
Comment 10 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-06 13:29:22 UTC
(In reply to Antoine Brodin from comment #2)
https://pkg-status.freebsd.org/beefy22/data/140amd64-default-foo/2024-05-04_07h10m46s/logs/errors/libxine-1.2.13_9.log

multimedia/libxine - "reordered_opaque".
Comment 11 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-06 14:38:08 UTC
(In reply to Vladimir Druzenko from comment #3)
Probably this patch will fix build with ffmpeg7:
diff --git a/multimedia/zoneminder/Makefile b/multimedia/zoneminder/Makefile
index 69a34e271d9a..6988be6b5fe3 100644
--- a/multimedia/zoneminder/Makefile
+++ b/multimedia/zoneminder/Makefile
@@ -3,6 +3,9 @@ DISTVERSION=    1.36.33
 PORTREVISION=  3
 CATEGORIES=    multimedia

+PATCH_SITES=   https://github.com/ZoneMinder/zoneminder/commit/
+PATCHFILES+=   d7682ba95dbe0a83ba32660e3ed620292208b489.patch:-p1 # ffmpeg5+ support
+
 MAINTAINER=    bsd@abinet.ru
 COMMENT=       Complete security camera solution, fully web based with image analysis
 WWW=           https://www.zoneminder.com/
diff --git a/multimedia/zoneminder/distinfo b/multimedia/zoneminder/distinfo
index 44f06f0f9537..fa3034cd5ff9 100644
--- a/multimedia/zoneminder/distinfo
+++ b/multimedia/zoneminder/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1677226523
+TIMESTAMP = 1715006024
 SHA256 (zoneminder-zoneminder-1.36.33_GH0.tar.gz) = cd0f44c7238bcfd10579d665b271f6af81b61f5cbd8cbbc2ff5d7839232e267e
 SIZE (zoneminder-zoneminder-1.36.33_GH0.tar.gz) = 11501221
 SHA256 (FriendsOfCake-crud-1429237_GH0.tar.gz) = 4dc57f344623d3c0e735b53ed583e5382aa9e43012215f641cbd8ebad381aadc
@@ -7,3 +7,5 @@ SHA256 (ZoneMinder-CakePHP-Enum-Behavior-ea90c0c_GH0.tar.gz) = 3a9006c7c59f2b864
 SIZE (ZoneMinder-CakePHP-Enum-Behavior-ea90c0c_GH0.tar.gz) = 3500
 SHA256 (ZoneMinder-RtspServer-eab3285_GH0.tar.gz) = 8e37a14b4895e2e1d76e323875ae515f4ac4018b50d579842848718de804c142
 SIZE (ZoneMinder-RtspServer-eab3285_GH0.tar.gz) = 1396598
+SHA256 (d7682ba95dbe0a83ba32660e3ed620292208b489.patch) = 7b1c96dbac70d257774945583ce90a4fcaad3c4a5e24f00b628f898f8079fb58
+SIZE (d7682ba95dbe0a83ba32660e3ed620292208b489.patch) = 5007

P.S. Will test as soon as my build servers will be free.
Comment 12 Daniel Engberg freebsd_committer freebsd_triage 2024-05-09 06:13:52 UTC
(In reply to Vladimir Druzenko from comment #11)
PATCHFILES+= should be PATCHFILES=
Comment 13 Daniel Engberg freebsd_committer freebsd_triage 2024-05-11 11:00:20 UTC
Make this a metaport (like in PR 261302), there's no way to keep track otherwise

audio/cyanrip is fixed as of 23e1010a8257ca0393c83435ecfb3b26be498d28
Comment 14 Vladimir Druzenko freebsd_committer freebsd_triage 2024-05-11 11:10:05 UTC
(In reply to Vladimir Druzenko from comment #11)
Only current development branch support ffmpeg 7.
release-1.36 branch requires many patches that cannot be applied cleanly from development branch.
Comment 15 Jan Beich freebsd_committer freebsd_triage 2024-05-11 16:17:34 UTC
- multimedia/av1an is fixed after ports 874d8e4b5d2e
- multimedia/wf-recorder is fixed after ports 28ed4a3f4d2b
- emulators/ppsspp is still *broken* after ports 4bb968bc7ed2 or upstream as of 2024-05-11.
Comment 16 Jan Beich freebsd_committer freebsd_triage 2024-05-11 16:53:03 UTC
(In reply to Vladimir Druzenko from comment #9)
If you haven't found upstream issue/fix and/or don't plan to land (upstream or ports-only fix) under "portmgr blanket" better file bugs in FreeBSD bugzilla in order to offload the work (cotacting upstream, analysis, testing) to the afected port maintainers. poudriere errors logs are often incomplete because builds abort after the first error, so fixes suggested based on such logs alone may be also incomplete. For example, I have the following hack to make the logs a bit more useful:

--- a/Mk/Uses/ninja.mk
+++ b/Mk/Uses/ninja.mk
@@ -67,7 +67,7 @@ MAKEFILE=
 MAKE_CMD=	${NINJA_CMD}
 MAKE_FLAGS=
 # Set a minimal job of 1
-_MAKE_JOBS=	-j${MAKE_JOBS_NUMBER}
+_MAKE_JOBS=	-j${MAKE_JOBS_NUMBER} -k0
 _DESTDIR_VIA_ENV=	yes
 .  endif