summaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm516
1 files changed, 219 insertions, 297 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fb01e3f30c..48c7c3a46d 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>
@@ -40,7 +40,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
-;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
@@ -61,6 +61,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Bird <birdsite@airmail.cc>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -120,6 +121,7 @@
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages dbm)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
@@ -745,6 +747,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="
@@ -760,7 +763,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
(define-public celluloid
(package
(name "celluloid")
- (version "0.22")
+ (version "0.23")
(source
(origin
(method url-fetch)
@@ -768,7 +771,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
"/releases/download/v" version
"/celluloid-" version ".tar.xz"))
(sha256
- (base32 "18g596ja8g0fy79pmxqdlzqzb0f9xq69ik4bah8g2ppipfvxbpjz"))))
+ (base32 "0x23y09jwkg8wbb0yp5f03sj5hwjg3kyhbbww2y1a0izs1iijbdj"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list intltool pkg-config))
@@ -820,7 +823,7 @@ television and DVD. It is also known as AC-3.")
(define-public libaom
(package
(name "libaom")
- (version "3.2.0")
+ (version "3.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -829,7 +832,7 @@ television and DVD. It is also known as AC-3.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fmnbzpl481i7kchx4hbvb507r5pfgyrzfrlrs7jk3bicycm75qv"))))
+ "024vhsx7bw9kajk65hhh5vmqrja0h33rmlcpngsj3yg4p8l29943"))))
(build-system cmake-build-system)
(native-inputs
(list perl pkg-config python)) ; to detect the version
@@ -1077,7 +1080,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public pipe-viewer
(package
(name "pipe-viewer")
- (version "0.1.7")
+ (version "0.2.0")
(source
(origin
(method git-fetch)
@@ -1087,7 +1090,7 @@ H.264 (MPEG-4 AVC) video streams.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1fh8b77vchpsar88dszsz5h1gzd4jz0v902igp2880vnpvacmfi9"))))
+ (base32 "19qfs0nv7l01468f14a5zbvaiff5hrsk3a4zqknh15014xnvw08s"))))
(build-system perl-build-system)
(arguments
`(#:imported-modules
@@ -1546,58 +1549,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
@@ -1606,55 +1607,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"
@@ -1670,10 +1672,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"
@@ -1704,35 +1705,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,
@@ -1740,9 +1738,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)
@@ -1752,23 +1766,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)
@@ -1810,15 +1823,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
@@ -1830,17 +1842,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
@@ -1874,7 +1886,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
@@ -1883,7 +1895,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)
@@ -2453,7 +2465,7 @@ YouTube.com and many more sites.")
(define-public yt-dlp
(package/inherit youtube-dl
(name "yt-dlp")
- (version "2022.02.04")
+ (version "2022.05.18")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/yt-dlp/yt-dlp/"
@@ -2461,7 +2473,7 @@ YouTube.com and many more sites.")
version "/yt-dlp.tar.gz"))
(sha256
(base32
- "1qx8sx47lzyrcl00r2657zjaq0mwfbzjyfnv5lr5dlm552f13pf8"))
+ "0wiiwqj8m4z6lladmrsp9354ddwlhn2gf0b39j271001g6fyi82r"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page
@@ -2471,8 +2483,7 @@ YouTube.com and many more sites.")
;;"yt-dlp.1"
"completions/bash/yt-dlp"
"completions/fish/yt-dlp.fish"
- "completions/zsh/_yt-dlp"))
- #t))))
+ "completions/zsh/_yt-dlp"))))))
(arguments
(substitute-keyword-arguments (package-arguments youtube-dl)
((#:tests? _) #t)
@@ -2483,8 +2494,7 @@ YouTube.com and many more sites.")
(lambda _
(substitute* "yt_dlp/postprocessor/ffmpeg.py"
(("\\.get_param\\('ffmpeg_location'\\)" match)
- (format #f "~a or '~a'" match (which "ffmpeg"))))
- #t))
+ (format #f "~a or '~a'" match (which "ffmpeg"))))))
(replace 'build-generated-files
(lambda _
;; Avoid the yt-dlp.1 target, which requires pandoc.
@@ -2496,15 +2506,16 @@ YouTube.com and many more sites.")
(("'etc/")
(string-append "'" prefix "/etc/"))
(("'share/")
- (string-append "'" prefix "/share/"))))
- #t))
+ (string-append "'" prefix "/share/"))))))
(delete 'install-completion)
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-k" "not download"))))))))
(inputs
- `(("python-mutagen" ,python-mutagen)
+ `(("python-brotli" ,python-brotli)
+ ("python-certifi" ,python-certifi)
+ ("python-mutagen" ,python-mutagen)
("python-pycryptodomex" ,python-pycryptodomex)
("python-websockets" ,python-websockets)
,@(package-inputs youtube-dl)))
@@ -2519,103 +2530,6 @@ original project.")
(properties '((release-monitoring-url . "https://pypi.org/project/yt-dlp/")))
(home-page "https://github.com/yt-dlp/yt-dlp")))
-(define-public youtube-dl-gui
- (package
- (name "youtube-dl-gui")
- (version "0.4")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "Youtube-DLG" version))
- (sha256
- (base32
- "1bvq2wyn6az59vpdy04dh68fs8m2qzz948xhphibbcpwpcdk00cd"))))
- (build-system python-build-system)
- (arguments
- ;; In Guix, wxpython has not yet been packaged for Python 3.
- `(#:python ,python-2
- ;; This package has no tests.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The youtube-dl-gui program lets you configure options. Some of
- ;; them are problematic, so we change their defaults.
- (substitute* "youtube_dl_gui/optionsmanager.py"
- ;; When this is true, the builder process will try (and fail) to
- ;; write logs to the builder user's home directory.
- (("'enable_log': True") "'enable_log': False")
- ;; This determines which youtube-dl program youtube-dl-gui will
- ;; run. If we don't set this, then youtube-dl-gui might download
- ;; an arbitrary copy from the Internet into the user's home
- ;; directory and run it, so let's make sure youtube-dl-gui uses
- ;; the youtube-dl from the inputs by default.
- (("'youtubedl_path': self.config_path")
- (string-append "'youtubedl_path': '"
- (assoc-ref inputs "youtube-dl")
- "/bin'"))
- ;; When this is True, when youtube-dl-gui is finished downloading
- ;; a file, it will try (and possibly fail) to open the directory
- ;; containing the downloaded file. This can fail because it
- ;; assumes that xdg-open is in PATH. Unfortunately, simply
- ;; adding xdg-utils to the propagated inputs is not enough to
- ;; make this work, so for now we set the default to False.
- (("'open_dl_dir': True") "'open_dl_dir': False"))
- ;; The youtube-dl program from the inputs is actually a wrapper
- ;; script written in bash, so attempting to invoke it as a python
- ;; script will fail.
- (substitute* "youtube_dl_gui/downloaders.py"
- (("cmd = \\['python', self\\.youtubedl_path\\]")
- "cmd = [self.youtubedl_path]"))
- ;; Use relative paths for installing data files so youtube-dl-gui
- ;; installs the files relative to its prefix in the store, rather
- ;; than relative to /. Also, instead of installing data files into
- ;; $prefix/usr/share, install them into $prefix/share for
- ;; consistency (see: (standards) Directory Variables).
- (substitute* "setup.py"
- (("= '/usr/share") "= 'share"))
- ;; Update get_locale_file() so it finds the installed localization
- ;; files.
- (substitute* "youtube_dl_gui/utils.py"
- (("os\\.path\\.join\\('/usr', 'share'")
- (string-append "os.path.join('"
- (assoc-ref %outputs "out")
- "', 'share'")))
- #t))
- (add-after 'install 'create-desktop-file
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (applications (string-append out "/share/applications")))
- (mkdir-p applications)
- (call-with-output-file
- (string-append applications "/youtube-dl-gui.desktop")
- (lambda (file)
- (format
- file
- "[Desktop Entry]~@
- Name=Youtube-dl GUI~@
- Comment=Graphical interface to download video with youtube-dl~@
- Exec=youtube-dl-gui~@
- TryExec=youtube-dl-gui~@
- Terminal=false~@
- Icon=youtube-dl-gui~@
- Type=Application~@
- Categories=AudioVideo;Audio;Video;Network~%")))
- #t))))))
- (native-inputs
- (list gettext-minimal))
- (inputs
- (list python2-twodict python2-wxpython youtube-dl))
- (home-page "https://github.com/MrS0m30n3/youtube-dl-gui")
- (synopsis
- "GUI (Graphical User Interface) for @command{youtube-dl}")
- (description
- "Youtube-dlG is a GUI (Graphical User Interface) for
-@command{youtube-dl}. You can use it to download videos from YouTube and any
-other site that youtube-dl supports.")
- (license license:unlicense)))
-
(define-public you-get
(package
(name "you-get")
@@ -3136,28 +3050,34 @@ and custom quantization matrices.")
(define-public streamlink
(package
(name "streamlink")
- (version "2.0.0")
+ (version "3.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "1nv2kj1k42a1b20ws8sdzlxk3wh1qz6pg5mxp75433b3c7lxksn0"))))
+ "09nrspga15svzi0hmakcarbciav0nzf30hg1ff53gia473cd4w4p"))))
(build-system python-build-system)
- (home-page "https://github.com/streamlink/streamlink")
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest")))))))
(native-inputs
- (list python-freezegun python-pytest python-mock
+ (list python-freezegun python-mock python-pytest
python-requests-mock))
(propagated-inputs
(list python-pysocks
python-websocket-client
- python-iso3166
- python-iso639
python-isodate
+ python-lxml-4.7
+ python-pycountry
python-pycryptodome
python-requests
python-urllib3))
+ (home-page "https://github.com/streamlink/streamlink")
(synopsis "Extract streams from various services")
(description "Streamlink is command-line utility that extracts streams
from sites like Twitch.tv and pipes them into a video player of choice.")
@@ -3210,7 +3130,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt
(package
(name "mlt")
- (version "7.4.0")
+ (version "7.6.0")
(source
(origin
(method git-fetch)
@@ -3219,7 +3139,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "132y3niv9p1pwms1d5dr0w1jifvr52yfjy6zza3g7qaha0yzfh0c"))))
+ (base32 "1dj7jb5nk0qy28mlw0pcmj4nd607mgx229nhf14gjc0fq9gx71sd"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3483,7 +3403,7 @@ OBS audio sources.")
(define-public obs-websocket
(package
(name "obs-websocket")
- (version "4.9.0")
+ (version "4.9.1")
(source
(origin
(method git-fetch)
@@ -3493,7 +3413,7 @@ OBS audio sources.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "1r47861ma1s3998clahbnbc216wcf706b1ps514k5p28h511l5w0"))))
+ (base32 "0giwhm0rbc578qng4invqqma935zzjlf05msz1gx986aqk654s7k"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -3503,10 +3423,10 @@ OBS audio sources.")
(lambda* _
(substitute* "CMakeLists.txt"
;; Remove lines that set writeable permissions on outputs.
+ (("PERMISSIONS [^)]*") "")
(("set\\(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS") "")
- (("OWNER_READ.*\\)") "")
- (("PERMISSIONS") ")"))
- #t)))))
+ ;; Ug^WClever hack to comment out the next line, which is ‘)’.
+ (("(OWNER|GROUP|WORLD)_READ .*") "#")))))))
(inputs
(list obs qtbase-5))
(home-page "https://github.com/Palakis/obs-websocket")
@@ -4102,7 +4022,7 @@ practically any type of media.")
(define-public libmediainfo
(package
(name "libmediainfo")
- (version "21.03")
+ (version "22.03")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
@@ -4110,7 +4030,7 @@ practically any type of media.")
name "_" version ".tar.xz"))
(sha256
(base32
- "1jm4mk539wf3crgpcddgwdixshwdzm37mkb5441lifhcz2mykdsn"))))
+ "1fc0ihj17cdv9zb346llwvbv0hn3sl3ax398ankgp74fcaxvll7w"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
(list autoconf automake libtool pkg-config))
@@ -4158,7 +4078,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
(define-public mediainfo
(package
(name "mediainfo")
- (version "21.03")
+ (version "22.03")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
@@ -4169,7 +4089,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
name "_" version ".tar.xz"))
(sha256
(base32
- "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y"))))
+ "1r1bh1lk2dsiv0j84whgca7qslxbibg6vsih7x5iga2p3lmgjdk2"))))
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
@@ -4861,7 +4781,7 @@ transitions, and effects and then export your film to many common formats.")
(define-public shotcut
(package
(name "shotcut")
- (version "22.01.30")
+ (version "22.04.25")
(source
(origin
(method git-fetch)
@@ -4870,7 +4790,7 @@ transitions, and effects and then export your film to many common formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0azbzaml743vlpay5dz8i0k66hw4idnambi49wj2yprw7z3skdql"))))
+ (base32 "0ccbx2crqrnhl19d7267xc40vs0cjmps2cnhi1g1l6bqxbi7k88x"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ;there are no tests
@@ -5131,7 +5051,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(define-public svt-av1
(package
(name "svt-av1")
- (version "0.9.0")
+ (version "0.9.1")
(source
(origin
(method git-fetch)
@@ -5140,7 +5060,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mavggl6f7pk7xs22859vm19qp9csjvdcys3b6n2f4pljqkp4qcj"))))
+ (base32 "02fchq2vlxcxzbrss72xl9vrxzysdy39d5i159bmg3qa45ngd2iw"))))
(build-system cmake-build-system)
;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
(supported-systems '("x86_64-linux"))
@@ -5418,14 +5338,14 @@ wlroots-based compositors. More specifically, those that support
(define-public guvcview
(package
(name "guvcview")
- (version "2.0.6")
+ (version "2.0.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/guvcview/source/guvcview-"
- "src-" version ".tar.gz"))
+ "src-" version ".tar.bz2"))
(sha256
(base32
- "11byyfpkcik7wvf2qic77zjamfr2rhji97dpj1gy2fg1bvpiqf4m"))))
+ "108c4g0ns9i1wnxyalmpjqbhlflmrj855vxgggr6qrl6h924w7x2"))))
(build-system gnu-build-system)
(arguments
;; There are no tests and "make check" would fail on an intltool error.
@@ -5433,11 +5353,13 @@ wlroots-based compositors. More specifically, those that support
(native-inputs
(list pkg-config intltool))
(inputs
- (list gtk+
+ (list bdb
+ gtk+
eudev
+ libjpeg-turbo
libusb
- v4l-utils ;libv4l2
- ffmpeg ;libavcodec, libavutil
+ v4l-utils ;libv4l2
+ ffmpeg ;libavcodec, libavutil
sdl2
gsl
portaudio