gnu: ffmpeg: Update to 8.0.

* gnu/packages/video.scm (ffmpeg-7): Replace with...
(ffmpeg): ... this updated version.
(ffmpeg): Adjust to use ffmpeg.
(ffmpeg-jami): Stay on ffmpeg-6.
* gnu/packages/tor-browsers.scm (make-torbrowser): Likewise.
* gnu/packages/python-xyz.scm (python-av): Likewise.
* gnu/packages/qt.scm (qtmultimedia): Likewise.

Change-Id: I2d7b1861a647f583da93fe230fd0734742671d4d
This commit is contained in:
Maxim Cournoyer 2025-09-04 11:46:56 +09:00 committed by John Kehayias
parent e166ffb8ad
commit 6f138f0f16
No known key found for this signature in database
GPG key ID: 499097AE5EA815D9
4 changed files with 261 additions and 261 deletions

View file

@ -13156,8 +13156,7 @@ experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
python-pytest python-pytest
python-setuptools python-setuptools
python-wheel)) python-wheel))
(inputs (inputs (list ffmpeg))
(list ffmpeg-7))
(home-page "https://github.com/PyAV-Org/PyAV") (home-page "https://github.com/PyAV-Org/PyAV")
(synopsis "Pythonic bindings for FFmpeg's libraries") (synopsis "Pythonic bindings for FFmpeg's libraries")
(description (description

View file

@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
vulkan-headers)) vulkan-headers))
(inputs (inputs
(list alsa-lib (list alsa-lib
ffmpeg ffmpeg-6
glib glib
libxkbcommon libxkbcommon
libxrandr libxrandr

View file

@ -240,7 +240,7 @@ Browser.")
libxcomposite libxcomposite
libxt libxt
libffi libffi
ffmpeg-7 ffmpeg
libvpx libvpx
icu4c icu4c
pixman pixman

View file

@ -1644,17 +1644,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to
operate properly.") operate properly.")
(license license:expat))) (license license:expat)))
(define-public ffmpeg-7 (define-public ffmpeg
(package (package
(name "ffmpeg") (name "ffmpeg")
(version "7.1.1") (version "8.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-" (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1c837agaw8ljhjx6ndp2w7hffi2mkb22vnmb8v0fbfqdbqwq8fbk")))) "13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj"))))
(outputs '("out" "debug")) (outputs '("out" "debug"))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@ -1870,9 +1870,9 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.") audio/video codec library.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public ffmpeg (define-public ffmpeg-6
(package (package
(inherit ffmpeg-7) (inherit ffmpeg)
(version "6.1.2") (version "6.1.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -1886,7 +1886,7 @@ audio/video codec library.")
"ffmpeg-add-av_stream_get_first_dts-for-chromium.patch")))) "ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"))))
(arguments (arguments
(if (target-x86-32?) (if (target-x86-32?)
(substitute-keyword-arguments (package-arguments ffmpeg-7) (substitute-keyword-arguments (package-arguments ffmpeg)
((#:phases phases) ((#:phases phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(add-before 'configure 'relax-gcc-14-strictness (add-before 'configure 'relax-gcc-14-strictness
@ -1896,7 +1896,7 @@ audio/video codec library.")
(string-append "-g -O2" (string-append "-g -O2"
" -Wno-error=incompatible-pointer-types" " -Wno-error=incompatible-pointer-types"
" -Wno-error=int-conversion"))))))) " -Wno-error=int-conversion")))))))
(package-arguments ffmpeg-7))))) (package-arguments ffmpeg)))))
(define-public ffmpeg-5 (define-public ffmpeg-5
(package (package
@ -2009,270 +2009,271 @@ audio/video codec library.")
;;; Custom ffmpeg package used by Jami, which incorporates custom patches. ;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
(define-public ffmpeg-jami (define-public ffmpeg-jami
(package (let ((ffmpeg ffmpeg-6))
(inherit ffmpeg) (package
(name "ffmpeg-jami") (inherit ffmpeg)
(source (let ((ffmpeg-origin (package-source ffmpeg))) (name "ffmpeg-jami")
(origin (source (let ((ffmpeg-origin (package-source ffmpeg)))
(inherit ffmpeg-origin) (origin
;; These patches originate come from (inherit ffmpeg-origin)
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>. ;; These patches originate come from
;; Make sure to keep them update and/or register any new ones ;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
;; here. ;; Make sure to keep them update and/or register any new ones
(patches ;; here.
(append (patches
(origin-patches ffmpeg-origin) (append
(search-patches (origin-patches ffmpeg-origin)
"ffmpeg-jami-remove-mjpeg-log.patch" (search-patches
"ffmpeg-jami-change-RTCP-ratio.patch" "ffmpeg-jami-remove-mjpeg-log.patch"
"ffmpeg-jami-rtp_ext_abs_send_time.patch" "ffmpeg-jami-change-RTCP-ratio.patch"
"ffmpeg-jami-libopusdec-enable-FEC.patch" "ffmpeg-jami-rtp_ext_abs_send_time.patch"
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch" "ffmpeg-jami-libopusdec-enable-FEC.patch"
"ffmpeg-jami-screen-sharing-x11-fix.patch" "ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
"ffmpeg-jami-pipewiregrab-source-filter.patch")))))) "ffmpeg-jami-screen-sharing-x11-fix.patch"
(arguments "ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
(substitute-keyword-arguments (package-arguments ffmpeg) (arguments
((#:configure-flags _ '()) (substitute-keyword-arguments (package-arguments ffmpeg)
;; The base configure flags preserved from ffmpeg appear first. ((#:configure-flags _ '())
#~(list "--disable-static" ;; The base configure flags preserved from ffmpeg appear first.
"--enable-shared" #~(list "--disable-static"
"--disable-stripping" "--enable-shared"
"--disable-stripping"
;; Extra Guix-added flags that make sense for this custom ;; Extra Guix-added flags that make sense for this custom
;; package; these could be contributed upstream. ;; package; these could be contributed upstream.
"--disable-doc" "--disable-doc"
;; The following flags are those specified by Jami. ;; The following flags are those specified by Jami.
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak ;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
;; file. We try to keep it as close to the official Jami ;; file. We try to keep it as close to the official Jami
;; package as possible, to provide all the codecs and extra ;; package as possible, to provide all the codecs and extra
;; features that are expected (see: ;; features that are expected (see:
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/ ;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
;; refs/heads/master/contrib/src/ffmpeg/rules.mak). ;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
"--disable-everything" "--disable-everything"
"--enable-zlib" "--enable-zlib"
"--enable-gpl" "--enable-gpl"
"--enable-swscale" "--enable-swscale"
"--enable-bsfs" "--enable-bsfs"
"--disable-filters" "--disable-filters"
"--disable-programs" "--disable-programs"
"--disable-postproc" "--disable-postproc"
"--enable-libpipewire" "--enable-libpipewire"
"--enable-filter=pipewiregrab" "--enable-filter=pipewiregrab"
"--enable-indev=lavfi" "--enable-indev=lavfi"
"--enable-decoder=wrapped_avframe" "--enable-decoder=wrapped_avframe"
"--disable-protocols" "--disable-protocols"
"--enable-protocol=crypto" "--enable-protocol=crypto"
"--enable-protocol=file" "--enable-protocol=file"
"--enable-protocol=rtp" "--enable-protocol=rtp"
"--enable-protocol=srtp" "--enable-protocol=srtp"
"--enable-protocol=tcp" "--enable-protocol=tcp"
"--enable-protocol=udp" "--enable-protocol=udp"
"--enable-protocol=unix" "--enable-protocol=unix"
"--enable-protocol=pipe" "--enable-protocol=pipe"
;; Enable muxers/demuxers. ;; Enable muxers/demuxers.
"--disable-demuxers" "--disable-demuxers"
"--disable-muxers" "--disable-muxers"
"--enable-muxer=rtp" "--enable-muxer=rtp"
"--enable-muxer=g722" "--enable-muxer=g722"
"--enable-muxer=g723_1" "--enable-muxer=g723_1"
"--enable-muxer=g726" "--enable-muxer=g726"
"--enable-muxer=g726le" "--enable-muxer=g726le"
"--enable-muxer=h263" "--enable-muxer=h263"
"--enable-muxer=h264" "--enable-muxer=h264"
"--enable-muxer=hevc" "--enable-muxer=hevc"
"--enable-muxer=matroska" "--enable-muxer=matroska"
"--enable-muxer=webm" "--enable-muxer=webm"
"--enable-muxer=ogg" "--enable-muxer=ogg"
"--enable-muxer=pcm_s16be" "--enable-muxer=pcm_s16be"
"--enable-muxer=pcm_s16le" "--enable-muxer=pcm_s16le"
"--enable-muxer=wav" "--enable-muxer=wav"
"--enable-demuxer=rtp" "--enable-demuxer=rtp"
"--enable-demuxer=mjpeg" "--enable-demuxer=mjpeg"
"--enable-demuxer=mjpeg_2000" "--enable-demuxer=mjpeg_2000"
"--enable-demuxer=mpegvideo" "--enable-demuxer=mpegvideo"
"--enable-demuxer=gif" "--enable-demuxer=gif"
"--enable-demuxer=image_jpeg_pipe" "--enable-demuxer=image_jpeg_pipe"
"--enable-demuxer=image_png_pipe" "--enable-demuxer=image_png_pipe"
"--enable-demuxer=image_webp_pipe" "--enable-demuxer=image_webp_pipe"
"--enable-demuxer=matroska" "--enable-demuxer=matroska"
"--enable-demuxer=m4v" "--enable-demuxer=m4v"
"--enable-demuxer=mp3" "--enable-demuxer=mp3"
"--enable-demuxer=ogg" "--enable-demuxer=ogg"
"--enable-demuxer=flac" "--enable-demuxer=flac"
"--enable-demuxer=wav" "--enable-demuxer=wav"
"--enable-demuxer=ac3" "--enable-demuxer=ac3"
"--enable-demuxer=g722" "--enable-demuxer=g722"
"--enable-demuxer=g723_1" "--enable-demuxer=g723_1"
"--enable-demuxer=g726" "--enable-demuxer=g726"
"--enable-demuxer=g726le" "--enable-demuxer=g726le"
"--enable-demuxer=pcm_mulaw" "--enable-demuxer=pcm_mulaw"
"--enable-demuxer=pcm_alaw" "--enable-demuxer=pcm_alaw"
"--enable-demuxer=pcm_s16be" "--enable-demuxer=pcm_s16be"
"--enable-demuxer=pcm_s16le" "--enable-demuxer=pcm_s16le"
"--enable-demuxer=h263" "--enable-demuxer=h263"
"--enable-demuxer=h264" "--enable-demuxer=h264"
"--enable-demuxer=hevc" "--enable-demuxer=hevc"
;; Enable parsers. ;; Enable parsers.
"--enable-parser=h263" "--enable-parser=h263"
"--enable-parser=h264" "--enable-parser=h264"
"--enable-parser=hevc" "--enable-parser=hevc"
"--enable-parser=mpeg4video" "--enable-parser=mpeg4video"
"--enable-parser=vp8" "--enable-parser=vp8"
"--enable-parser=vp9" "--enable-parser=vp9"
"--enable-parser=opus" "--enable-parser=opus"
;; Encoders/decoders. ;; Encoders/decoders.
"--enable-encoder=adpcm_g722" "--enable-encoder=adpcm_g722"
"--enable-decoder=adpcm_g722" "--enable-decoder=adpcm_g722"
"--enable-encoder=adpcm_g726" "--enable-encoder=adpcm_g726"
"--enable-decoder=adpcm_g726" "--enable-decoder=adpcm_g726"
"--enable-encoder=adpcm_g726le" "--enable-encoder=adpcm_g726le"
"--enable-decoder=adpcm_g726le" "--enable-decoder=adpcm_g726le"
"--enable-decoder=g729" "--enable-decoder=g729"
"--enable-encoder=g723_1" "--enable-encoder=g723_1"
"--enable-decoder=g723_1" "--enable-decoder=g723_1"
"--enable-encoder=rawvideo" "--enable-encoder=rawvideo"
"--enable-decoder=rawvideo" "--enable-decoder=rawvideo"
"--enable-encoder=libx264" "--enable-encoder=libx264"
"--enable-decoder=h264" "--enable-decoder=h264"
"--enable-encoder=pcm_alaw" "--enable-encoder=pcm_alaw"
"--enable-decoder=pcm_alaw" "--enable-decoder=pcm_alaw"
"--enable-encoder=pcm_mulaw" "--enable-encoder=pcm_mulaw"
"--enable-decoder=pcm_mulaw" "--enable-decoder=pcm_mulaw"
"--enable-encoder=mpeg4" "--enable-encoder=mpeg4"
"--enable-decoder=mpeg4" "--enable-decoder=mpeg4"
"--enable-encoder=libvpx_vp8" "--enable-encoder=libvpx_vp8"
"--enable-decoder=vp8" "--enable-decoder=vp8"
"--enable-decoder=vp9" "--enable-decoder=vp9"
"--enable-encoder=h263" "--enable-encoder=h263"
"--enable-encoder=h263p" "--enable-encoder=h263p"
"--enable-decoder=h263" "--enable-decoder=h263"
"--enable-encoder=mjpeg" "--enable-encoder=mjpeg"
"--enable-decoder=mjpeg" "--enable-decoder=mjpeg"
"--enable-decoder=mjpegb" "--enable-decoder=mjpegb"
"--enable-libspeex" "--enable-libspeex"
"--enable-libopus" "--enable-libopus"
"--enable-libvpx" "--enable-libvpx"
"--enable-libx264" "--enable-libx264"
"--enable-encoder=libspeex" "--enable-encoder=libspeex"
"--enable-decoder=libspeex" "--enable-decoder=libspeex"
"--enable-encoder=libopus" "--enable-encoder=libopus"
"--enable-decoder=libopus" "--enable-decoder=libopus"
;; Encoders/decoders for ringtones and audio streaming. ;; Encoders/decoders for ringtones and audio streaming.
"--enable-decoder=flac" "--enable-decoder=flac"
"--enable-decoder=vorbis" "--enable-decoder=vorbis"
"--enable-decoder=aac" "--enable-decoder=aac"
"--enable-decoder=ac3" "--enable-decoder=ac3"
"--enable-decoder=eac3" "--enable-decoder=eac3"
"--enable-decoder=mp3" "--enable-decoder=mp3"
"--enable-decoder=pcm_u24le" "--enable-decoder=pcm_u24le"
"--enable-decoder=pcm_u32le" "--enable-decoder=pcm_u32le"
"--enable-decoder=pcm_u8" "--enable-decoder=pcm_u8"
"--enable-decoder=pcm_f16le" "--enable-decoder=pcm_f16le"
"--enable-decoder=pcm_f32le" "--enable-decoder=pcm_f32le"
"--enable-decoder=pcm_f64le" "--enable-decoder=pcm_f64le"
"--enable-decoder=pcm_s16le" "--enable-decoder=pcm_s16le"
"--enable-decoder=pcm_s24le" "--enable-decoder=pcm_s24le"
"--enable-decoder=pcm_s32le" "--enable-decoder=pcm_s32le"
"--enable-decoder=pcm_s64le" "--enable-decoder=pcm_s64le"
"--enable-decoder=pcm_u16le" "--enable-decoder=pcm_u16le"
"--enable-encoder=pcm_u8" "--enable-encoder=pcm_u8"
"--enable-encoder=pcm_f32le" "--enable-encoder=pcm_f32le"
"--enable-encoder=pcm_f64le" "--enable-encoder=pcm_f64le"
"--enable-encoder=pcm_s16le" "--enable-encoder=pcm_s16le"
"--enable-encoder=pcm_s32le" "--enable-encoder=pcm_s32le"
"--enable-encoder=pcm_s64le" "--enable-encoder=pcm_s64le"
;; Encoders/decoders for images. ;; Encoders/decoders for images.
"--enable-encoder=gif" "--enable-encoder=gif"
"--enable-decoder=gif" "--enable-decoder=gif"
"--enable-encoder=jpegls" "--enable-encoder=jpegls"
"--enable-decoder=jpegls" "--enable-decoder=jpegls"
"--enable-encoder=ljpeg" "--enable-encoder=ljpeg"
"--enable-decoder=jpeg2000" "--enable-decoder=jpeg2000"
"--enable-encoder=png" "--enable-encoder=png"
"--enable-decoder=png" "--enable-decoder=png"
"--enable-encoder=bmp" "--enable-encoder=bmp"
"--enable-decoder=bmp" "--enable-decoder=bmp"
"--enable-encoder=tiff" "--enable-encoder=tiff"
"--enable-decoder=tiff" "--enable-decoder=tiff"
;; Filters. ;; Filters.
"--enable-filter=scale" "--enable-filter=scale"
"--enable-filter=overlay" "--enable-filter=overlay"
"--enable-filter=amix" "--enable-filter=amix"
"--enable-filter=amerge" "--enable-filter=amerge"
"--enable-filter=aresample" "--enable-filter=aresample"
"--enable-filter=format" "--enable-filter=format"
"--enable-filter=aformat" "--enable-filter=aformat"
"--enable-filter=fps" "--enable-filter=fps"
"--enable-filter=transpose" "--enable-filter=transpose"
"--enable-filter=pad" "--enable-filter=pad"
;; Decoders for ringtones and audio streaming. ;; Decoders for ringtones and audio streaming.
"--enable-decoder=pcm_s16be" "--enable-decoder=pcm_s16be"
"--enable-decoder=pcm_s16be_planar" "--enable-decoder=pcm_s16be_planar"
"--enable-decoder=pcm_s16le_planar" "--enable-decoder=pcm_s16le_planar"
"--enable-decoder=pcm_s24be" "--enable-decoder=pcm_s24be"
"--enable-decoder=pcm_s24le_planar" "--enable-decoder=pcm_s24le_planar"
"--enable-decoder=pcm_s32be" "--enable-decoder=pcm_s32be"
"--enable-decoder=pcm_s32le_planar" "--enable-decoder=pcm_s32le_planar"
"--enable-decoder=pcm_s64be" "--enable-decoder=pcm_s64be"
"--enable-decoder=pcm_s8" "--enable-decoder=pcm_s8"
"--enable-decoder=pcm_s8_planar" "--enable-decoder=pcm_s8_planar"
"--enable-decoder=pcm_u16be" "--enable-decoder=pcm_u16be"
;; More filters. ;; More filters.
"--enable-filter=afir" "--enable-filter=afir"
"--enable-filter=split" "--enable-filter=split"
"--enable-filter=drawbox" "--enable-filter=drawbox"
"--enable-filter=drawtext" "--enable-filter=drawtext"
"--enable-filter=rotate" "--enable-filter=rotate"
"--enable-filter=loop" "--enable-filter=loop"
"--enable-filter=setpts" "--enable-filter=setpts"
"--enable-filter=movie" "--enable-filter=movie"
"--enable-filter=alphamerge" "--enable-filter=alphamerge"
"--enable-filter=boxblur" "--enable-filter=boxblur"
"--enable-filter=lut" "--enable-filter=lut"
"--enable-filter=negate" "--enable-filter=negate"
"--enable-filter=colorkey" "--enable-filter=colorkey"
"--enable-filter=transpose" "--enable-filter=transpose"
"--enable-libfreetype" "--enable-libfreetype"
#$@(if (string-contains (%current-system) "linux") #$@(if (string-contains (%current-system) "linux")
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc' ;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
;; flags, as there's no support for ffnvcodec in Guix; ;; flags, as there's no support for ffnvcodec in Guix;
;; it would not work with Mesa anyway. ;; it would not work with Mesa anyway.
'("--enable-pic" '("--enable-pic"
"--extra-cxxflags=-fPIC" "--extra-cxxflags=-fPIC"
"--extra-cflags=-fPIC" "--extra-cflags=-fPIC"
"--target-os=linux" "--target-os=linux"
"--enable-indev=v4l2" "--enable-indev=v4l2"
"--enable-indev=xcbgrab" "--enable-indev=xcbgrab"
"--enable-vdpau" "--enable-vdpau"
"--enable-hwaccel=h264_vdpau" "--enable-hwaccel=h264_vdpau"
"--enable-hwaccel=mpeg4_vdpau" "--enable-hwaccel=mpeg4_vdpau"
"--enable-vaapi" "--enable-vaapi"
"--enable-hwaccel=h264_vaapi" "--enable-hwaccel=h264_vaapi"
"--enable-hwaccel=mpeg4_vaapi" "--enable-hwaccel=mpeg4_vaapi"
"--enable-hwaccel=h263_vaapi" "--enable-hwaccel=h263_vaapi"
"--enable-hwaccel=vp8_vaapi" "--enable-hwaccel=vp8_vaapi"
"--enable-hwaccel=mjpeg_vaapi" "--enable-hwaccel=mjpeg_vaapi"
"--enable-hwaccel=hevc_vaapi" "--enable-hwaccel=hevc_vaapi"
"--enable-encoder=h264_vaapi" "--enable-encoder=h264_vaapi"
"--enable-encoder=vp8_vaapi" "--enable-encoder=vp8_vaapi"
"--enable-encoder=mjpeg_vaapi" "--enable-encoder=mjpeg_vaapi"
"--enable-encoder=hevc_vaapi") "--enable-encoder=hevc_vaapi")
'()))))) '())))))
(inputs (modify-inputs (package-inputs ffmpeg) (inputs (modify-inputs (package-inputs ffmpeg)
(append pipewire))))) (append pipewire))))))
(define-public ffmpegthumbnailer (define-public ffmpegthumbnailer
(package (package