Skip to Content.
Sympa Menu

sm-commit - [[SM-Commit] ] GIT changes to master grimoire by Treeve Jelbert (50eebb14afd76dde37c7d34a2210b67cf0aed082)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Treeve Jelbert <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
  • Subject: [[SM-Commit] ] GIT changes to master grimoire by Treeve Jelbert (50eebb14afd76dde37c7d34a2210b67cf0aed082)
  • Date: Sun, 31 Aug 2025 11:00:38 +0000

GIT changes to master grimoire by Treeve Jelbert <treeve AT sourcemage.org>:

ChangeLog | 3
archive-libs/minizip/DETAILS | 4
archive-libs/minizip/HISTORY | 3
audio-libs/openal-soft/DETAILS | 4
audio-libs/openal-soft/HISTORY | 3
graphics-libs/opencv4/DETAILS | 8
graphics-libs/opencv4/HISTORY | 5
graphics-libs/opencv4/PRE_BUILD | 1
graphics-libs/opencv4/patches/ffmpeg8.diff | 34 +
video/ffmpeg-svn/CONFLICTS | 1
video/ffmpeg/CONFLICTS | 1
video/ffmpeg5/CONFLICTS | 1
video/ffmpeg6/CONFLICTS | 1
video/ffmpeg7/CONFLICTS | 1
video/ffmpeg8/BUILD | 48 ++
video/ffmpeg8/CONFIGURE | 24 +
video/ffmpeg8/CONFLICTS | 5
video/ffmpeg8/DEPENDS | 298
+++++++++++++++
video/ffmpeg8/DETAILS | 22 +
video/ffmpeg8/HISTORY | 3
video/ffmpeg8/INSTALL | 5
video/ffmpeg8/PRE_BUILD | 5
video/ffmpeg8/PROVIDES | 1
video/ffmpeg8/TRIGGERS | 8
video/ffmpeg8/UP_TRIGGERS | 19
video/ffmpeg8/patches/ffmpeg-7.1-chromium_method-1.patch | 42 ++
26 files changed, 542 insertions(+), 8 deletions(-)

New commits:
commit 50eebb14afd76dde37c7d34a2210b67cf0aed082
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

minizip: => 4.0.10

commit 0853ae1e507f11ba3c3a60fffb1bca21272ed404
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

openal-soft: => 1.24.3

commit 991a63dd42376db32131a92e7376a9e9bf2931d0
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

ffmpeg* - conflict ffmpeg8

commit fdb6a83237bcc705597c5cfeedbf3a37753477f3
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

opencv4 - patch for ffmpeg8

commit 81c2a3d78282f567d0c46379b1fa931df67acd0b
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

opencv4: => 4.12.0

commit f1d73f12df20098007dbc60a99ce88c7ef260f49
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>

add ffmpeg8-8.0

diff --git a/ChangeLog b/ChangeLog
index e772fc0..713d7ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2025-08-31 Treeve Jelbert <treeve AT sourcemage.org>
+ * video/ffmpeg8: added
+
2025-08-30 Treeve Jelbert <treeve AT sourcemage.org>
* libs/yyjson: added very fast json library

diff --git a/archive-libs/minizip/DETAILS b/archive-libs/minizip/DETAILS
index 0630942..ad85da2 100755
--- a/archive-libs/minizip/DETAILS
+++ b/archive-libs/minizip/DETAILS
@@ -1,7 +1,7 @@
# Watch: https://github.com/zlib-ng/minizip-ng/tags /tags/([0-9.]+)[.]tar
SPELL=minizip
- VERSION=4.0.8
-
SOURCE_HASH=sha512:673798114e29a41ce87906b705dd92c5dc1ed1798aefaa20f0e3d7c1f27b9593e0c4c1271e02585ecc234ce835b14b02227c37f1a7fba4c7a98b822f10711b85
+ VERSION=4.0.10
+
SOURCE_HASH=sha512:a74386e2cf89f63d7fc9bf53527c8203ac78c46f2511e4883d17d949ec4e7d1b6c3707bcb13c3fc7cc4db8255b5f50ddb61bedba10e683acb18d112470676f62
SOURCE=$SPELL-ng-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/${SOURCE%.tar.?z}
LICENSE[0]=Zlib
diff --git a/archive-libs/minizip/HISTORY b/archive-libs/minizip/HISTORY
index af5f054..e7409a8 100644
--- a/archive-libs/minizip/HISTORY
+++ b/archive-libs/minizip/HISTORY
@@ -1,3 +1,6 @@
+2025-08-31 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: version 4.0.10
+
2025-02-01 Ismael Luceno <ismael AT sourcemage.org>
* DETAILS: updated spell to 4.0.8

