;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2018, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
-;;; Copyright © 201–72021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2019 Timo Eisenmann <eisenmann@fn.de>
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com>
-;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru>
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
+;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
+;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2021 David Wilson <david@daviwil.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
+ #:use-module (guix hg-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system waf)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
(define-public svt-hevc
(package
(name "svt-hevc")
- (version "1.4.3")
+ (version "1.5.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1sqh3dciqm2p1b66kngcpxqy5fx3ramxlxy8gfcbdwn2i3rsqhs7"))))
+ (base32 "1cv6vcf5yxcwdvj5yqcckbixqrvvdxk7ibincnnv80pz6wh527sv"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; Test script is stand-alone
#t))))))
(native-inputs
`(("dash" ,dash)
- ("gtk-doc" ,gtk-doc)
+ ("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("glew" ,glew)
(inputs
`(;; XXX: Build fails with libvideogfx.
;; ("libvideogfx" ,libvideogfx)
- ("qt" ,qtbase)
+ ("qt" ,qtbase-5)
("sdl" ,sdl)))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
(define-public celluloid
(package
(name "celluloid")
- (version "0.20")
+ (version "0.21")
(source
(origin
(method url-fetch)
"/releases/download/v" version
"/celluloid-" version ".tar.xz"))
(sha256
- (base32 "0kjjv2pcdvwcn4yi8kbpsca7pnx6cx6xdznv7ppqm0fssx68qyb3"))))
+ (base32 "1dvyf21iv9hrgv99szc24386vkacmhidm5b4d31hqqjs3b6di692"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
(replace 'bootstrap
(lambda _ (invoke "sh" "bootstrap"))))))
(home-page "http://liba52.sourceforge.net/")
- (synopsis "ATSC A/52 stream decoder")
- (description "liba52 is a library for decoding ATSC A/52 streams. The
-A/52 standard is used in a variety of applications, including digital
+ (synopsis "ATSC A/52 audio stream decoder")
+ (description "liba52 is a library for decoding ATSC A/52 audio streams.
+The A/52 standard is used in a variety of applications, including digital
television and DVD. It is also known as AC-3.")
(license license:gpl2+)))
(define-public libaom
(package
(name "libaom")
- (version "2.0.1")
+ (version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1vakwmcwvmmrdw7460m8hzq96y71lxqix8b2g07c6s12br0rrdhl"))))
+ "11fy2xw35ladkjcz71samhcpqlqr3y0n1n17nk90i13aydrll66f"))))
(build-system cmake-build-system)
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python))) ; to detect the version
(arguments
- `(#:tests? #f ;no check target
+ `(#:tests? #f ; downloads many video clips
#:configure-flags
- ;; build dynamic library
(list "-DBUILD_SHARED_LIBS=YES"
"-DENABLE_PIC=TRUE"
"-DAOM_TARGET_CPU=generic"
(string-append "-DCMAKE_INSTALL_PREFIX="
- (assoc-ref %outputs "out")))))
+ (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'delete-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (for-each delete-file
+ (find-files lib "\\.a$"))))))))
(home-page "https://aomedia.googlesource.com/aom/")
(synopsis "AV1 video codec")
(description "Libaom is the reference implementation of AV1. It includes a
("lzo" ,lzo)
("pcre2" ,pcre2)
("pugixml" ,pugixml)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtmultimedia" ,qtmultimedia)
("utfcpp" ,utfcpp)
("zlib" ,zlib)))
(define-public straw-viewer
(package
(name "straw-viewer")
- (version "0.1.2")
+ (version "0.1.3")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1s6w8m9377ajy21x7lf6mbgp5yk5i70nhzmqscibjnarr3xfg9zs"))))
+ (base32 "1n21byn7hqykpm94jmmnir1fwsskq6dp9wgj0bd2qf0qx5nq33cl"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
(define-public libass
(package
(name "libass")
- (version "0.15.0")
+ (version "0.15.1")
(source (origin
(method url-fetch)
(uri (string-append
version "/libass-" version ".tar.xz"))
(sha256
(base32
- "0cz8v6kh3f2j5rdjrra2z0h715fa16vjm7kambvqx9hak86262cz"))))
+ "0lwfmdizzrr4gcq3fgw4j8g9pkrqgx6h0f3pgrrnxc07s34kkp8w"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
version ".tar.gz"))
(sha256
(base32
- "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"))))
+ "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"))
+ (patches (search-patches "libcaca-CVE-2021-3410-pt1.patch"
+ "libcaca-CVE-2021-3410-pt2.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.6.2")
+ (version "1.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/"
"libmatroska/libmatroska-" version ".tar.xz"))
(sha256
- (base32 "140r3q6n4a0n11zaf76lvyxd9gp435dgm8gn7mj0gar2hjm7ji5w"))))
+ (base32 "06h81sxyz2riic0gpzik6ffcnq32wrqphi8c6k55glcdymiimyfs"))))
(build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "4.3.1")
+ (version "4.4")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "1yrg9nri54iav86vxy5i8pj51dhikksa04x20d77nc3fsi09405d"))))
+ "02fr8mvf2agwmyb9q2bmh9p09gpz3xxmpcbbbj8iydz57hc0mc86"))))
(build-system gnu-build-system)
(inputs
`(("dav1d" ,dav1d)
("sdl" ,sdl2)
("soxr" ,soxr)
("speex" ,speex)
- ;; FFmpeg is not yet compatible with SRT > 1.4.1.
- ("srt" ,srt-1.4.1)
+ ("srt" ,srt)
("twolame" ,twolame)
("vidstab" ,vidstab)
("x265" ,x265)
audio/video codec library.")
(license license:gpl2+)))
-;; ungoogled-chromium crashes with ffmpeg 4.3, so stick with this version for
-;; now. See <https://issues.guix.gnu.org/41987>.
-(define-public ffmpeg-4.2
- (package
- (inherit ffmpeg)
- (version "4.2.3")
+(define-public ffmpeg-4.3
+ (package/inherit ffmpeg
+ (version "4.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx"))))
- (arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
- ((#:configure-flags flags)
- `(delete "--enable-librav1e" ,flags))))
- (inputs (fold alist-delete
- (package-inputs ffmpeg)
- '("rav1e")))))
+ "1nyd9jlcy0pqnwzi29a7sg50hq37vb0g3f9l16y3q8yh3m7ydr26"))))))
(define-public ffmpeg-3.4
(package
(define-public vlc
(package
(name "vlc")
- (version "3.0.12")
+ (version "3.0.16")
(source (origin
(method url-fetch)
(uri (string-append
"/vlc-" version ".tar.xz"))
(sha256
(base32
- "0ygqihw2c5vvzv8950dlf7rdwz1cpz1668jgyja604ljibrmix7g"))))
+ "1xhhjhwihkz74dag25r5fscvw1v2byy4c8qxaxsw29gncky3bbpz"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
(inputs
`(("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
+ ("dav1d" ,dav1d)
("dbus" ,dbus)
("eudev" ,eudev)
("flac" ,flac)
("pulseaudio" ,pulseaudio)
("protobuf" ,protobuf)
("python" ,python-wrapper)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
("samba" ,samba)
(define-public mpv
(package
(name "mpv")
- (version "0.33.0")
+ (version "0.33.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "06cmycd2gb826kf2zv470w6nhzyk9sdhjydsdiinbgb902lzcpfy"))))
+ "06rw1f55zcsj78ql8w70j9ljp2qb1pv594xj7q9cmq7i92a7hq45"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl) ; for zsh completion file
(define-public libvpx
(package
(name "libvpx")
- (version "1.9.0")
+ (version "1.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "16xv6ambc82g14h1y0q1vyy57wp6j9fbp0nk0wd5csnrw407rhry"))
+ "1p4v6j1505n3gnvx3iksciyi818ymxpazj9fmdrchzbl9pfzg4qi"))
(patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2021.01.16")
+ (version "2021.06.06")
(source (origin
(method url-fetch)
(uri (string-append "https://youtube-dl.org/downloads/latest/"
"youtube-dl-" version ".tar.gz"))
(sha256
(base32
- "1q8pvw5j45k8nvr3d9rvnhi6xaj1mdqlkrg7q7qq6zciq5r54fhi"))
+ "1hqan9h55x9gfdakw554vic68w9gpvhblchwxlw265zxp56hxjrw"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page
(define-public youtube-dl-gui
(package
(name "youtube-dl-gui")
- (version "0.3.8")
+ (version "0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Youtube-DLG" version))
(sha256
(base32
- "0napxwzgls5ik1bxbp99vly32l23xpc4ng5kr24hfhf21ypjyadb"))))
+ "1bvq2wyn6az59vpdy04dh68fs8m2qzz948xhphibbcpwpcdk00cd"))))
(build-system python-build-system)
(arguments
;; In Guix, wxpython has not yet been packaged for Python 3.
Type=Application~@
Categories=AudioVideo;Audio;Video;Network~%")))
#t))))))
+ (native-inputs
+ `(("gettext-minimal" ,gettext-minimal)))
(inputs
- `(("python2-wxpython" ,python2-wxpython)
+ `(("python2-twodict" ,python2-twodict)
+ ("python2-wxpython" ,python2-wxpython)
("youtube-dl" ,youtube-dl)))
(home-page "https://github.com/MrS0m30n3/youtube-dl-gui")
(synopsis
(define-public libdvdcss
(package
(name "libdvdcss")
- (version "1.4.2")
+ (version "1.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/pub/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq"))))
+ "0y800y33spblb20s1lsjbaiybknmwwmmiczmjqx5s760blpwjg13"))))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices")
(define-public srt2vtt
(package
(name "srt2vtt")
- (version "0.1")
+ (version "0.2")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "16b377znjm6qlga5yb8aj7b7bcisa1ghcnj2lrb1d30lvxp4liif"))))
+ "1ravl635x81fcai4h2xnsn926i69pafgr6zkghq6319iprkw8ffv"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-srt2vtt
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (version ,(let ((v (package-version guile-3.0)))
+ (string-append (car (string-split v #\.))
+ ".0")))
+ (site (string-append out "/share/guile/site/" version))
+ (compiled (string-append
+ out "/lib/guile/" version
+ "/site-ccache")))
+ (wrap-program (string-append bin "/srt2vtt")
+ `("GUILE_LOAD_PATH" ":" prefix (,site))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,compiled)))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(inputs
- `(("guile" ,guile-2.0)))
+ `(("guile" ,guile-3.0)))
(synopsis "SubRip to WebVTT subtitle converter")
(description "srt2vtt converts SubRip formatted subtitles to WebVTT format
for use with HTML5 video.")
(define-public avidemux
(package
(name "avidemux")
- (version "2.7.6")
+ (version "2.7.8")
(source (origin
(method url-fetch)
(uri (string-append
"avidemux_" version ".tar.gz"))
(sha256
(base32
- "1kwkn976ppahrcr74bnv6sqx75pzl9y21m1mvr5ksi1m6lgp924s"))
+ "00blv5455ry3bb86zyzk1xmq3rbqmbif62khc0kq3whza97l12k2"))
(patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system)
(native-inputs
("libvpx" ,libvpx)
("libxv" ,libxv)
("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(arguments
#:phases
;; Make sure files inside the included ffmpeg tarball are
;; patch-shebanged.
- (let ((ffmpeg "ffmpeg-4.2.3"))
+ (let ((ffmpeg "ffmpeg-4.2.4"))
(modify-phases %standard-phases
(add-before 'patch-source-shebangs 'unpack-ffmpeg
(lambda _
(define-public vapoursynth
(package
(name "vapoursynth")
- (version "52")
+ (version "53")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1krfdzc2x2vxv4nq9kiv1c09hgj525qn120ah91fw2ikq8ldvmx4"))))
+ "0qcsfkpkry0cmvi60khjwvfz4fqhy23nqmn4pb9qrwll26sn9dcr"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (site (string-append out "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program (string-append out "/bin/vspipe")
+ `("PYTHONPATH" ":" = (,site)))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("cython" ,python-cython)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
- ("python" ,python)
("yasm" ,yasm)))
(inputs
`(("ffmpeg" ,ffmpeg)
("libass" ,libass)
+ ("python" ,python)
("tesseract-ocr" ,tesseract-ocr)
("zimg" ,zimg)))
(home-page "http://www.vapoursynth.com/")
(define-public streamlink
(package
(name "streamlink")
- (version "1.7.0")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "0ymqxzpwk7mr77w0dnnv7dj63d46q7cl1l4vj9llgn8jfaj64ypq"))))
+ "1nv2kj1k42a1b20ws8sdzlxk3wh1qz6pg5mxp75433b3c7lxksn0"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
(define-public mlt
(package
(name "mlt")
- (version "6.22.1")
+ (version "6.26.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k"))))
+ "1gz79xvs5jrzqhwhfk0dqdd3xiavnjp4q957h7nb02rij32byb39"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
- #:make-flags '("CC=gcc" "CXX=g++")
+ #:make-flags '(,(string-append "CC=" (cc-for-target))
+ ,(string-append "CXX=" (cxx-for-target)))
#:configure-flags
(list "--enable-gpl3"
"--enable-gpl")
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("alsa-plugins" ,alsa-plugins "pulseaudio")
("ffmpeg" ,ffmpeg)
("fftw" ,fftw)
("frei0r-plugins" ,frei0r-plugins)
("libxml2" ,libxml2)
("jack" ,jack-1)
("ladspa" ,ladspa)
+ ("libebur128" ,libebur128)
("libexif" ,libexif)
("libvorbis" ,libvorbis)
("rubberband" ,rubberband)
("libsamplerate" ,libsamplerate)
("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)
- ("sdl" ,sdl)
- ("sox" ,sox)))
+ ("rtaudio" ,rtaudio)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)
+ ("sox" ,sox)
+ ("vidstab" ,vidstab)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://www.mltframework.org/")
players, transcoders, web streamers and many more types of applications. The
functionality of the system is provided via an assortment of ready to use
tools, XML authoring components, and an extensible plug-in based API.")
- (license license:gpl3)))
+ (license license:lgpl2.1+)))
(define-public v4l-utils
(package
("glu" ,glu)
("libjpeg" ,libjpeg-turbo)
("libx11" ,libx11)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("eudev" ,eudev)))
(synopsis "Realtime video capture utilities for Linux")
(description "The v4l-utils provide a series of libraries and utilities to
(define-public obs
(package
(name "obs")
- (version "26.1.2")
+ (version "27.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/obsproject/obs-studio")
- (commit version)))
+ (commit version)
+ (recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
- "1k1asqiqw757v59ayx0w029ril947hs0lcp8n91knzjl891fr4nc"))))
+ "04fzsr9yizmxy0r7z2706crvnsnybpnv5kgfn77znknxxjacfhkn"))
+ (patches
+ (search-patches "obs-modules-location.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DOBS_VERSION_OVERRIDE=" ,version)
- "-DENABLE_UNIT_TESTS=TRUE")
+ "-DENABLE_UNIT_TESTS=TRUE"
+ ;; Browser plugin requires cef, but it is not packaged yet.
+ ;; <https://bitbucket.org/chromiumembedded/cef/src/master/>
+ "-DBUILD_BROWSER=FALSE")
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(wrap-program (string-append out "/bin/obs")
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
#t)))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "OBS_PLUGINS_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("lib/obs-plugins")))
+ (search-path-specification
+ (variable "OBS_PLUGINS_DATA_DIRECTORY")
+ (separator #f) ;single entry
+ (files '("share/obs/obs-plugins")))))
(native-inputs
`(("cmocka" ,cmocka)
("pkg-config" ,pkg-config)))
("ffmpeg" ,ffmpeg)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
+ ("glib" ,glib)
("jack" ,jack-1)
("jansson" ,jansson)
("libx264" ,libx264)
("libxcomposite" ,libxcomposite)
("mbedtls" ,mbedtls-apache)
("mesa" ,mesa)
+ ("pipewire" ,pipewire-0.3)
("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
("speexdsp" ,speexdsp)
("v4l-utils" ,v4l-utils)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
("zlib" ,zlib)))
(synopsis "Live streaming software")
(description "Open Broadcaster Software provides a graphical interface for
(home-page "https://obsproject.com")
(license license:gpl2+)))
+(define-public obs-spectralizer
+ (package
+ (name "obs-spectralizer")
+ (version "1.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/univrsal/spectralizer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+
+ ;; Remove bundled Windows DLLs.
+ (snippet '(delete-file-recursively "fftw3"))
+ (modules '((guix build utils)))
+
+ (sha256
+ (base32
+ "0q75cnyqydpvfda51zm9gxqj3wqr99ad0lxzjhw0ld67qvj1ag6i"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f
+ #:configure-flags
+ (list "-DGLOBAL_INSTALLATION=ON" "-DUSE_CMAKE_LIBDIR=ON")))
+ (inputs `(("obs" ,obs)
+ ("fftw" ,fftw)))
+ (home-page "https://github.com/univrsal/spectralizer")
+ (synopsis "OBS plugin for audio visualization")
+ (description "This OBS plugins allows you to vizualize MPD and internal
+OBS audio sources.")
+ (license license:gpl2)))
+
+(define-public obs-websocket
+ (package
+ (name "obs-websocket")
+ (version "4.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Palakis/obs-websocket")
+ (commit version)
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r47861ma1s3998clahbnbc216wcf706b1ps514k5p28h511l5w0"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-permission-change
+ (lambda* _
+ (substitute* "CMakeLists.txt"
+ ;; Remove lines that set writeable permissions on outputs.
+ (("set\\(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS") "")
+ (("OWNER_READ.*\\)") "")
+ (("PERMISSIONS") ")"))
+ #t)))))
+ (inputs
+ `(("obs" ,obs)
+ ("qtbase" ,qtbase-5)))
+ (home-page "https://github.com/Palakis/obs-websocket")
+ (synopsis "OBS plugin for remote control via WebSockets")
+ (description "This OBS plugin allows you to establish a WebSocket channel
+from within your running OBS instance so that you can control it remotely from
+programs on your current machine or on other machines.")
+ (license license:gpl2+)))
+
+(define-public obs-wlrobs
+ (package
+ (name "obs-wlrobs")
+ (version "1.0")
+ (source
+ (origin
+ (method hg-fetch)
+ (uri (hg-reference
+ (url "https://hg.sr.ht/~scoopta/wlrobs")
+ (changeset (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1faiq2gdb7qis3m1hilm4pz8lkmkab75vzm608dbiazahhybf96p"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs `() )
+ (inputs `(("obs" ,obs)
+ ("libx11" ,libx11 "out")
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (home-page "https://hg.sr.ht/~scoopta/wlrobs")
+ (synopsis "OBS plugin for Wayland (wlroots) screen capture")
+ (description
+ "This OBS plugin allows you to capture the screen on wlroots-based
+Wayland compositors.")
+ (license license:gpl3+)))
+
(define-public libvdpau
(package
(name "libvdpau")
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtx11extras" ,qtx11extras)))
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
(define-public libmediainfo
(package
(name "libmediainfo")
- (version "20.09")
+ (version "21.03")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
name "_" version ".tar.xz"))
(sha256
(base32
- "15ni9pnch6688m72swwax109a7mg4a08yx75qknrx7qa6dbyhz6h"))))
+ "1jm4mk539wf3crgpcddgwdixshwdzm37mkb5441lifhcz2mykdsn"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("zlib" ,zlib)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("zlib" ,zlib)
("tinyxml2" ,tinyxml2)
- ("curl" ,curl)
+ ("curl" ,curl) ; In Requires.private of libmediainfo.pc.
("libzen" ,libzen)))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; see above TODO
+ #:configure-flags
+ (list "--with-libcurl" "--with-libtinyxml2")
#:phases
;; build scripts not in root of archive
(modify-phases %standard-phases
(define-public mediainfo
(package
(name "mediainfo")
- (version "20.09")
+ (version "21.03")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
name "_" version ".tar.xz"))
(sha256
(base32
- "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir"))))
+ "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("zlib" ,zlib)
- ("libmediainfo" ,libmediainfo)
- ("libzen" ,libzen)))
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libmediainfo" ,libmediainfo)))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; lacks tests
(define-public pitivi
;; Pitivi switched to a non-semantic versioning scheme close before 1.0
(let ((latest-semver "0.999.0")
- (%version "2020.09.2"))
+ (%version "2021.01.0"))
(package
(name "pitivi")
(version (string-append latest-semver "-" %version))
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor %version) "/"
- name "-" %version ".tar.xz"))
- (sha256
- (base32
- "0hzvv4wia4rk0kvq16y27imq2qd4q5lg3vx99hdcjdb1x3zqqfg0"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/pitivi.git")
+ (commit %version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jics10l16ismi5br6wxi4jxz3dd4p0c0xv8l0l3nvksvda4aafi"))))
(build-system meson-build-system)
(inputs
`(("glib" ,glib)
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf-wrapper)
+ `(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
("unittest++" ,unittest-cpp)))
(propagated-inputs ;all referenced in installed headers
`(("cppzmq" ,cppzmq)
- ("ffmpeg" ,ffmpeg)
+ ;; libopenshot doesn't yet build with ffmpeg 4.4 (see:
+ ;; https://github.com/OpenShot/libopenshot/issues/676).
+ ("ffmpeg" ,ffmpeg-4.3)
("imagemagick" ,imagemagick)
("jsoncpp" ,jsoncpp)
("libopenshot-audio" ,libopenshot-audio)
- ("qtbase" ,qtbase)
+ ("qtbase" ,qtbase-5)
("qtmultimedia" ,qtmultimedia)
("zeromq" ,zeromq)))
(arguments
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg)
- ("font-ubuntu" ,font-ubuntu)
+ ("font-dejavu" ,font-dejavu)
("libopenshot" ,libopenshot)
("python" ,python)
("python-pyqt" ,python-pyqt)
(invoke "python" "src/tests/query_tests.py")))
(add-after 'unpack 'patch-font-location
(lambda* (#:key inputs #:allow-other-keys)
- (let ((font (assoc-ref inputs "font-ubuntu")))
+ (let ((font (assoc-ref inputs "font-dejavu")))
(substitute* "src/classes/app.py"
(("info.IMAGES_PATH") (string-append "\"" font "\""))
- (("fonts") "share/fonts/truetype")))
+ (("fonts") "share/fonts/truetype")
+ (("[A-Za-z_-]+.ttf") "DejaVuSans.ttf")))
#t))
(add-before 'install 'set-tmp-home
(lambda _
(setenv "HOME" "/tmp")
#t))
(add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "openshot-qt"))
+ (wrap-qt-program "openshot-qt"
+ #:output out #:inputs inputs))
#t)))))
(home-page "https://www.openshot.org/")
(synopsis "Video editor")
transitions, and effects and then export your film to many common formats.")
(license license:gpl3+)))
+(define-public shotcut
+ (package
+ (name "shotcut")
+ (version "21.03.21")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mltframework/shotcut")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jb488vynn0vmq22z51bg4hb4617732nva9rg52lzl89v5n8gmsi"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:tests? #f ;there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (invoke "qmake"
+ (string-append "PREFIX=" out)
+ "QMAKE_LRELEASE=lrelease"
+ "QMAKE_LUPDATE=lupdate"
+ "shotcut.pro"))))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (frei0r (assoc-ref inputs "frei0r-plugins"))
+ (ffmpeg (assoc-ref inputs "ffmpeg"))
+ (jack (assoc-ref inputs "jack"))
+ (sdl2 (assoc-ref inputs "sdl2")))
+ (wrap-program (string-append out "/bin/shotcut")
+ `("PATH" ":" prefix
+ ,(list (string-append ffmpeg "/bin")))
+ `("LD_LIBRARY_PATH" ":" prefix
+ ,(list (string-append jack "/lib" ":" sdl2 "/lib")))
+ `("FREI0R_PATH" ":" =
+ (,(string-append frei0r "/lib/frei0r-1/")))
+ `("MLT_PREFIX" ":" =
+ (,(assoc-ref inputs "mlt")))))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("qttools" ,qttools)))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)
+ ("frei0r-plugins" ,frei0r-plugins)
+ ("jack" ,jack-1)
+ ("ladspa" ,ladspa)
+ ("lame" ,lame)
+ ("libvpx" ,libvpx)
+ ("libx264" ,libx264)
+ ("mlt" ,mlt)
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase-5)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtgraphicaleffects" ,qtgraphicaleffects)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("qtquickcontrols2" ,qtquickcontrols2)
+ ("qtsvg" ,qtsvg)
+ ("qtwebkit" ,qtwebkit)
+ ("qtwebsockets" ,qtwebsockets)
+ ("qtx11extras" ,qtx11extras)
+ ("sdl2" ,sdl2)))
+ (home-page "https://www.shotcut.org/")
+ (synopsis "Video editor built on the MLT framework")
+ (description
+ "Shotcut is a video editor built on the MLT framework. Features include
+a wide range of formats through @code{ffmpeg}, 4k resolution support, webcam
+and audio capture, network stream playback, and many more.")
+ (license license:gpl3+)))
+
(define-public dav1d
(package
(name "dav1d")
- (version "0.8.1")
+ (version "0.9.0")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1820fpmmq1vxjzjmza6ydk4fgxipb8gmcc5skybki64qn7410v7x"))))
+ (base32 "0ki3wlyaqr80gl1srbbd18dd5bs1sl9icxym8ar62abpvgzxl5yk"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")
(define-public svt-av1
(package
(name "svt-av1")
- (version "0.8.6")
+ (version "0.8.7")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/AOMediaCodec/SVT-AV1")
+ (url "https://gitlab.com/AOMediaCodec/SVT-AV1.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw"))))
+ (base32 "1xlxb6kn6hqz9dxz0nd905m4i2mwjwq1330rbabwzmg4b66cdslg"))))
(build-system cmake-build-system)
;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
(supported-systems '("x86_64-linux"))
(description "SVT-AV1 is an AV1 codec implementation. The encoder is a
work-in-progress, aiming to support video-on-demand and live streaming
applications. It only supports Intel-compatible CPUs (x86).")
- (home-page "https://github.com/AOMediaCodec/SVT-AV1")
+ (home-page "https://gitlab.com/AOMediaCodec/SVT-AV1")
(license license:bsd-2)))
(define-public svt-vp9
(sha256
(base32
"1ypdiw4cq22llvm8jyszxdq6r1aydkj80dsxjarjn5b7c1f2q3ar"))))
- ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
+ ;; SVT-VP9 only supports 64-bit Intel-compatible CPUs.
(supported-systems '("x86_64-linux"))
(build-system cmake-build-system)
(arguments
(define-public rav1e
(package
(name "rav1e")
- (version "0.3.5")
+ (version "0.4.1")
(source
- (origin
- (method url-fetch)
- (uri (crate-uri "rav1e" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0c40gq4qid2apmlgzx98f6826jmn2n61prk0rn7sjxaw7yimw854"))))
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rav1e" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00rjil6qbrwfxhhlq9yvidxm0gp9qdbywhf5zvkj85lykbhyff09"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-aom-sys" ,rust-aom-sys-0.2)
- ("rust-arbitrary" ,rust-arbitrary-0.2)
+ ("rust-arbitrary" ,rust-arbitrary-0.4)
("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
("rust-arrayvec" ,rust-arrayvec-0.5)
+ ("rust-av-metrics" ,rust-av-metrics-0.6)
("rust-backtrace" ,rust-backtrace-0.3)
- ("rust-bitstream-io" ,rust-bitstream-io-0.8)
+ ("rust-bitstream-io" ,rust-bitstream-io-1)
("rust-byteorder" ,rust-byteorder-1)
- ("rust-cc" ,rust-cc-1)
- ("rust-cfg-if" ,rust-cfg-if-0.1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
("rust-clap" ,rust-clap-2)
- ("rust-console" ,rust-console-0.11)
+ ("rust-console" ,rust-console-0.14)
+ ("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
("rust-fern" ,rust-fern-0.6)
("rust-image" ,rust-image-0.23)
("rust-interpolate-name" ,rust-interpolate-name-0.2)
- ("rust-itertools" ,rust-itertools-0.9)
+ ("rust-itertools" ,rust-itertools-0.10)
("rust-ivf" ,rust-ivf-0.1)
("rust-libc" ,rust-libc-0.2)
+ ("rust-libfuzzer-sys" ,rust-libfuzzer-sys-0.3)
("rust-log" ,rust-log-0.4)
("rust-nasm-rs" ,rust-nasm-rs-0.2)
- ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.2)
+ ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3)
("rust-num-derive" ,rust-num-derive-0.3)
("rust-num-traits" ,rust-num-traits-0.2)
- ("rust-paste" ,rust-paste-0.1)
- ("rust-rand" ,rust-rand-0.7)
- ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+ ("rust-paste" ,rust-paste-1)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.3)
("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7)
- ("rust-rustc-version" ,rust-rustc-version-0.2)
+ ("rust-rustc-version" ,rust-rustc-version-0.3)
("rust-scan-fmt" ,rust-scan-fmt-0.2)
("rust-serde" ,rust-serde-1)
- ("rust-signal-hook" ,rust-signal-hook-0.1)
+ ("rust-signal-hook" ,rust-signal-hook-0.3)
("rust-simd-helpers" ,rust-simd-helpers-0.1)
("rust-thiserror" ,rust-thiserror-1)
("rust-toml" ,rust-toml-0.5)
- ("rust-vergen" ,rust-vergen-3.1)
- ("rust-y4m" ,rust-y4m-0.5))
+ ("rust-v-frame" ,rust-v-frame-0.2)
+ ("rust-vergen" ,rust-vergen-3)
+ ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+ ("rust-y4m" ,rust-y4m-0.7))
#:cargo-development-inputs
(("rust-assert-cmd" ,rust-assert-cmd-1)
+ ("rust-cc" ,rust-cc-1)
("rust-criterion" ,rust-criterion-0.3)
("rust-interpolate-name" ,rust-interpolate-name-0.2)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
- ("rust-rand" ,rust-rand-0.7)
- ("rust-rand-chacha" ,rust-rand-chacha-0.2)
- ("rust-semver" ,rust-semver-0.9))
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.3)
+ ("rust-semver" ,rust-semver-0.11))
#:phases
(modify-phases %standard-phases
(replace 'build
(invoke "cargo" "cinstall" "--release"
(string-append "--prefix=" out))))))))
(native-inputs
- `(("cargo-c" ,rust-cargo-c)))
- (inputs
- `(("nasm" ,nasm)))
+ `(("cargo-c" ,rust-cargo-c)
+ ("nasm" ,nasm)))
(home-page "https://github.com/xiph/rav1e/")
- (synopsis "The fastest and safest AV1 encoder")
- (description
- "The fastest and safest AV1 encoder.")
+ (synopsis "Fast and safe AV1 encoder")
+ (description "@code{rav1e} is an AV1 video encoder. It is designed to
+eventually cover all use cases, though in its current form it is most suitable
+for cases where libaom (the reference encoder) is too slow.")
(license license:bsd-2)))
(define-public peek
(define-public get-iplayer
(package
(name "get-iplayer")
- (version "3.26")
+ (version "3.27")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0lsz5hz1ia5j612540rb0f31y7j2k5gf7x5i43l8k06b90wi73d6"))))
+ (base32 "077y31gg020wjpx5pcivqgkqawcjxh5kjnvq97x2gd7i3wwc30qi"))))
(build-system perl-build-system)
(arguments
- `(#:tests? #f ; no tests
+ `(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)