summaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-05-26 17:11:20 +0200
committerLudovic Courtès <ludo@gnu.org>2022-05-26 17:11:20 +0200
commit7097e98586df3110b80943a88c27804d65f214fa (patch)
tree2e244b9fc19acc569d6abd42306aaf013f02da0d /gnu/packages/video.scm
parent15870cc08d20501e3526fa892111a43ae9e3e02f (diff)
parent4577f3c6b60ea100e521c246fb169d6c05214b20 (diff)
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm324
1 files changed, 167 insertions, 157 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1dca59d182..97e6f9a072 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018, 2019, 2020, 2022 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@@ -746,6 +746,7 @@ stream decoding")
(ncurses (assoc-ref inputs "ncurses")))
(setenv "CONFIG_SHELL" (which "bash"))
(invoke "./configure"
+ "--disable-static"
(string-append "--prefix=" out)
(string-append "--build=" build)
(string-append "--with-ncurses="
@@ -1547,58 +1548,56 @@ These tools require a supported graphics chip, driver, and VA-API back end to
operate properly.")
(license license:expat)))
-(define-public ffmpeg
+(define-public ffmpeg-5
(package
(name "ffmpeg")
- (version "4.4.1")
+ (version "5.0.1")
(source (origin
- (method url-fetch)
- (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
- version ".tar.xz"))
- (sha256
- (base32
- "00hfwd8ld6jnd26pl9f0wcd2mag4zacxxgqgabsja2xkkagavnza"))))
+ (method url-fetch)
+ (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0yq0jcdc4qm5znrzylj3dsicrkk2n3n8bv28vr0a506fb7iglbpg"))))
(build-system gnu-build-system)
(inputs
- `(("dav1d" ,dav1d)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("frei0r-plugins" ,frei0r-plugins)
- ("gnutls" ,gnutls)
- ("opus" ,opus)
- ("ladspa" ,ladspa)
- ("lame" ,lame)
- ("libaom" ,libaom)
- ("libass" ,libass)
- ("libbluray" ,libbluray)
- ("libcaca" ,libcaca)
- ("libcdio-paranoia" ,libcdio-paranoia)
- ("libdrm" ,libdrm)
- ("libtheora" ,libtheora)
- ("libva" ,libva)
- ("libvdpau" ,libvdpau)
- ("libvorbis" ,libvorbis)
- ("libvpx" ,libvpx)
- ("libx11" ,libx11)
- ("libx264" ,libx264)
- ("mesa" ,mesa)
- ("openal" ,openal)
- ("pulseaudio" ,pulseaudio)
- ;; XXX: rav1e depends on rust, which currently only works on x86_64.
- ;; See also the related configure flag when changing this.
- ,@(if (string-prefix? "x86_64" (or (%current-target-system)
- (%current-system)))
- `(("rav1e" ,rav1e))
- '())
- ("sdl" ,sdl2)
- ("soxr" ,soxr)
- ("speex" ,speex)
- ("srt" ,srt)
- ("twolame" ,twolame)
- ("vidstab" ,vidstab)
- ("x265" ,x265)
- ("xvid" ,xvid)
- ("zlib" ,zlib)))
+ (append
+ ;; XXX: rav1e depends on rust, which currently only works on x86_64.
+ ;; See also the related configure flag when changing this.
+ (if (target-x86-64?) (list rav1e) '())
+ (list dav1d
+ fontconfig
+ freetype
+ frei0r-plugins
+ gnutls
+ opus
+ ladspa
+ lame
+ libaom
+ libass
+ libbluray
+ libcaca
+ libcdio-paranoia
+ libdrm
+ libtheora
+ libva
+ libvdpau
+ libvorbis
+ libvpx
+ libx11
+ libx264
+ mesa
+ openal
+ pulseaudio
+ sdl2
+ soxr
+ speex
+ srt
+ twolame
+ vidstab
+ x265
+ xvid
+ zlib)))
(native-inputs
(list bc
perl
@@ -1607,55 +1606,56 @@ operate properly.")
speex
yasm))
(arguments
- `(#:test-target "fate"
- #:configure-flags
- ;; possible additional inputs:
- ;; --enable-avisynth enable reading of AviSynth script
- ;; files [no]
- ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
- ;; --enable-libcelt enable CELT decoding via libcelt [no]
- ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
- ;; and libraw1394 [no]
- ;; --enable-libfaac enable AAC encoding via libfaac [no]
- ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
- ;; --enable-libflite enable flite (voice synthesis) support via
- ;; libflite [no]
- ;; --enable-libgme enable Game Music Emu via libgme [no]
- ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
- ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
- ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
- ;; --enable-libmodplug enable ModPlug via libmodplug [no]
- ;; --enable-libnut enable NUT (de)muxing via libnut,
- ;; native (de)muxer exists [no]
- ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via
- ;; libopencore-amrnb [no]
- ;; --enable-libopencore-amrwb enable AMR-WB decoding via
- ;; libopencore-amrwb [no]
- ;; --enable-libopencv enable video filtering via libopencv [no]
- ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via
- ;; OpenJPEG [no]
- ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
- ;; --enable-libschroedinger enable Dirac de/encoding via
- ;; libschroedinger [no]
- ;; --enable-libshine enable fixed-point MP3 encoding via
- ;; libshine [no]
- ;; --enable-libssh enable SFTP protocol via libssh [no]
- ;; (libssh2 does not work)
- ;; --enable-libstagefright-h264 enable H.264 decoding via
- ;; libstagefright [no]
- ;; --enable-libutvideo enable Ut Video encoding and decoding via
- ;; libutvideo [no]
- ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
- ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
- ;; --enable-libvo-amrwbenc enable AMR-WB encoding via
- ;; libvo-amrwbenc [no]
- ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
- ;; --enable-libxavs enable AVS encoding via xavs [no]
- ;; --enable-libzmq enable message passing via libzmq [no]
- ;; --enable-libzvbi enable teletext support via libzvbi [no]
- ;; --enable-opencl enable OpenCL code
- '("--enable-avresample"
- "--enable-gpl" ; enable optional gpl licensed parts
+ (list
+ #:test-target "fate"
+ #:configure-flags
+ ;; possible additional inputs:
+ ;; --enable-avisynth enable reading of AviSynth script
+ ;; files [no]
+ ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
+ ;; --enable-libcelt enable CELT decoding via libcelt [no]
+ ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
+ ;; and libraw1394 [no]
+ ;; --enable-libfaac enable AAC encoding via libfaac [no]
+ ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
+ ;; --enable-libflite enable flite (voice synthesis) support via
+ ;; libflite [no]
+ ;; --enable-libgme enable Game Music Emu via libgme [no]
+ ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
+ ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
+ ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
+ ;; --enable-libmodplug enable ModPlug via libmodplug [no]
+ ;; --enable-libnut enable NUT (de)muxing via libnut,
+ ;; native (de)muxer exists [no]
+ ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via
+ ;; libopencore-amrnb [no]
+ ;; --enable-libopencore-amrwb enable AMR-WB decoding via
+ ;; libopencore-amrwb [no]
+ ;; --enable-libopencv enable video filtering via libopencv [no]
+ ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via
+ ;; OpenJPEG [no]
+ ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
+ ;; --enable-libschroedinger enable Dirac de/encoding via
+ ;; libschroedinger [no]
+ ;; --enable-libshine enable fixed-point MP3 encoding via
+ ;; libshine [no]
+ ;; --enable-libssh enable SFTP protocol via libssh [no]
+ ;; (libssh2 does not work)
+ ;; --enable-libstagefright-h264 enable H.264 decoding via
+ ;; libstagefright [no]
+ ;; --enable-libutvideo enable Ut Video encoding and decoding via
+ ;; libutvideo [no]
+ ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
+ ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
+ ;; --enable-libvo-amrwbenc enable AMR-WB encoding via
+ ;; libvo-amrwbenc [no]
+ ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
+ ;; --enable-libxavs enable AVS encoding via xavs [no]
+ ;; --enable-libzmq enable message passing via libzmq [no]
+ ;; --enable-libzvbi enable teletext support via libzvbi [no]
+ ;; --enable-opencl enable OpenCL code
+ #~(list
+ "--enable-gpl" ;enable optional gpl licensed parts
"--enable-shared"
"--enable-frei0r"
"--enable-fontconfig"
@@ -1671,10 +1671,9 @@ operate properly.")
"--enable-libmp3lame"
"--enable-libopus"
"--enable-libpulse"
- ,@(if (string-prefix? "x86_64" (or (%current-target-system)
- (%current-system)))
- '("--enable-librav1e")
- '())
+ #$@(if (target-x86-64?)
+ '("--enable-librav1e")
+ '())
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
@@ -1705,35 +1704,32 @@ operate properly.")
"--disable-mipsdsp"
"--disable-mipsdspr2"
"--disable-mipsfpu")
- #:phases
- (modify-phases %standard-phases
- (replace
- 'configure
- ;; configure does not work followed by "SHELL=..." and
- ;; "CONFIG_SHELL=..."; set environment variables instead
- (lambda* (#:key outputs configure-flags #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "configure"
- (("#! /bin/sh") (string-append "#!" (which "sh"))))
- (setenv "SHELL" (which "bash"))
- (setenv "CONFIG_SHELL" (which "bash"))
- (apply invoke
- "./configure"
- (string-append "--prefix=" out)
- ;; Add $libdir to the RUNPATH of all the binaries.
- (string-append "--extra-ldflags=-Wl,-rpath="
- out "/lib")
- configure-flags))))
- (add-before
- 'check 'set-ld-library-path
- (lambda _
- ;; Allow $(top_builddir)/ffmpeg to find its dependencies when
- ;; running tests.
- (let* ((dso (find-files "." "\\.so$"))
- (path (string-join (map dirname dso) ":")))
- (format #t "setting LD_LIBRARY_PATH to ~s~%" path)
- (setenv "LD_LIBRARY_PATH" path)
- #t))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; configure does not work followed by "SHELL=..." and
+ ;; "CONFIG_SHELL=..."; set environment variables instead
+ (lambda* (#:key outputs configure-flags #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "configure"
+ (("#! /bin/sh") (string-append "#!" (which "sh"))))
+ (setenv "SHELL" (which "bash"))
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (apply invoke
+ "./configure"
+ (string-append "--prefix=" out)
+ ;; Add $libdir to the RUNPATH of all the binaries.
+ (string-append "--extra-ldflags=-Wl,-rpath="
+ out "/lib")
+ configure-flags))))
+ (add-before 'check 'set-ld-library-path
+ (lambda _
+ ;; Allow $(top_builddir)/ffmpeg to find its dependencies when
+ ;; running tests.
+ (let* ((dso (find-files "." "\\.so$"))
+ (path (string-join (map dirname dso) ":")))
+ (format #t "setting LD_LIBRARY_PATH to ~s~%" path)
+ (setenv "LD_LIBRARY_PATH" path)))))))
(home-page "https://www.ffmpeg.org/")
(synopsis "Audio and video framework")
(description "FFmpeg is a complete, cross-platform solution to record,
@@ -1741,9 +1737,25 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.")
(license license:gpl2+)))
+(define-public ffmpeg-4
+ (package
+ (inherit ffmpeg-5)
+ (version "4.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "14xadxm1yaamp216nq09xwasxg5g133v86dbb33mdg5di1zrlhdg"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ffmpeg-5)
+ ((#:configure-flags flags ''())
+ #~(cons "--enable-avresample" #$flags))))))
+
(define-public ffmpeg-3.4
(package
- (inherit ffmpeg)
+ (inherit ffmpeg-4)
(version "3.4.9")
(source (origin
(method url-fetch)
@@ -1753,23 +1765,22 @@ audio/video codec library.")
(base32
"0d8nkd9c85rkjlgsq1hidmykkrksi883ygqzhhj6wh4nqflv8vs9"))))
(arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
+ (substitute-keyword-arguments (package-arguments ffmpeg-4)
((#:modules modules %gnu-build-system-modules)
`((srfi srfi-1)
,@modules))
((#:configure-flags flags)
- `(fold delete
- ,flags
- '("--enable-libdav1d"
- "--enable-libaom"
- "--enable-librav1e"
- "--enable-libsrt")))))
- (inputs (modify-inputs (package-inputs ffmpeg)
+ #~(fold delete #$flags
+ '("--enable-libdav1d"
+ "--enable-libaom"
+ "--enable-librav1e"
+ "--enable-libsrt")))))
+ (inputs (modify-inputs (package-inputs ffmpeg-4)
(delete "dav1d" "libaom" "rav1e" "srt")))))
(define-public ffmpeg-2.8
(package
- (inherit ffmpeg)
+ (inherit ffmpeg-3.4)
(version "2.8.18")
(source (origin
(method url-fetch)
@@ -1811,15 +1822,14 @@ audio/video codec library.")
(let* ((dso (find-files "." "\\.so$"))
(path (string-join (map dirname dso) ":")))
(format #t "setting LD_LIBRARY_PATH to ~s~%" path)
- (setenv "LD_LIBRARY_PATH" path)
- #t))))))
- (inputs (modify-inputs (package-inputs ffmpeg)
- (delete "dav1d" "libaom" "rav1e" "srt")))))
+ (setenv "LD_LIBRARY_PATH" path)))))))))
+
+(define-public ffmpeg ffmpeg-4)
(define-public ffmpeg-for-stepmania
(hidden-package
(package
- (inherit ffmpeg)
+ (inherit ffmpeg-4)
(version "2.1.3")
(source
(origin
@@ -1831,17 +1841,17 @@ audio/video codec library.")
(base32 "1by8rmbva8mfrivdbbkr2gx4kga89zqygkd4cfjl76nr8mdcdamb"))
(file-name (git-file-name "ffmpeg" version))))
(arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
+ (substitute-keyword-arguments (package-arguments ffmpeg-4)
((#:configure-flags flags)
- '(list "--disable-programs"
- "--disable-doc"
- "--disable-debug"
- "--disable-avdevice"
- "--disable-swresample"
- "--disable-postproc"
- "--disable-avfilter"
- "--disable-shared"
- "--enable-static"))))
+ #~(list "--disable-programs"
+ "--disable-doc"
+ "--disable-debug"
+ "--disable-avdevice"
+ "--disable-swresample"
+ "--disable-postproc"
+ "--disable-avfilter"
+ "--disable-shared"
+ "--enable-static"))))
(inputs '()))))
(define-public ffmpegthumbnailer
@@ -1875,7 +1885,7 @@ videoformats depend on the configuration flags of ffmpeg.")
(define-public vlc
(package
(name "vlc")
- (version "3.0.16")
+ (version "3.0.17.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1884,7 +1894,7 @@ videoformats depend on the configuration flags of ffmpeg.")
"/vlc-" version ".tar.xz"))
(sha256
(base32
- "1xhhjhwihkz74dag25r5fscvw1v2byy4c8qxaxsw29gncky3bbpz"))))
+ "0510vqf35f0v9c498yki5441aig3fdqq3nv4vsb1vlvki7pr0zkg"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)