diff --git a/audio-libs/openal-soft/DETAILS b/audio-libs/openal-soft/DETAILS
index ca9a853..e7b5c7c 100755
--- a/audio-libs/openal-soft/DETAILS
+++ b/audio-libs/openal-soft/DETAILS
@@ -1,7 +1,7 @@
source $GRIMOIRE/CMAKE_FUNCTIONS
SPELL=openal-soft
- VERSION=1.23.1
-
SOURCE_HASH=sha512:21f768484978e4321b733004988cb5ecf43d908e7e08f2d421a338633fcfb2ade722d035de73742470ff135ab538d6b9b56df14020976adb1d1e081dfb095c6b
+ VERSION=1.24.3
+
SOURCE_HASH=sha512:3eebd18de4984691136738e8fe5851ac5dbdc8f17916cc9dcc599bd3bafc400c9dad9dc88844a9b77b1e8e372a041af342421bdf23746dffe4760f8385bd1e53
SOURCE="${SPELL}-${VERSION}.tar.gz"

SOURCE_URL[0]=https://github.com/kcat/openal-soft/archive/${VERSION}.tar.gz
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
diff --git a/audio-libs/openal-soft/HISTORY b/audio-libs/openal-soft/HISTORY
index f4abe52..4259135 100644
--- a/audio-libs/openal-soft/HISTORY
+++ b/audio-libs/openal-soft/HISTORY
@@ -1,3 +1,6 @@
+2025-08-31 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: version 1.24.3
+
2023-11-01 Treeve Jelbert <treeve AT sourcemage.org>
* DEPENDS: fix typo

diff --git a/graphics-libs/opencv4/DETAILS b/graphics-libs/opencv4/DETAILS
index f2bc9ae..d5a0d88 100755
--- a/graphics-libs/opencv4/DETAILS
+++ b/graphics-libs/opencv4/DETAILS
@@ -1,8 +1,8 @@
# Watch: https://github.com/opencv/opencv/tags /refs/tags/([0-9.]+)[.]tar
source $GRIMOIRE/CMAKE_FUNCTIONS
SPELL=opencv4
- VERSION=4.11.0
-
SOURCE_HASH=sha512:3b6e0da8169449944715de9e66380977791069a1d8288534ec768eaa2fb68533821fd8e06eac925a26656baf42185258b13aa80579e1e9be3ebc18fcea66f24d
+ VERSION=4.12.0
+
SOURCE_HASH=sha512:8ac63ddd61e22cc0eaeafee4f30ae6e1cab05fc4929e2cea29070203b9ca8dfead12cc0fd7c4a87b65c1e20ec6b9ab4865a1b83fad33d114fc0708fdf107c51b
IPPV=ippicv_2020_lnx_intel64_20191018_general.tgz
GIT=a56b6ac6f030c312b2dce17430eef13aed9af274
SOURCE=${SPELL}-$VERSION.tar.gz
@@ -10,9 +10,9 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/${SPELL%?}-${VERSION}
URL=https://github.com/opencv
SOURCE_URL[0]=$URL/opencv/archive/$VERSION.tar.gz
if ! list_find "$CV_CONTRIB" none ;then
-
SOURCE2_HASH=sha512:a5ebb6810a3b5e40858b7fd533f9eb7b3d475dfda843a489bc5168e72c5eaad0a7a23629aace1f43e1b62d9c24e5e1923d841059c297728fac464e00759886c2
+
SOURCE2_HASH=sha512:574121ca57328671741413df91fbf600cc04bb9a9beeacfb7bc20c15b2b4e8c9e031df30aafbcc34f82d85edfb098e5d008a744f4e6d833d6e47537a042045c6
SOURCE2=opencv_contrib-$VERSION.tar.gz
- SOURCE2_URL[0]=$URL/opencv_contrib/archive/$VERSION.tar.gz
+ SOURCE2_URL[0]=$URL/opencv_contrib/archive/$VERSION.tar.gzd
fi
SOURCE3=${IPPV}

SOURCE3_HASH=sha512:de6d80695cd6deef359376476edc4ff85fdddcf94972b936e0017f8a48aaa5d18f55c4253ae37deb83bff2f71410f68408063c88b5f3bf4df3c416aa93ceca87
diff --git a/graphics-libs/opencv4/HISTORY b/graphics-libs/opencv4/HISTORY
index 1418a3d..55c18c3 100644
--- a/graphics-libs/opencv4/HISTORY
+++ b/graphics-libs/opencv4/HISTORY
@@ -1,3 +1,8 @@
+2025-08-31 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: version 4.12.0
+ * PRE_BUILD: apply patch
+ * ffmpeg8.diff: added
+
2025-02-08 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 4.11.0

diff --git a/graphics-libs/opencv4/PRE_BUILD b/graphics-libs/opencv4/PRE_BUILD
index eb5dd3c..71444de 100755
--- a/graphics-libs/opencv4/PRE_BUILD
+++ b/graphics-libs/opencv4/PRE_BUILD
@@ -1,5 +1,6 @@
default_pre_build &&
cd $SOURCE_DIRECTORY &&
+apply_patch_dir patches &&
unpack_file 3 &&
ln -s ippiw_lnx/src iw &&
if ! list_find "$CV_CONTRIB" none ;then
diff --git a/graphics-libs/opencv4/patches/ffmpeg8.diff
b/graphics-libs/opencv4/patches/ffmpeg8.diff
new file mode 100644
index 0000000..956b6ab
--- /dev/null
+++ b/graphics-libs/opencv4/patches/ffmpeg8.diff
@@ -0,0 +1,34 @@
+diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp
b/modules/videoio/src/cap_ffmpeg_impl.hpp
+index 489dbe565d3d..5780b4c11361 100644
+--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
++++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
+@@ -685,7 +685,10 @@ void CvCapture_FFMPEG::close()
+ if( video_st )
+ {
+ #ifdef CV_FFMPEG_CODECPAR
++// avcodec_close removed in FFmpeg release 8.0
++# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
+ avcodec_close( context );
++# endif
+ #endif
+ video_st = NULL;
+ }
+@@ -2005,7 +2008,18 @@ void CvCapture_FFMPEG::get_rotation_angle()
+ rotation_angle = 0;
+ #if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(57, 68, 100)
+ const uint8_t *data = 0;
++ // av_stream_get_side_data removed in FFmpeg release 8.0
++# if (LIBAVCODEC_BUILD < CALC_FFMPEG_VERSION(62, 11, 100))
+ data = av_stream_get_side_data(video_st, AV_PKT_DATA_DISPLAYMATRIX,
NULL);
++# else
++ AVPacketSideData* sd = video_st->codecpar->coded_side_data;
++ int nb_sd = video_st->codecpar->nb_coded_side_data;
++ if (sd && nb_sd > 0)
++ {
++ const AVPacketSideData* mtx = av_packet_side_data_get(sd, nb_sd,
AV_PKT_DATA_DISPLAYMATRIX);
++ data = mtx->data;
++ }
++# endif
+ if (data)
+ {
+ rotation_angle = -cvRound(av_display_rotation_get((const
int32_t*)data));
diff --git a/video/ffmpeg-svn/CONFLICTS b/video/ffmpeg-svn/CONFLICTS
index 4a2b473..0638145 100755
--- a/video/ffmpeg-svn/CONFLICTS
+++ b/video/ffmpeg-svn/CONFLICTS
@@ -2,3 +2,4 @@ conflicts ffmpeg
conflicts ffmpeg5
conflicts ffmpeg6
conflicts ffmpeg7
+conflicts ffmpeg8
diff --git a/video/ffmpeg/CONFLICTS b/video/ffmpeg/CONFLICTS
index ca03149..c0c703a 100755
--- a/video/ffmpeg/CONFLICTS
+++ b/video/ffmpeg/CONFLICTS
@@ -2,3 +2,4 @@ conflicts ffmpeg-svn
conflicts ffmpeg5
conflicts ffmpeg6
conflicts ffmpeg7
+conflicts ffmpeg8
diff --git a/video/ffmpeg5/CONFLICTS b/video/ffmpeg5/CONFLICTS
index 28d62f3..cd17c1e 100755
--- a/video/ffmpeg5/CONFLICTS
+++ b/video/ffmpeg5/CONFLICTS
@@ -2,3 +2,4 @@ conflicts ffmpeg-svn
conflicts ffmpeg
conflicts ffmpeg6
conflicts ffmpeg7
+conflicts ffmpeg8
diff --git a/video/ffmpeg6/CONFLICTS b/video/ffmpeg6/CONFLICTS
index 4b67276..62ae959 100755
--- a/video/ffmpeg6/CONFLICTS
+++ b/video/ffmpeg6/CONFLICTS
@@ -2,3 +2,4 @@ conflicts ffmpeg-svn
conflicts ffmpeg
conflicts ffmpeg5
conflicts ffmpeg7
+conflicts ffmpeg8
diff --git a/video/ffmpeg7/CONFLICTS b/video/ffmpeg7/CONFLICTS
index 76fca6d..fba23aa 100755
--- a/video/ffmpeg7/CONFLICTS
+++ b/video/ffmpeg7/CONFLICTS
@@ -2,3 +2,4 @@ conflicts ffmpeg-svn
conflicts ffmpeg
conflicts ffmpeg5
conflicts ffmpeg6
+conflicts ffmpeg8
diff --git a/video/ffmpeg8/BUILD b/video/ffmpeg8/BUILD
new file mode 100755
index 0000000..a9f6875
--- /dev/null
+++ b/video/ffmpeg8/BUILD
@@ -0,0 +1,48 @@
+disable_pic &&
+
+if list_find "$FFMPEG_PROGRAMS" "none"; then
+ OPTS="--disable-programs $OPTS"
+elif list_find "$FFMPEG_PROGRAMS" "all"; then
+ :
+else
+ for program in $FFMPEG_PROGRAM_LIST; do
+ if ! list_find "$FFMPEG_PROGRAMS" "$program"; then
+ OPTS="--disable-$program $OPTS"
+ fi
+ done &&
+
+ persistent_remove FFMPEG_PROGRAM_LIST &&
+ persistent_save &&
+ persistent_load
+fi &&
+
+OPTS="$FFMPEG_OPTS $OPTS" &&
+
+if echo "$CFLAGS" | grep -q "\-Os"; then
+ OPTS="--enable-small $OPTS"
+fi &&
+
+if is_depends_enabled $SPELL opencore-amr; then
+ OPTS="--enable-version3 $OPTS"
+fi &&
+
+# fixing issue #381
+if is_depends_enabled $SPELL openjpeg; then
+ CFLAGS="$CFLAGS -I${INSTALL_ROOT}/usr/include/openjpeg-1.5"
+fi &&
+
+LDFLAGS=${LDFLAGS//-Wl,--as-needed/} &&
+
+OPTS="--disable-cuda --disable-cuvid $OPTS" &&
+
+check_tmp_noexec /tmp &&
+./configure --prefix=${INSTALL_ROOT}/usr \
+ --mandir=${INSTALL_ROOT}/usr/share/man \
+ --enable-shared \
+ --disable-static \
+ --enable-pthreads \
+ --enable-gpl \
+ $OPTS &&
+check_tmp_noexec /tmp &&
+make V=1 &&
+make V=1 tools/qt-faststart
diff --git a/video/ffmpeg8/CONFIGURE b/video/ffmpeg8/CONFIGURE
new file mode 100755
index 0000000..4a29277
--- /dev/null
+++ b/video/ffmpeg8/CONFIGURE
@@ -0,0 +1,24 @@
+. $GRIMOIRE/config_query_multi.function &&
+default_configure &&
+
+config_query_option FFMPEG_OPTS "Enable software scaler support?" y \
+ "--enable-swscale" \
+ "--disable-swscale" &&
+
+config_query_option FFMPEG_OPTS "Enable debugging symbols?" y \
+ "--enable-debug" \
+ "--disable-debug" &&
+
+config_query_option FFMPEG_OPTS "Enable support for Blackmagick Decklink
output?" n \
+ "--enable-decklink" \
+ "--disable-decklink" &&
+
+persistent_add FFMPEG_PROGRAM_LIST &&
+local FFMPEG_PROGRAM_LIST="ffmpeg ffprobe" &&
+config_query_multi FFMPEG_PROGRAMS "Which command line programs would you
like to build?" \
+ $FFMPEG_PROGRAM_LIST \
+ all \
+ none &&
+
+config_query_list FFMPEG_HTTPS "how to support https"\
+ gnutls SSL none
diff --git a/video/ffmpeg8/CONFLICTS b/video/ffmpeg8/CONFLICTS
new file mode 100755
index 0000000..76c3178
--- /dev/null
+++ b/video/ffmpeg8/CONFLICTS
@@ -0,0 +1,5 @@
+conflicts ffmpeg-svn
+conflicts ffmpeg
+conflicts ffmpeg5
+conflicts ffmpeg6
+conflicts ffmpeg7
diff --git a/video/ffmpeg8/DEPENDS b/video/ffmpeg8/DEPENDS
new file mode 100755
index 0000000..0112e78
--- /dev/null
+++ b/video/ffmpeg8/DEPENDS
@@ -0,0 +1,298 @@
+optional_depends libdrm \
+ "--enable-libdrm" \
+ "--disable-libdrm" \
+ "enable DRM code" &&
+
+optional_depends alsa-lib \
+ "--enable-alsa" \
+ "--disable-alsa" \
+ "for alsa sound support" &&
+
+optional_depends JACK-DRIVER "--enable-libjack" "" "for libjack sound
support" &&
+
+optional_depends librsvg2 \
+ "--enable-librsvg" \
+ "--disable-librsvg" \
+ "for svg support" &&
+
+optional_depends libxcb \
+ "--enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes
--enable-libxcb-shape" \
+ "--disable-libxcb" \
+ "for X11 grabbing using xcb" &&
+
+optional_depends bzip2 \
+ "--enable-bzlib" \
+ "--disable-bzlib" \
+ "for bzip2 support" &&
+
+optional_depends lzma-utils \
+ "--enable-lzma" \
+ "--disable-lzma" \
+ "for lzma support" &&
+
+optional_depends zlib \
+ "--enable-zlib" \
+ "--disable-zlib" \
+ "for zlib support" &&
+
+optional_depends nasm \
+ "" \
+ "--disable-x86asm" \
+ "for some assembler optimizations" &&
+
+optional_depends celt \
+ "--enable-libcelt" \
+ "" \
+ "for celt codec support" &&
+
+optional_depends frei0r-plugins \
+ "--enable-frei0r" \
+ "" \
+ "to use frei0r for video filtering" &&
+
+optional_depends gnutls \
+ "--enable-gnutls" \
+ "--disable-gnutls" \
+ "for HTTPS support" &&
+
+if ! is_depends_enabled "${SPELL}" "gnutls"; then
+ optional_depends SSL \
+ "--enable-nonfree --enable-openssl" \
+ "" \
+ "for HTTPS support via non-free code"
+fi &&
+
+optional_depends fontconfig \
+ "--enable-libfontconfig" \
+ "" \
+ "to enable fontconfig" &&
+
+optional_depends fribidi \
+ "--enable-libfribidi" \
+ "--disable-libfribidi" \
+ "for bidirectional text support in drawtext filter" &&
+
+optional_depends libass \
+ "--enable-libass" \
+ "" \
+ "use libass for subtitle rendering" &&
+
+optional_depends libmodplug \
+ "--enable-libmodplug" \
+ "" \
+ "to enable libmodplug support for playing mod files" &&
+
+optional_depends twolame \
+ "--enable-libtwolame" \
+ "" \
+ "for MP2 encoding" &&
+
+optional_depends libcdio \
+ "--enable-libcdio" \
+ "" \
+ "for audio CD grabbing" &&
+
+if is_depends_enabled $SPELL libcdio; then
+ depends libcdio-paranoia
+fi &&
+
+optional_depends libiec61883 \
+ "--enable-libiec61883" \
+ "" \
+ "to enable iec61883" &&
+
+optional_depends flite \
+ "--enable-libflite" \
+ "" \
+ "for voice synthesis support" &&
+
+optional_depends libcaca \
+ "--enable-libcaca" \
+ "" \
+ "for textual display support" &&
+
+optional_depends libbluray \
+ "--enable-libbluray" \
+ "" \
+ "for BluRay reading support" &&
+
+optional_depends openal \
+ "--enable-openal" \
+ "" \
+ "for OpenAL 1.1 capture support" &&
+
+optional_depends v4l-utils \
+ "--enable-libv4l2" \
+ "" \
+ "to enable v4l support" &&
+
+optional_depends pulseaudio \
+ "--enable-libpulse" \
+ "" \
+ "for Pulseaudio input support" &&
+
+optional_depends sndio \
+ "--enable-sndio" \
+ "--disable-sndio" \
+ "for sndio support" &&
+
+optional_depends libwebp \
+ "--enable-libwebp" \
+ "" \
+ "for WebP encoding via libwebp" &&
+
+optional_depends OPENGL \
+ "--enable-opengl" \
+ "" \
+ "for OpenGL rendering" &&
+
+optional_depends libxml2 \
+ "--enable-libxml2" \
+ "--disable-libxml2" \
+ "to enable XML parsing code" &&
+
+optional_depends libvdpau \
+ "--enable-vdpau" \
+ "--disable-vdpau" \
+ "to enable VDPAU code" &&
+
+optional_depends OPENCV \
+ "--enable-libopencv" \
+ "" \
+ "to video filtering via libopencv" &&
+
+optional_depends libva '--enable-vaapi' '--disable-vaapi' 'Video
Acceleration API' &&
+
+optional_depends libvpx \
+ "--enable-libvpx" \
+ "" \
+ "for VP8 (and VP9 for stable branch) de/encoding support" &&
+
+optional_depends speex \
+ "--enable-libspeex" \
+ "" \
+ "for Speex codec support" &&
+
+optional_depends openjpeg \
+ "--enable-libopenjpeg" \
+ "--disable-libopenjpeg" \
+ "for JPEG 2000 support" &&
+
+optional_depends lame \
+ "--enable-libmp3lame" \
+ "" \
+ "for mp3 encoding" &&
+
+optional_depends libvorbis \
+ "--enable-libvorbis" \
+ "" \
+ "for ogg/vorbis support" &&
+
+optional_depends freetype2 \
+ "--enable-libfreetype" \
+ "" \
+ "for a text render plugin" &&
+
+optional_depends xvid \
+ "--enable-libxvid" \
+ "" \
+ "for xvid support" &&
+
+optional_depends sdl2 \
+ "" \
+ "--disable-sdl2" \
+ "for ffplay video player" &&
+
+optional_depends opencore-amr \
+ "--enable-libopencore-amrnb" \
+ "" \
+ "for AMR-NB de/encoding via libopencore-amrnb
(${PROBLEM_COLOR}GPLv3${DEFAULT_COLOR}) support" &&
+
+optional_depends opencore-amr \
+ "--enable-libopencore-amrwb" \
+ "" \
+ "for AMR-WB decoding via libopencore-amrwb
(${PROBLEM_COLOR}GPLv3${DEFAULT_COLOR}) support" &&
+
+optional_depends libtheora \
+ "--enable-libtheora" \
+ "" \
+ "for Theora encoding" &&
+
+optional_depends x264 \
+ "--enable-libx264" \
+ "" \
+ "for H.264 encoding" &&
+
+optional_depends x265 \
+ "--enable-libx265" \
+ "" \
+ "for H.265 encoding" &&
+
+optional_depends dav1d \
+ "--enable-libdav1d" \
+ "--disable-libdav1d" \
+ "for AV1 decoding" &&
+
+optional_depends gsm \
+ "--enable-libgsm" \
+ "" \
+ "for GSM de/encoding" &&
+
+optional_depends rtmpdump \
+ "--enable-librtmp" \
+ "" \
+ "for RTMP[E] support" &&
+
+optional_depends libdc1394 \
+ "--enable-libdc1394" \
+ "" \
+ "for IIDC-1394 grabbing" &&
+
+optional_depends rubberband \
+ "--enable-librubberband" \
+ "" \
+ "for rubberband filter" &&
+
+optional_depends tesseract \
+ "--enable-libtesseract" \
+ "" \
+ "for OCR filter" &&
+
+if is_depends_enabled $SPELL libdc1394; then
+depends libraw1394
+fi &&
+
+optional_depends snappy \
+ "--enable-libsnappy" \
+ "" \
+ "for Snappy compression, needed for hap encoding" &&
+
+optional_depends vulkan-loader \
+ "--enable-vulkan" \
+ "--disable-vulkan" \
+ "for Vulkan support" &&
+if is_depends_enabled "${SPELL}" "vulkan-loader"; then
+ optional_depends spirv-tools "" "" "for SPIRV support" &&
+
+ if is_depends_enabled "${SPELL}" "spirv-tools"; then
+ optional_depends glslang \
+ "--enable-libglslang" \
+ "--disable-libglslang" \
+ "for SPIRV -> GLS compilation using libglslang"
+ fi
+fi &&
+
+optional_depends libplacebo \
+ "--enable-libplacebo" \
+ "--disable-libplacebo" \
+ "for libplacebo support" &&
+
+optional_depends libjxl \
+ "--enable-libjxl" \
+ "--disable-libjxl" \
+ "for JPEG-XL support" &&
+
+optional_depends libaom \
+ "--enable-libaom" \
+ "--disable-libaom" \
+ "to decode AV1 via libaom"
diff --git a/video/ffmpeg8/DETAILS b/video/ffmpeg8/DETAILS
new file mode 100755
index 0000000..55eb538
--- /dev/null
+++ b/video/ffmpeg8/DETAILS
@@ -0,0 +1,22 @@
+ SPELL=ffmpeg8
+ SPELLX=ffmpeg
+ VERSION=8.0
+ SOURCE=$SPELLX-$VERSION.tar.xz
+ SOURCE2=$SOURCE.asc
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELLX-$VERSION"
+ SOURCE_URL[0]=https://ffmpeg.org/releases/$SOURCE
+ SOURCE2_URL[0]=${SOURCE_URL[0]}.asc
+ SOURCE_GPG=ffmpeg.gpg:$SOURCE2:UPSTREAM_KEY
+ SOURCE2_IGNORE=signature
+ DOC_DIRS=""
+ WEB_SITE=https://ffmpeg.org/
+ ENTERED=20250831
+ LICENSE[0]=GPL
+ KEYWORDS="video"
+ SHORT="complete video and audio broadcasting solution"
+cat << EOF
+FFMpeg is a complete and free Internet live audio and video
+broadcasting solution for Linux/Unix. It also includes a digital VCR.
+It can encode in real time in many formats including MPEG1 audio and
+video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
+EOF
diff --git a/video/ffmpeg8/HISTORY b/video/ffmpeg8/HISTORY
new file mode 100644
index 0000000..fdecf27
--- /dev/null
+++ b/video/ffmpeg8/HISTORY
@@ -0,0 +1,3 @@
+2025-08-31 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: version 8.0
+ spell created, based on ffmpeg7
diff --git a/video/ffmpeg8/INSTALL b/video/ffmpeg8/INSTALL
new file mode 100755
index 0000000..be73a2f
--- /dev/null
+++ b/video/ffmpeg8/INSTALL
@@ -0,0 +1,5 @@
+make_single &&
+make V=1 install &&
+make_normal &&
+
+install -vm 755 "tools/qt-faststart" "$INSTALL_ROOT/usr/bin/qt-faststart"
diff --git a/video/ffmpeg8/PRE_BUILD b/video/ffmpeg8/PRE_BUILD
new file mode 100755
index 0000000..4e806dd
--- /dev/null
+++ b/video/ffmpeg8/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+sed -e 's/X265_BUILD >= 210/(&) \&\& (X265_BUILD < 213)/' \
+ -i libavcodec/libx265.c &&
+apply_patch_dir patches
diff --git a/video/ffmpeg8/PROVIDES b/video/ffmpeg8/PROVIDES
new file mode 100755
index 0000000..f6a1ac4
--- /dev/null
+++ b/video/ffmpeg8/PROVIDES
@@ -0,0 +1 @@
+LIBAVCODEC
diff --git a/video/ffmpeg8/TRIGGERS b/video/ffmpeg8/TRIGGERS
new file mode 100755
index 0000000..d5bbf70
--- /dev/null
+++ b/video/ffmpeg8/TRIGGERS
@@ -0,0 +1,8 @@
+on_cast codec2 check_self
+on_cast dav1d check_self
+on_cast libass check_self
+on_cast libunibreak check_self
+on_cast snappy check_self
+on_cast tesseract check_self
+on_cast x264 check_self
+on_cast x265 check_self
diff --git a/video/ffmpeg8/UP_TRIGGERS b/video/ffmpeg8/UP_TRIGGERS
new file mode 100755
index 0000000..8fc029e
--- /dev/null
+++ b/video/ffmpeg8/UP_TRIGGERS
@@ -0,0 +1,19 @@
+# up_trigger everything on major version updates
+local NEW_SPELL_BRANCH="" &&
+local OLD_SPELL_BRANCH="" &&
+
+if spell_ok $SPELL; then
+ NEW_SPELL_BRANCH="$(echo $VERSION | cut -d. -f1,2)" &&
+ OLD_SPELL_BRANCH="$(installed_version $SPELL | cut -d. -f1,2)" &&
+
+ if test "${NEW_SPELL_BRANCH}" != "${OLD_SPELL_BRANCH}"; then
+ message "This is a possibly incompatible update of ${SPELL}..."
+ message "Figuring out what spells need to be recast, this may take a
while."
+ for each in $(show_up_depends $SPELL 1); do
+ if gaze install $each | xargs readelf -d 2> /dev/null |
+ grep -q
"NEEDED.*lib\(\(swscale\)\|\(avcodec\)\|\(avdevice\)\|\(avfilter\)\|\(avutil\)\|\(postproc\)\|\(swresample\)\)";
then
+ up_trigger $each cast_self
+ fi
+ done
+ fi
+fi
diff --git a/video/ffmpeg8/patches/ffmpeg-7.1-chromium_method-1.patch
b/video/ffmpeg8/patches/ffmpeg-7.1-chromium_method-1.patch
new file mode 100644
index 0000000..9aee44a
--- /dev/null
+++ b/video/ffmpeg8/patches/ffmpeg-7.1-chromium_method-1.patch
@@ -0,0 +1,42 @@
+Submitted By: Marty Jack (martyj19 at comcast dot net)
+Date: 2022-07-23
+Initial Package Version: 5.1.0
+Origin: Rediffed from ffmpeg-5.0.1-api_addition-1.patch
+Upstream Status: Not accepted
+Description: The ffmpeg upstream is not willing to take this as a
+permanent fix and suggests that Chromium should change to keep the
+information locally to Chromium. Until that happens it appears
+that many distros are carrying this patch as a temporary
+expedient to allow building with system ffmpeg.
+
+diff -Naur ffmpeg-5.1.orig/libavformat/avformat.h
ffmpeg-5.1/libavformat/avformat.h
+--- ffmpeg-5.1.orig/libavformat/avformat.h 2022-07-22 13:58:39.000000000
-0400
++++ ffmpeg-5.1/libavformat/avformat.h 2022-07-22 19:34:07.490051886 -0400
+@@ -1128,6 +1128,10 @@
+ */
+ int64_t av_stream_get_end_pts(const AVStream *st);
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ #define AV_PROGRAM_RUNNING 1
+
+ /**
+diff -Naur ffmpeg-5.1.orig/libavformat/demux_utils.c
ffmpeg-5.1/libavformat/demux_utils.c
+--- ffmpeg-5.1.orig/libavformat/demux_utils.c 2022-07-22 13:58:39.000000000
-0400
++++ ffmpeg-5.1/libavformat/demux_utils.c 2022-07-22 19:36:39.646735587
-0400
+@@ -29,6 +29,13 @@
+ #include "demux.h"
+ #include "internal.h"
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++ return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
+ {
+ return cffstream(st)->parser;


  • [[SM-Commit] ] GIT changes to master grimoire by Treeve Jelbert (50eebb14afd76dde37c7d34a2210b67cf0aed082), Treeve Jelbert, 08/31/2025

Archive powered by MHonArc 2.6.24.

Top of Page