;;; 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, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; 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>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.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, 2021 Brice Waegeneire <brice@waegenei.re>
;;; 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 Vinicius Monego <monego@posteo.net>
+;;; 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>
;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru>
;;; 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 © 2021,2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Robin Templeton <robin@terpri.org>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
+;;; 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.
;;;
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (guix hg-download)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
;"--enable-pv3"
;"--enable-nuv"
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("iconv" ,libiconv)
- ("libtool" ,libtool)
- ("libxml2" ,libxml2)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (list autoconf
+ automake
+ libtool
+ libxml2
+ perl
+ pkg-config
+ python-wrapper))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("faac" ,faac)
- ("ffmpeg" ,ffmpeg)
- ("freetype" ,freetype)
- ("imagemagick" ,imagemagick)
- ("lame" ,lame)
- ("liba52" ,liba52)
- ("libdv" ,libdv)
- ("libdvdread" ,libdvdread)
- ("libjpeg" ,libjpeg-turbo)
- ("libmpeg2" ,libmpeg2)
- ("libogg" ,libogg)
- ("libquicktime" ,libquicktime)
- ("libtheora" ,libtheora)
- ("libvorbis" ,libvorbis)
- ("lzo" ,lzo)
- ("mjepgtools" ,mjpegtools)
- ("sdl" ,sdl)
- ;; ("v4l-utils" ,v4l-utils)
- ("x11" ,libx11)
- ("x264" ,libx264)
- ("xaw" ,libxaw)
- ("xext" ,libxext)
- ("xpm" ,libxpm)
- ("xv" ,libxv)
- ("xvid" ,xvid)
- ("zlib" ,zlib)))
+ (list alsa-lib
+ faac
+ ffmpeg
+ freetype
+ imagemagick
+ lame
+ liba52
+ libdv
+ libdvdread
+ libjpeg-turbo
+ libmpeg2
+ libogg
+ libquicktime
+ libtheora
+ libvorbis
+ lzo
+ mjpegtools
+ sdl
+ ;; ("v4l-utils" ,v4l-utils)
+ libx11
+ libx264
+ libxaw
+ libxext
+ libxpm
+ libxv
+ xvid
+ zlib))
(synopsis "Audio/Video Transcoder")
(description "Transcode is a fast, versatile and command-line based
-audio/video everything to everything converter primarily focussed on producing
+audio/video everything to everything converter primarily focused on producing
AVI video files with MP3 audio, but also including a program to read all the
video and audio streams from a DVD.")
(home-page
(arguments
`(#:tests? #f)) ; Test script is stand-alone
(native-inputs
- `(("yasm" ,yasm)))
+ (list yasm))
(synopsis "SVT HEVC encoder")
(description "Scalable Video Technology (SVT) is a software-based video
coding technology that is highly optimized for Intel's Xeon processors. Using
(string-append doc "/share/gtk-doc"))
#t))))))
(native-inputs
- `(("dash" ,dash)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
+ (list dash gtk-doc/stable pkg-config))
(inputs
`(("glew" ,glew)
("opengl" ,mesa)))
(propagated-inputs
- `(("orc" ,orc)))
+ (list orc))
(synopsis "Dirac video codec")
(description "Schroedinger is a project implementing the Dirac video codec in
ANSI C code. It is meant to be highly optimized and portable. It is developed
(search-patches "libquicktime-ffmpeg.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("doxygen" ,doxygen)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal doxygen pkg-config))
(inputs
- `(("alsa" ,alsa-lib)
- ("ffmpeg" ,ffmpeg)
- ("gtk+-2" ,gtk+-2)
- ("lame" ,lame)
- ("libdv" ,libdv)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libvorbis" ,libvorbis)
- ("opengl" ,mesa)
- ("schroedinger" ,schroedinger)
- ("x11" ,libx11)
- ("x264" ,libx264)
- ("xaw" ,libxaw)
- ("xv" ,libxv)))
+ (list alsa-lib
+ ffmpeg
+ gtk+-2
+ lame
+ libdv
+ libjpeg-turbo
+ libpng
+ libvorbis
+ mesa
+ schroedinger
+ libx11
+ libx264
+ libxaw
+ libxv))
(synopsis "Quick Time Library")
(description "The goal of this project is to enhance the quicktime4linux
library.")
(add-after 'unpack 'chdir
(lambda* _
(chdir "mjpg-streamer-experimental"))))))
- (inputs `(("libjpeg-turbo" ,libjpeg-turbo)))
+ (inputs (list libjpeg-turbo))
(synopsis "Stream JPEG over IP network")
(description "Command line application that copies JPEG frames from one or
more input plugins to multiple output plugins. It can be used to stream JPEG
(define-public mjpegtools
(package
(name "mjpegtools")
- (version "2.1.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri
- (string-append "https://sourceforge.net/projects/" name "/files/"
+ (string-append "https://sourceforge.net/projects/mjpeg/files/"
name "/" version "/" name "-" version ".tar.gz"))
(sha256
- (base32 "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w"))))
+ (base32 "16pl22ra3x2mkp8p3awslhlhj46b1nq9g89301gb0q4rgmnm705i"))))
(build-system gnu-build-system)
(inputs
- `(("gtk+-2" ,gtk+-2)
- ("libdv" ,libdv)
- ("libpng" ,libpng)
- ("libquicktime" ,libquicktime)
- ("sdl" ,sdl)))
+ (list gtk+-2 libdv libjpeg-turbo libpng libquicktime sdl))
+ (native-inputs
+ (list pkg-config))
(synopsis "Tools for handling MPEG")
(description "Mjpeg tools is a suite of programs which support video capture,
editing, playback, and compression to MPEG of MJPEG video. Edit, play and
(("is != NULL") "is.good()"))
#t)))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(inputs
`(("ffmpeg" ,ffmpeg-2.8)
("jpeg" ,libjpeg-turbo)
#:configure-flags
(list "--with-sdl2")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(inputs
- `(("linux-headers" ,linux-libre-headers)
- ("sdl2" ,sdl2)))
+ `(("sdl2" ,sdl2)))
(synopsis "Touchscreen access library")
(description "TSLib is a cross-platform library that provides access to
touchscreen devices and the ability to apply filters to their input events.")
(mkdir-p (string-append out "/bin"))
#t))))))
(native-inputs
- `(("nasm" ,nasm)))
+ (list nasm))
(inputs
- `(("liba52" ,liba52)))
+ (list liba52))
(synopsis "Advanced MPEG editing and manipulation library")
(description "Libmpeg3 decodes MP2, MP3, AC3, MPEG-1 video, MPEG-2 video,
and DVD footage in a single library. It supports many esoteric features like
`(("config" ,config)
("makeinfo" ,texinfo)))
(inputs
- `(("ncurses" ,ncurses)))
+ (list ncurses))
(arguments
`(#:phases
(modify-phases %standard-phases
(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="
(define-public celluloid
(package
(name "celluloid")
- (version "0.21")
+ (version "0.23")
(source
(origin
(method url-fetch)
"/releases/download/v" version
"/celluloid-" version ".tar.xz"))
(sha256
- (base32 "1dvyf21iv9hrgv99szc24386vkacmhidm5b4d31hqqjs3b6di692"))))
+ (base32 "0x23y09jwkg8wbb0yp5f03sj5hwjg3kyhbbww2y1a0izs1iijbdj"))))
(build-system glib-or-gtk-build-system)
(native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
+ (list intltool pkg-config))
(inputs
- `(("gtk+" ,gtk+)
- ("libepoxy" ,libepoxy)
- ("mpv" ,mpv)))
+ (list gtk libepoxy mpv))
(home-page "https://github.com/celluloid-player/celluloid")
(synopsis "GTK+ frontend for the mpv media player")
(description "Celluloid is a simple GTK+ frontend for the mpv media player.
(build-system gnu-build-system)
;; XXX We need to run ./bootstrap because of the build system fixes above.
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list autoconf automake libtool))
(arguments `(#:configure-flags '("--enable-shared")
#:phases
(modify-phases %standard-phases
(define-public libaom
(package
(name "libaom")
- (version "3.2.0")
+ (version "3.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0fmnbzpl481i7kchx4hbvb507r5pfgyrzfrlrs7jk3bicycm75qv"))))
+ "024vhsx7bw9kajk65hhh5vmqrja0h33rmlcpngsj3yg4p8l29943"))))
(build-system cmake-build-system)
(native-inputs
- `(("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python))) ; to detect the version
+ (list perl pkg-config python)) ; to detect the version
(arguments
`(#:tests? #f ; downloads many video clips
#:configure-flags
(base32
"1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny"))))
(inputs
- `(("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxv" ,libxv)
- ("libsm" ,libsm)
- ("libice" ,libice)
- ("sdl" ,sdl)))
+ (list libx11
+ libxext
+ libxv
+ libsm
+ libice
+ sdl))
(build-system gnu-build-system)
(home-page "http://libmpeg2.sourceforge.net/")
(synopsis "MPEG1 and MPEG2 video decoder library")
"1i6v9h3xx9pi0zmlj3anwwjxqa63sbhy9crrif8dphipwfn9hyg5"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("nasm" ,nasm)))
+ (list pkg-config nasm))
+ (inputs
+ (list config))
;; TODO: Add gpac input
(arguments
`(#:tests? #f ;no check target
;; program depends on ffmpeg and ffmpeg depends on
;; libx264).
"--disable-cli"
+ "--enable-pic"
;; On MIPS, we must pass "--disable-asm" or else
;; configure fails after printing: "You specified a
(or (%current-target-system)
(%current-system)))
'("--disable-asm")
- '()))))
+ '()))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'update-config-scripts
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "."))
+ '("config.guess" "config.sub")))))))
(home-page "https://www.videolan.org/developers/x264.html")
(synopsis "H.264 video coding library")
(description "libx264 is an advanced encoding library for creating
(build-system gnu-build-system)
(outputs '("out" "gui")) ; "mkvtoolnix-gui" brings the closure size from ~300 MB to 1.5+ GB.
(inputs
- `(("boost" ,boost)
- ("bzip2" ,bzip2)
- ("cmark" ,cmark)
- ("libebml" ,libebml)
- ("file" ,file)
- ("flac" ,flac)
- ("fmt" ,fmt)
- ("libdvdread" ,libdvdread)
- ("libmatroska" ,libmatroska)
- ("libogg" ,libogg)
- ("libvorbis" ,libvorbis)
- ("lzo" ,lzo)
- ("pcre2" ,pcre2)
- ("pugixml" ,pugixml)
- ("qtbase" ,qtbase-5)
- ("qtmultimedia" ,qtmultimedia)
- ("utfcpp" ,utfcpp)
- ("zlib" ,zlib)))
+ (list boost
+ bzip2
+ cmark
+ libebml
+ file
+ flac
+ fmt
+ libdvdread
+ libmatroska
+ libogg
+ libvorbis
+ lzo
+ pcre2
+ pugixml
+ qtbase-5
+ qtmultimedia
+ utfcpp
+ zlib))
(native-inputs
`(("docbook-xsl" ,docbook-xsl)
("gettext" ,gettext-minimal)
(define-public pipe-viewer
(package
(name "pipe-viewer")
- (version "0.1.7")
+ (version "0.2.0")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1fh8b77vchpsar88dszsz5h1gzd4jz0v902igp2880vnpvacmfi9"))))
+ (base32 "19qfs0nv7l01468f14a5zbvaiff5hrsk3a4zqknh15014xnvw08s"))))
(build-system perl-build-system)
(arguments
`(#:imported-modules
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib)))
(find-files bin-dir))))))))
(native-inputs
- `(("perl-module-build" ,perl-module-build)
- ("perl-test-pod" ,perl-test-pod)
- ("perl-test-simple" ,perl-test-simple)))
+ (list perl-module-build perl-test-pod perl-test-simple))
(inputs
- `(("perl-data-dump" ,perl-data-dump)
- ("perl-digest-md5" ,perl-digest-md5)
- ("perl-encode" ,perl-encode)
- ("ffmpeg" ,ffmpeg)
- ("perl-file-path" ,perl-file-path)
- ("perl-file-sharedir" ,perl-file-sharedir)
- ("perl-getopt-long" ,perl-getopt-long)
- ("perl-gtk3" ,perl-gtk3)
- ("perl-http-message" ,perl-http-message)
- ("perl-json" ,perl-json)
- ("perl-json-xs" ,perl-json-xs)
- ("perl-libwww" ,perl-libwww)
- ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
- ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached)
- ("perl-memoize" ,perl-memoize)
- ("perl-mime-base64" ,perl-mime-base64)
- ("perl-pathtools" ,perl-pathtools)
- ("perl-scalar-list-utils" ,perl-scalar-list-utils)
- ("perl-storable" ,perl-storable)
- ("perl-term-ansicolor" ,perl-term-ansicolor)
- ("perl-term-readline-gnu" ,perl-term-readline-gnu)
- ("perl-text-parsewords" ,perl-text-parsewords)
- ("perl-text-tabs+wrap" ,perl-text-tabs+wrap)
- ("perl-unicode-linebreak" ,perl-unicode-linebreak)
- ("perl-uri-escape" ,perl-uri-escape)
- ("wget" ,wget)
- ("xdg-utils" ,xdg-utils)
- ("youtube-dl" ,youtube-dl)
- ("yt-dlp" ,yt-dlp)))
+ (list perl-data-dump
+ perl-digest-md5
+ perl-encode
+ ffmpeg
+ perl-file-path
+ perl-file-sharedir
+ perl-getopt-long
+ perl-gtk3
+ perl-http-message
+ perl-json
+ perl-json-xs
+ perl-libwww
+ perl-lwp-protocol-https
+ perl-lwp-useragent-cached
+ perl-memoize
+ perl-mime-base64
+ perl-pathtools
+ perl-scalar-list-utils
+ perl-storable
+ perl-term-ansicolor
+ perl-term-readline-gnu
+ perl-text-parsewords
+ perl-text-tabs+wrap
+ perl-unicode-linebreak
+ perl-uri-escape
+ wget
+ xdg-utils
+ youtube-dl
+ yt-dlp))
(propagated-inputs
- `(("dconf" ,dconf)))
+ (list dconf))
(home-page "https://github.com/trizen/pipe-viewer")
(synopsis "CLI+GUI YouTube Client")
(description "Pipe-Viewer is a lightweight application for searching and
(arguments
'(#:configure-flags '("--disable-static")))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("nasm" ,nasm)))
+ (list pkg-config nasm))
(propagated-inputs
`(("freetype" ,freetype)
("fribidi" ,fribidi)
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs (list pkg-config))
(inputs
- `(("freeglut" ,freeglut)
- ("ftgl" ,ftgl)
- ("imlib2" ,imlib2)
- ("libx11" ,libx11)
- ("mesa" ,mesa)
- ("ncurses" ,ncurses)
- ("zlib" ,zlib)))
+ (list freeglut
+ ftgl
+ imlib2
+ libx11
+ mesa
+ ncurses
+ zlib))
(home-page "http://caca.zoy.org/wiki/libcaca")
(synopsis "Colour ASCII-art library")
(description "libcaca is a graphics library that outputs text instead of
"0sjz0s0nrv7jcpvh1i432x3jza0y5yycmzw84cfncb2qby0i62rs"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list autoconf automake libtool))
(home-page "https://www.videolan.org/developers/libdca.html")
(synopsis "DTS Coherent Acoustics decoder")
(description "libdca is a library for decoding DTS Coherent Acoustics
(base32
"1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"))))
(build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("libxv" ,libxv)))
+ (native-inputs (list pkg-config))
+ (inputs (list libxv))
(home-page "http://libdv.sourceforge.net/")
(synopsis "DV video (IEC 61834 and SMPTE 314M) codec")
(description "The Quasar DV codec (libdv) is a software codec for DV
(base32 "06h81sxyz2riic0gpzik6ffcnq32wrqphi8c6k55glcdymiimyfs"))))
(build-system cmake-build-system)
(inputs
- `(("libebml" ,libebml)))
+ (list libebml))
(arguments
`(#:configure-flags
(list "-DBUILD_SHARED_LIBS=YES")
(assoc-ref %build-inputs "vulkan-headers")
"/share/vulkan/registry/vk.xml"))))
(native-inputs
- `(("python-mako" ,python-mako)
- ("pkg-config" ,pkg-config)))
+ (list python-mako pkg-config))
(inputs
- `(("lcms" ,lcms)
- ("libepoxy" ,libepoxy)
- ("mesa" ,mesa)
- ("shaderc" ,shaderc)
- ("vulkan-headers" ,vulkan-headers)
- ("vulkan-loader" ,vulkan-loader)))
+ (list lcms
+ libepoxy
+ mesa
+ shaderc
+ vulkan-headers
+ vulkan-loader))
(home-page "https://code.videolan.org/videolan/libplacebo")
(synopsis "GPU-accelerated image/video processing library")
(description "libplacebo is, in a nutshell, the core rendering algorithms
(base32 "0q6l193x9whd80sjd5mx8cb7c0fcljb19nhfpla5h49nkzrq7lzs"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libdrm" ,libdrm)
- ("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxfixes" ,libxfixes)
- ("mesa" ,mesa)
- ("wayland" ,wayland)))
+ (list libdrm
+ libx11
+ libxext
+ libxfixes
+ mesa
+ wayland))
(arguments
`(#:phases
(modify-phases %standard-phases
(list "--enable-wayland"
"--enable-x11")))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libdrm" ,libdrm)
- ("libva" ,libva)
- ("libx11" ,libx11)
- ("mesa" ,mesa)
- ("wayland" ,wayland)))
+ (list libdrm libva libx11 mesa wayland))
(home-page "https://01.org/linuxmedia/vaapi")
(synopsis "Collection of testing utilities for VA-API")
(description
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
- `(("bc" ,bc)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)
- ("speex" ,speex)
- ("yasm" ,yasm)))
+ (list bc
+ perl
+ pkg-config
+ texinfo
+ 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"
"--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"
"--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,
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)
(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 (fold alist-delete
- (package-inputs ffmpeg)
- '("dav1d" "libaom" "rav1e" "srt")))))
+ #~(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)
(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 (fold alist-delete
- (package-inputs ffmpeg)
- '("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
(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
"1bakbr714j7yxdal1f5iq0gcl4cxggbbgj227ihdh5kvygqlwich"))))
(build-system cmake-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("ffmpeg" ,ffmpeg)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("gvfs" ,gvfs)))
+ (list ffmpeg libjpeg-turbo libpng gvfs))
(arguments
`(#:configure-flags (list "-DENABLE_GIO=ON" "-DENABLE_THUMBNAILER=ON")))
(home-page "https://github.com/dirkvdb/ffmpegthumbnailer")
(define-public vlc
(package
(name "vlc")
- (version "3.0.16")
+ (version "3.0.17.3")
(source (origin
(method url-fetch)
(uri (string-append
"/vlc-" version ".tar.xz"))
(sha256
(base32
- "1xhhjhwihkz74dag25r5fscvw1v2byy4c8qxaxsw29gncky3bbpz"))))
+ "0510vqf35f0v9c498yki5441aig3fdqq3nv4vsb1vlvki7pr0zkg"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
("libogg" ,libogg)
("libpng" ,libpng)
("libraw1394" ,libraw1394)
- ("librsvg" ,librsvg)
+ ("librsvg" ,(librsvg-for-system))
("libsamplerate" ,libsamplerate)
("libsecret" ,libsecret)
("libssh2" ,libssh2)
(build-system gnu-build-system)
;; FIXME: Add additional inputs once available.
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("yasm" ,yasm)))
+ (list pkg-config yasm))
(inputs
`(("alsa-lib" ,alsa-lib)
("cdparanoia" ,cdparanoia)
(define-public mpv
(package
(name "mpv")
- (version "0.34.0")
+ (version "0.34.1")
(source (origin
(method git-fetch)
(uri (git-reference
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0kqckrgvpx42gdmnc644lpwbimwf1am256xd670w2b8sbrjv3bm9"))))
+ (base32 "12qxwm1ww5vhjddl8yvj1xa0n1fi9z3lmzwhaiday2v59ca0qgsk"))))
(build-system waf-build-system)
(native-inputs
- `(("perl" ,perl) ; for zsh completion file
- ("pkg-config" ,pkg-config)
- ("python-docutils" ,python-docutils)))
+ (list perl ; for zsh completion file
+ pkg-config python-docutils))
;; Missing features: libguess, V4L2
(inputs
`(("alsa-lib" ,alsa-lib)
"12nvcl0cfix1xay9hfi7856vg4lpv8y5b0a22212bsjbvl5g22rc"))))
(build-system qt-build-system)
(native-inputs
- `(("qttools" ,qttools)))
+ (list qttools))
(inputs
- `(("bash-minimal" ,bash-minimal)
- ("qtbase" ,qtbase-5)
- ("zlib" ,zlib)
- ("mpv" ,mpv)))
+ (list bash-minimal qtbase-5 zlib mpv))
(arguments
- `(#:tests? #false ; no tests
- #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
- (string-append "CC=" ,(cc-for-target))
- ;; A KLUDGE to turn off invoking lrelease on the
- ;; project for now, because it fails consistently
- ;; with "WARNING: Could not find qmake spec
- ;; 'default'". See below.
- "LRELEASE=true")
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- ;; Due to the above, we must run lrelease separately on each .ts file
- ;; (as opposed to running `lrelease-pro smplayer.pro` for the entire
- ;; project, as the Makefile does normally without the above kludge).
- (add-after 'build 'compile-ts-files
- (lambda _
- (for-each (lambda (file)
- (invoke "lrelease" file))
- (find-files "./" "\\.ts$"))
- #true))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (mpv (assoc-ref inputs "mpv")))
- (wrap-program (string-append out "/bin/smplayer")
- `("PATH" ":" prefix
- ,(list (string-append mpv "/bin")))))
- #true)))))
+ (list #:tests? #false ; no tests
+ #:make-flags #~(list (string-append "PREFIX=" #$output)
+ (string-append "CC=" #+(cc-for-target))
+ ;; A KLUDGE to turn off invoking lrelease on the
+ ;; project for now, because it fails consistently
+ ;; with "WARNING: Could not find qmake spec
+ ;; 'default'". See below.
+ "LRELEASE=true")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ ;; Due to the above, we must run lrelease separately on each .ts file
+ ;; (as opposed to running `lrelease-pro smplayer.pro` for the entire
+ ;; project, as the Makefile does normally without the above kludge).
+ (add-after 'build 'compile-ts-files
+ (lambda _
+ (for-each (lambda (file)
+ (invoke "lrelease" file))
+ (find-files "./" "\\.ts$"))))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (mpv (assoc-ref inputs "mpv")))
+ (wrap-program (string-append out "/bin/smplayer")
+ `("PATH" ":" prefix
+ ,(list (string-append mpv "/bin"))))))))))
(home-page "https://www.smplayer.info")
(synopsis "Complete front-end for MPlayer, a media player")
(description "SMPlayer is a graphical user interface (GUI) for
the last played position, etc.")
(license license:gpl2+)))
+(define-public gallery-dl
+ (package
+ (name "gallery-dl")
+ (version "1.20.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mikf/gallery-dl"
+ "/releases/download/v" version "/gallery_dl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0149hd4nh7bk2yqjdnvrkvag5mwgsb6gxrgfcd88q4cv3k2ji42h"))))
+ (build-system python-build-system)
+ (inputs (list python-requests ffmpeg))
+ (home-page "https://github.com/mikf/gallery-dl")
+ (synopsis "Command-line program to download images from several sites")
+ (description "Gallery-dl is a command-line program that downloads image
+galleries and collections from several image hosting sites. While this package
+can use youtube-dl or yt-dlp packages to download videos, the focus is more on
+images and image hosting sites.")
+ (license license:gpl2)))
+
(define-public gnome-mpv
(deprecated-package "gnome-mpv" celluloid))
(setenv "CC" (which "gcc"))
(invoke "make"))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("glib" ,glib)
- ("mpv" ,mpv)))
+ (list glib mpv))
(home-page "https://github.com/hoyon/mpv-mpris")
(synopsis "MPRIS plugin for mpv")
(description "This package provides an @dfn{MPRIS} (Media Player Remote
(define-public libvpx
(package
(name "libvpx")
- (version "1.10.0")
+ (version "1.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1p4v6j1505n3gnvx3iksciyi818ymxpazj9fmdrchzbl9pfzg4qi"))
+ "00f1jrclai2b6ys78dpsg6r1mvcyxlna93vxcz8zjyia24c2pjsb"))
(patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
;; custom directory, but there seems to be no tarball with all files.
#:tests? #f))
(native-inputs
- `(("perl" ,perl)
- ("yasm" ,yasm)))
+ (list perl yasm))
(synopsis "VP8/VP9 video codec")
(description "libvpx is a codec for the VP8/VP9 video compression format.")
(license license:bsd-3)
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2021.06.06")
+ (version "2021.12.17")
(source (origin
(method url-fetch)
(uri (string-append "https://youtube-dl.org/downloads/latest/"
"youtube-dl-" version ".tar.gz"))
(sha256
(base32
- "1hqan9h55x9gfdakw554vic68w9gpvhblchwxlw265zxp56hxjrw"))
+ "1prm84ci1n1kjzhikhrsbxbgziw6br822psjnijm2ibqnz49jfwz"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page
;;"youtube-dl.1"
"youtube-dl.bash-completion"
"youtube-dl.fish"
- "youtube-dl.zsh"))
- #t))))
+ "youtube-dl.zsh"))))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
;; Continue respecting the --ffmpeg-location argument.
(substitute* "youtube_dl/postprocessor/ffmpeg.py"
(("\\.get\\('ffmpeg_location'\\)" match)
- (format #f "~a or '~a'" match (which "ffmpeg"))))
- #t))
+ (format #f "~a or '~a'" match (which "ffmpeg"))))))
(add-before 'build 'build-generated-files
(lambda _
;; Avoid the make targets that require pandoc.
(("'etc/")
(string-append "'" prefix "/etc/"))
(("'share/")
- (string-append "'" prefix "/share/")))
- #t)))
+ (string-append "'" prefix "/share/"))))))
(add-after 'install 'install-completion
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
"/share/zsh/site-functions")))
(mkdir-p zsh)
(copy-file "youtube-dl.zsh"
- (string-append zsh "/_youtube-dl"))
- #t))))))
+ (string-append zsh "/_youtube-dl"))))))))
(native-inputs
- `(("zip" ,zip)))
+ (list zip))
(inputs
- `(("ffmpeg" ,ffmpeg)))
+ (list ffmpeg))
(synopsis "Download videos from YouTube.com and other sites")
(description
"Youtube-dl is a small command-line program to download videos from
YouTube.com and many more sites.")
(home-page "https://yt-dl.org")
+ (properties '((release-monitoring-url . "https://yt-dl.org/downloads/")))
(license license:public-domain)))
(define-public yt-dlp
(package/inherit youtube-dl
(name "yt-dlp")
- (version "2021.10.22")
+ (version "2022.05.18")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/yt-dlp/yt-dlp/"
version "/yt-dlp.tar.gz"))
(sha256
(base32
- "0xh4cwmvx49pxn8x07wj2dy8ynj6xg8977l5493vv0l8zc27wp87"))
+ "0wiiwqj8m4z6lladmrsp9354ddwlhn2gf0b39j271001g6fyi82r"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page
;;"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)
(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.
(("'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)))
YouTube.com and many more sites. It is a fork of youtube-dl with a
focus on adding new features while keeping up-to-date with the
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
Categories=AudioVideo;Audio;Video;Network~%")))
#t))))))
(native-inputs
- `(("gettext-minimal" ,gettext-minimal)))
+ (list gettext-minimal))
(inputs
- `(("python2-twodict" ,python2-twodict)
- ("python2-wxpython" ,python2-wxpython)
- ("youtube-dl" ,youtube-dl)))
+ (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}")
"0gn86i6nfsw395r9a3i88nv2g08s5bgjps7w4qawb9gvk4h7zqap"))))
(build-system python-build-system)
(inputs
- `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
+ (list ffmpeg)) ; for multi-part and >=1080p videos
(arguments
`(#:phases
(modify-phases %standard-phases
"0xdybiihd66b79rbsawjhxs9snm78gld5ziz3gnp8vdcw0bshwz7"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-module-build" ,perl-module-build)))
+ (list perl-module-build))
(inputs
- `(("perl-data-dump" ,perl-data-dump)
- ("perl-file-sharedir" ,perl-file-sharedir)
- ("perl-gtk2" ,perl-gtk2)
- ("perl-json" ,perl-json)
- ("perl-json-xs" ,perl-json-xs)
- ("perl-libwww" ,perl-libwww)
- ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
- ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached)
- ("perl-memoize" ,perl-memoize)
- ("perl-mozilla-ca" ,perl-mozilla-ca)
- ("perl-term-readline-gnu" ,perl-term-readline-gnu)
- ("perl-unicode-linebreak" ,perl-unicode-linebreak)
- ("xdg-utils" ,xdg-utils)
-
- ;; Some videos play without youtube-dl, but others silently fail to.
- ("youtube-dl" ,youtube-dl)))
+ (list perl-data-dump
+ perl-file-sharedir
+ perl-gtk2
+ perl-json
+ perl-json-xs
+ perl-libwww
+ perl-lwp-protocol-https
+ perl-lwp-useragent-cached
+ perl-memoize
+ perl-mozilla-ca
+ perl-term-readline-gnu
+ perl-unicode-linebreak
+ xdg-utils
+ ;; Some videos play without youtube-dl, but others silently fail to.
+ youtube-dl))
(arguments
`(#:modules ((guix build perl-build-system)
(guix build utils)
(("\"libbdplus\"")
(string-append "\"" libbdplus "/lib/libbdplus\"")))
#t))))))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs (list pkg-config))
(inputs
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
(arguments
`(#:configure-flags '("--with-libdvdcss=yes")))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(propagated-inputs
- `(("libdvdcss" ,libdvdcss)))
+ (list libdvdcss))
(home-page "http://dvdnav.mplayerhq.hu/")
(synopsis "Library for reading video DVDs")
(description
"1drfc47hikfzc9d7hjk34rw10iqw01d2vwmn91pv73ppx4nsj81h"))))
(build-system gnu-build-system)
(inputs
- `(("libdvdread" ,libdvdread)
- ("libpng" ,libpng)
- ("imagemagick" ,imagemagick)
- ("libxml2" ,libxml2)
- ("freetype" ,freetype)))
+ (list libdvdread libpng imagemagick libxml2 freetype))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(synopsis "Generates a DVD-Video movie from a MPEG-2 stream")
(description "@command{dvdauthor} will generate a DVD-Video movie from a
MPEG-2 stream containing VOB packets.")
"0cv7j8irsv1n2dadlnhr6i1b8pann2ah6xpxic41f04my6ba6rp5"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libdvdread" ,libdvdread)))
+ (list libdvdread))
(home-page "http://dvdnav.mplayerhq.hu/")
(synopsis "Library for video DVD navigation features")
(description
`("GUILE_LOAD_PATH" ":" prefix (,site))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,compiled)))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("guile" ,guile-3.0)))
+ (list guile-3.0))
(synopsis "SubRip to WebVTT subtitle converter")
(description "srt2vtt converts SubRip formatted subtitles to WebVTT format
for use with HTML5 video.")
("pkg-config" ,pkg-config)
("yasm" ,yasm)))
(inputs
- `(("ffmpeg" ,ffmpeg)
- ("libass" ,libass)
- ("python" ,python)
- ("tesseract-ocr" ,tesseract-ocr)
- ("zimg" ,zimg)))
+ (list ffmpeg libass python tesseract-ocr zimg))
(home-page "http://www.vapoursynth.com/")
(synopsis "Video processing framework")
(description "VapourSynth is a C++ library and Python module for video
(base32
"1xyg3amgg27zf7188kss7y248s0xhh1vv8rrk0j9bcsd5nasxsmf"))))
(build-system gnu-build-system)
- (native-inputs `(("yasm" ,yasm)))
+ (native-inputs (list yasm))
(arguments
'(#:phases
(modify-phases %standard-phases
(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
- `(("python-freezegun" ,python-freezegun)
- ("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock)
- ("python-requests-mock" ,python-requests-mock)))
+ (list python-freezegun python-mock python-pytest
+ python-requests-mock))
(propagated-inputs
- `(("python-pysocks" ,python-pysocks)
- ("python-websocket-client" ,python-websocket-client)
- ("python-iso3166" ,python-iso3166)
- ("python-iso639" ,python-iso639)
- ("python-isodate" ,python-isodate)
- ("python-pycryptodome" ,python-pycryptodome)
- ("python-requests" ,python-requests)
- ("python-urllib3" ,python-urllib3)))
+ (list python-pysocks
+ python-websocket-client
+ 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.")
"/bin"))
#t)))))
(inputs
- `(("python-requests" ,python-requests)
- ("streamlink" ,streamlink)))
+ (list python-requests streamlink))
(home-page "https://github.com/BasioMeusPuga/twitchy")
(synopsis "Command-line interface for Twitch.tv")
(description
(define-public mlt
(package
(name "mlt")
- (version "7.2.0")
+ (version "7.6.0")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "17d4gs46ca3n0qg6z69hl6mmllnqj2id8ccrv8fyz8c5zm55ghqm"))))
+ (base32 "1dj7jb5nk0qy28mlw0pcmj4nd607mgx229nhf14gjc0fq9gx71sd"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ;requires "Kwalify"
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'override-LDFLAGS
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "LDFLAGS"
- (string-append
- "-Wl,-rpath="
- (assoc-ref outputs "out") "/lib")))))))
+ (list
+ #:tests? #f ;requires "Kwalify"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'override-LDFLAGS
+ (lambda _
+ (setenv "LDFLAGS"
+ (string-append "-Wl,-rpath=" #$output "/lib"))))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ (let* ((frei0r #$(this-package-input "frei0r-plugins"))
+ (ladspa #$(this-package-input "ladspa"))
+ ;; In MLT 7, 'melt' symlinks to 'melt-7'. Try to keep
+ ;; compatibility with MLT 6 where it's only 'melt'.
+ (major #$(version-major version))
+ (exec (if (file-exists?
+ (string-append #$output "/bin/melt-" major))
+ (string-append "melt-" major)
+ "melt")))
+ (wrap-program (string-append #$output "/bin/" exec)
+ `("FREI0R_PATH" ":" =
+ (,(string-append frei0r "/lib/frei0r-1")))
+ `("LADSPA_PATH" ":" =
+ (,(string-append ladspa "/lib/ladspa"))))))))))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("alsa-plugins" ,alsa-plugins "pulseaudio")
- ("ffmpeg" ,ffmpeg)
- ("fftw" ,fftw)
- ("frei0r-plugins" ,frei0r-plugins)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("gtk+" ,gtk+)
- ("libxml2" ,libxml2)
- ("jack" ,jack-1)
- ("ladspa" ,ladspa)
- ("libebur128" ,libebur128)
- ("libexif" ,libexif)
- ("libvorbis" ,libvorbis)
- ("rubberband" ,rubberband)
- ("libsamplerate" ,libsamplerate)
- ("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase-5)
- ("qtsvg" ,qtsvg)
- ("rtaudio" ,rtaudio)
- ("sdl2" ,sdl2)
- ("sdl2-image" ,sdl2-image)
- ("sox" ,sox)
- ("vidstab" ,vidstab)))
+ (list alsa-lib
+ `(,alsa-plugins "pulseaudio")
+ bash-minimal
+ ffmpeg
+ fftw
+ frei0r-plugins
+ gdk-pixbuf
+ gtk+
+ libxml2
+ jack-1
+ ladspa
+ libebur128
+ libexif
+ libvorbis
+ rubberband
+ libsamplerate
+ pulseaudio
+ qtbase-5
+ qtsvg
+ rtaudio
+ sdl2
+ sdl2-image
+ sox
+ vidstab))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(home-page "https://www.mltframework.org/")
(synopsis "Author, manage, and run multitrack audio/video compositions")
(description
"/lib/glib-2.0/include"))
,@(package-arguments mlt)))
(inputs
- `(("gtk+", gtk+-2)
- ,@(alist-delete "gtk+" (package-inputs mlt))))))
+ (modify-inputs (package-inputs mlt)
+ (replace "gtk+" gtk+-2)))))
(define-public v4l-utils
(package
(rmdir (string-append out "/share/applications"))
#t))))))
(native-inputs
- `(("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list perl pkg-config))
(inputs
`(("alsa-lib" ,alsa-lib)
("glu" ,glu)
(define-public obs
(package
(name "obs")
- (version "27.0.1")
+ (version "27.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "04fzsr9yizmxy0r7z2706crvnsnybpnv5kgfn77znknxxjacfhkn"))
+ "1ndiarr3d6qihymaigf34jjml0lrgbj640fnpnffz2ysj7276q0j"))
(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"
- ;; Browser plugin requires cef, but it is not packaged yet.
- ;; <https://bitbucket.org/chromiumembedded/cef/src/master/>
- "-DBUILD_BROWSER=FALSE")
+ (list
+ #:configure-flags
+ #~(list (string-append "-DOBS_VERSION_OVERRIDE=" #$version)
+ "-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
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (plugin-path (getenv "QT_PLUGIN_PATH")))
- (wrap-program (string-append out "/bin/obs")
- `("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
- #t)))))
+ #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ (lambda* _
+ (let ((plugin-path (getenv "QT_PLUGIN_PATH")))
+ (wrap-program (string-append #$output "/bin/obs")
+ `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))))))))
(native-search-paths
(list (search-path-specification
(variable "OBS_PLUGINS_DIRECTORY")
(separator #f) ;single entry
(files '("share/obs/obs-plugins")))))
(native-inputs
- `(("cmocka" ,cmocka)
- ("pkg-config" ,pkg-config)))
+ (list cmocka pkg-config))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("curl" ,curl)
- ("eudev" ,eudev)
- ("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-5)
- ("qtsvg" ,qtsvg)
- ("qtx11extras" ,qtx11extras)
- ("speexdsp" ,speexdsp)
- ("v4l-utils" ,v4l-utils)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)
- ("zlib" ,zlib)))
+ (list
+ alsa-lib
+ curl
+ eudev
+ ffmpeg
+ fontconfig
+ freetype
+ glib
+ jack-1
+ jansson
+ libx264
+ libxcomposite
+ mbedtls-apache
+ mesa
+ pipewire-0.3
+ pulseaudio
+ qtbase-5
+ qtsvg
+ qtx11extras
+ qtwayland
+ speexdsp
+ v4l-utils
+ wayland
+ wayland-protocols
+ zlib))
(synopsis "Live streaming software")
(description "Open Broadcaster Software provides a graphical interface for
video recording and live streaming. OBS supports capturing audio and video
`(#:tests? #f
#:configure-flags
(list "-DGLOBAL_INSTALLATION=ON" "-DUSE_CMAKE_LIBDIR=ON")))
- (inputs `(("obs" ,obs)
- ("fftw" ,fftw)))
+ (inputs (list obs 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
(define-public obs-websocket
(package
(name "obs-websocket")
- (version "4.9.0")
+ (version "4.9.1")
(source
(origin
(method git-fetch)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "1r47861ma1s3998clahbnbc216wcf706b1ps514k5p28h511l5w0"))))
+ (base32 "0giwhm0rbc578qng4invqqma935zzjlf05msz1gx986aqk654s7k"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
(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
- `(("obs" ,obs)
- ("qtbase" ,qtbase-5)))
+ (list obs 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
"1faiq2gdb7qis3m1hilm4pz8lkmkab75vzm608dbiazahhybf96p"))))
(build-system meson-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(propagated-inputs `() )
- (inputs `(("obs" ,obs)
- ("libx11" ,libx11 "out")
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
+ (inputs (list obs
+ `(,libx11 "out") wayland wayland-protocols))
(home-page "https://hg.sr.ht/~scoopta/wlrobs")
(synopsis "OBS plugin for Wayland (wlroots) screen capture")
(description
"1hc4mcrbr1yhfiy4zfd8wc2iiqbp90z6jswap0jia20vmyk5lqld"))))
(build-system meson-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libx11" ,libx11 "out")
- ("libxext" ,libxext)
- ("xorgproto" ,xorgproto)))
+ (list `(,libx11 "out") libxext xorgproto))
(home-page "https://wiki.freedesktop.org/www/Software/VDPAU/")
(synopsis "Video Decode and Presentation API")
(description "VDPAU is the Video Decode and Presentation API for UNIX. It
(lambda _
(invoke "autoreconf" "-fiv"))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libx11" ,libx11)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libx11 pkg-config))
(propagated-inputs
- `(("libvdpau" ,libvdpau)))
+ (list libvdpau))
(home-page "https://wiki.freedesktop.org/www/Software/VDPAU/")
(synopsis "Tool to query the capabilities of a VDPAU implementation")
(description "Vdpauinfo is a tool to query the capabilities of a VDPAU
(arguments
'(#:tests? #f)) ; Tests require a running X11 server, with VA-API support.
(native-inputs
- `(("libvdpau" ,libvdpau)
- ("pkg-config" ,pkg-config)))
+ (list libvdpau pkg-config))
(inputs
- `(("libva" ,libva)
- ("mesa" ,mesa)))
+ (list libva mesa))
(home-page "https://github.com/i-rinat/libvdpau-va-gl")
(synopsis "VDPAU driver with VA-API/OpenGL backend")
(description
(base32
"17kjgmkl45zma64a5dg1hyvnjkzk4vl8milgi6ic7hlsbmywpig7"))))
(build-system gnu-build-system)
- (inputs `(("popt" ,popt)
- ("zlib" ,zlib)
- ("libx11" ,libx11)
- ("libice" ,libice)
- ("libsm" ,libsm)
- ("libxfixes" ,libxfixes)
- ("libxdamage" ,libxdamage)
- ("libxext" ,libxext)
- ("alsa-lib" ,alsa-lib)
- ("libvorbis" ,libvorbis)
- ("libtheora" ,libtheora)))
+ (inputs (list popt
+ zlib
+ libx11
+ libice
+ libsm
+ libxfixes
+ libxdamage
+ libxext
+ alsa-lib
+ libvorbis
+ libtheora))
(home-page "https://enselic.github.io/recordmydesktop/")
(synopsis "Desktop session video recorder")
(description
;; README.md, the program builds and functions properly without them.
;; As a result, they are omitted. Please add them back if problems appear.
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("ffmpeg" ,ffmpeg)
- ("glu" ,glu)
- ("jack" ,jack-1)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (list alsa-lib
+ ffmpeg
+ glu
+ jack-1
+ libxi
+ libxinerama
+ pulseaudio
+ qtbase-5
+ qtx11extras))
+ (native-inputs (list pkg-config))
(arguments
`(#:configure-flags
(list "-DWITH_QT5=TRUE")
;; GCC 7. Also, 'configure' does CXXFLAGS=$CFLAGS, hence this hack.
'(#:configure-flags '("CFLAGS=-O2 -g -std=c++03")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)))
+ (list autoconf automake))
(inputs
`(("sdl" ,sdl2)))
(home-page "https://icculus.org/smpeg/")
(base32
"0jfi085rf3fa5xsn0vd3nqf32my8ph9c6a9445y7a8lrlz4dms64"))))
(inputs
- `(("sdl" ,sdl)))))
+ (list sdl))))
(define-public libbdplus
(package
(sha256
(base32 "02n87lysqn4kg2qk7d1ffrp96c44zkdlxdj0n16hbgrlrpiwlcd6"))))
(inputs
- `(("libgcrypt" ,libgcrypt)))
+ (list libgcrypt))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libbdplus.html")
(synopsis "Library for decrypting certain Blu-Ray discs")
(sha256
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
(inputs
- `(("libgcrypt" ,libgcrypt)))
+ (list libgcrypt))
(native-inputs
- `(("bison" ,bison)
- ("flex" ,flex)))
+ (list bison flex))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libaacs.html")
(synopsis "Library for decrypting certain Blu-Ray discs")
;; test suite results differ depending on the country and also introduce
;; non-determinism in the tests.
;; https://github.com/mps-youtube/mps-youtube/issues/556
- `(#:tests? #f))
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ ;; Loading this as a library will create cache directories,
+ ;; etc; which fails in the build container.
+ (delete 'sanity-check))))
(propagated-inputs
- `(("python-pafy" ,python-pafy)
- ("python-pygobject" ,python-pygobject))) ; For mpris2 support
+ (list python-pafy python-pygobject)) ; For mpris2 support
(home-page "https://github.com/mps-youtube/mps-youtube")
(synopsis "Terminal based YouTube player and downloader")
(description
(define-public handbrake
(package
(name "handbrake")
- (version "1.4.2")
+ (version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/HandBrake/HandBrake/"
"HandBrake-" version "-source.tar.bz2"))
(sha256
(base32
- "0qgvdpnjjvh9937cr0yry1lkz5fj6x9pz32fx7s80c9fvjvq33lb"))
+ "1w1hjj6gvdydypw4mdn281w0x163is59cfm7k6bq371hsl3gx69r"))
(modules '((guix build utils)))
(snippet
;; Remove "contrib" and source not necessary for
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(inputs
- `(("libdrm" ,libdrm)
- ("libva" ,libva)
- ("libx11" ,libx11)))
+ (list libdrm libva libx11))
(arguments
`(#:phases
(modify-phases %standard-phases
"0ffav46pz3sbj92nipd62z03fibyqgclfq9w8lgr80s6za6zdk5s"))))
(build-system gnu-build-system)
(native-inputs
- `(("nasm" ,nasm)
- ("python" ,python)))
+ (list nasm python))
(arguments
'(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
(find-files lib "\\.a$"))
#t))))))
(native-inputs
- `(("help2man" ,help2man)
- ("dejagnu" ,dejagnu)))
+ (list help2man dejagnu))
(home-page "https://code.google.com/archive/p/mp4v2/")
(synopsis "API to create and modify mp4 files")
(description
(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/"
name "_" version ".tar.xz"))
(sha256
(base32
- "1jm4mk539wf3crgpcddgwdixshwdzm37mkb5441lifhcz2mykdsn"))))
+ "1fc0ihj17cdv9zb346llwvbv0hn3sl3ax398ankgp74fcaxvll7w"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(propagated-inputs
- `(("zlib" ,zlib)
- ("tinyxml2" ,tinyxml2)
- ("curl" ,curl) ; In Requires.private of libmediainfo.pc.
- ("libzen" ,libzen)))
+ (list zlib tinyxml2 curl ; In Requires.private of libmediainfo.pc.
+ libzen))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; see above TODO
(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.
name "_" version ".tar.xz"))
(sha256
(base32
- "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y"))))
+ "1r1bh1lk2dsiv0j84whgca7qslxbibg6vsih7x5iga2p3lmgjdk2"))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake libtool pkg-config))
(inputs
- `(("libmediainfo" ,libmediainfo)))
+ (list libmediainfo))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; lacks tests
(install-file "AtomicParsley" bin))
#t)))))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(synopsis "Metadata editor for MPEG-4 files")
(description "AtomicParsley is a lightweight command line program for
reading, parsing and setting metadata into MPEG-4 files, in particular,
(invoke "./genMakefiles"
"linux-with-shared-libraries"))))))
(inputs
- `(("openssl" ,openssl)))
+ (list openssl))
(home-page "http://www.live555.com/liveMedia/")
(synopsis "Set of C++ libraries for multimedia streaming")
(description "This code forms a set of C++ libraries for multimedia
'(#:configure-flags
(list "--enable-avresample")))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(propagated-inputs
- `(("ffmpeg" ,ffmpeg)))
+ (list ffmpeg))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(synopsis "Cross-platform wrapper around ffmpeg/libav")
(description
"FFMpegSource is a wrapper library around ffmpeg/libav that allows
"#include <boost/gil.hpp>"))
#t)))))
(inputs
- `(("boost" ,boost)
- ("ffms2" ,ffms2)
- ("fftw" ,fftw)
- ("hunspell" ,hunspell)
- ("mesa" ,mesa)
- ("libass" ,libass)
- ("alsa-lib" ,alsa-lib)
- ("pulseaudio" ,pulseaudio)
- ("libx11" ,libx11)
- ("freetype" ,freetype)
- ("wxwidgets-gtk2" ,wxwidgets-gtk2)))
+ (list boost
+ ffms2
+ fftw
+ hunspell
+ mesa
+ libass
+ alsa-lib
+ pulseaudio
+ libx11
+ freetype
+ wxwidgets-gtk2))
(native-inputs
- `(("intltool" ,intltool)
- ("desktop-file-utils" ,desktop-file-utils)
- ("pkg-config" ,pkg-config)))
+ (list intltool desktop-file-utils pkg-config))
(home-page "http://www.aegisub.org/")
(synopsis "Subtitle engine")
(description
(base32 "08x2fs2bak1fbmkvjijgx1dsawispv91bpv5j5gkqbv5dfgf7wah"))))
(build-system meson-build-system)
(inputs
- `(("glib" ,glib)
- ("gst-editing-services" ,gst-editing-services)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gst-plugins-bad"
- ,(gst-plugins/selection gst-plugins-bad
- #:plugins '("debugutils" "transcode")
- #:configure-flags '("-Dintrospection=enabled")))
- ("gst-libav" ,gst-libav)
- ("gsound" ,gsound)
- ("gtk+" ,gtk+)
- ("librsvg" ,librsvg)
- ("libpeas" ,libpeas)
- ("libnotify" ,libnotify)
- ("pango" ,pango)
- ("python-gst" ,python-gst)
- ("python-numpy" ,python-numpy)
- ("python-matplotlib" ,python-matplotlib)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)))
+ (list glib
+ gst-editing-services
+ gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ (gst-plugins/selection gst-plugins-bad #:plugins
+ '("debugutils" "transcode")
+ #:configure-flags
+ '("-Dintrospection=enabled"))
+ gst-libav
+ gsound
+ gtk+
+ librsvg
+ libpeas
+ libnotify
+ pango
+ python
+ python-gst
+ python-numpy
+ python-matplotlib
+ python-pycairo
+ python-pygobject))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(arguments
`(#:glib-or-gtk? #t
- ;; Pitivi is not yet compatible with Meson 0.60:
- ;; https://gitlab.gnome.org/GNOME/pitivi/-/issues/2593
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'glib-or-gtk-wrap 'wrap-other-dependencies
(arguments
'(#:configure-flags '("LIBS=-lm")))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("doxygen" ,doxygen)))
+ (list pkg-config doxygen))
(home-page "http://gmerlin.sourceforge.net")
(synopsis "Low level library for multimedia API building")
(description
#t)))))
;; TODO: opencv for additional face detection filters.
(inputs
- `(("gavl" ,gavl)
- ("cairo" ,cairo)))
+ (list gavl cairo))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(home-page "https://www.dyne.org/software/frei0r/")
(synopsis "Minimalistic plugin API for video effects")
(description
(install-file (string-append source "/subdl") bin)
(patch-shebang (string-append bin "/subdl")
(list (string-append python "/bin")))))))
- (inputs `(("python" ,python)))
+ (inputs (list python))
(synopsis "Command-line tool for downloading subtitles from opensubtitles.org")
(description "Subdl is a command-line tool for downloading subtitles from
opensubtitles.org. By default, it will search for English subtitles, display
(invoke "./configure" (string-append "--prefix=" out)
"--disable-static")))))))
(native-inputs
- `(("which" ,which)))
+ (list which))
(home-page "https://l-smash.github.io/l-smash/")
(synopsis "MP4 multiplexer and demultiplexer library")
(description
("swig" ,swig)
("unittest++" ,unittest-cpp)))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("zlib" ,zlib)))
+ (list alsa-lib zlib))
(propagated-inputs ;all referenced in installed headers
- `(("cppzmq" ,cppzmq)
- ("ffmpeg" ,ffmpeg)
- ("imagemagick" ,imagemagick)
- ("jsoncpp" ,jsoncpp)
- ("libopenshot-audio" ,libopenshot-audio)
- ("qtbase" ,qtbase-5)
- ("qtmultimedia" ,qtmultimedia)
- ("zeromq" ,zeromq)))
+ (list cppzmq
+ ffmpeg
+ imagemagick
+ jsoncpp
+ libopenshot-audio
+ qtbase-5
+ qtmultimedia
+ zeromq))
(arguments
`(#:configure-flags
(list (string-append "-DPYTHON_MODULE_PATH:PATH=" %output "/lib/python"
(delete-file-recursively "src/images/fonts") #t))))
(build-system python-build-system)
(inputs
- `(("ffmpeg" ,ffmpeg)
- ("font-dejavu" ,font-dejavu)
- ("libopenshot" ,libopenshot)
- ("python" ,python)
- ("python-pyqt" ,python-pyqt)
- ("python-pyzmq" ,python-pyzmq)
- ("python-requests" ,python-requests)
- ("qtsvg" ,qtsvg)))
+ (list ffmpeg
+ font-dejavu
+ libopenshot
+ python
+ python-pyqt
+ python-pyzmq
+ python-requests
+ qtsvg))
(arguments
`(#:modules ((guix build python-build-system)
(guix build qt-utils)
(define-public shotcut
(package
(name "shotcut")
- (version "21.10.31")
+ (version "22.04.25")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jgv6wl65gf6c4nmfica8k9vbgn3w3594d1phx1mb7zjvyy9y97k"))))
+ (base32 "0ccbx2crqrnhl19d7267xc40vs0cjmps2cnhi1g1l6bqxbi7k88x"))))
(build-system qt-build-system)
(arguments
- `(#:tests? #f ;there are no tests
+ `(#:tests? #f ;there are no tests
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-executable-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Shotcut expects ffmpeg and melt executables in the shotcut
+ ;; directory. Use full store paths.
+ (let* ((ffmpeg (assoc-ref inputs "ffmpeg"))
+ (mlt (assoc-ref inputs "mlt")))
+ (substitute* "src/jobs/ffmpegjob.cpp"
+ (("\"ffmpeg\"") (string-append "\"" ffmpeg "/bin/ffmpeg\"")))
+ (substitute* "src/jobs/meltjob.cpp"
+ (("\"melt\"") (string-append "\"" mlt "/bin/melt\""))
+ (("\"melt-7\"") (string-append "\"" mlt "/bin/melt-7\""))))))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(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"))
+ (ladspa (assoc-ref inputs "ladspa"))
+ (mlt (assoc-ref inputs "mlt"))
(sdl2 (assoc-ref inputs "sdl2")))
(wrap-program (string-append out "/bin/shotcut")
- `("PATH" ":" prefix
- ,(list (string-append ffmpeg "/bin")))
+ `("FREI0R_PATH" ":" =
+ (,(string-append frei0r "/lib/frei0r-1")))
+ `("LADSPA_PATH" ":" =
+ (,(string-append ladspa "/lib/ladspa")))
`("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"))))))))))
+ `("PATH" ":" prefix
+ ,(list (string-append mlt "/bin"))))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
+ ("python-wrapper" ,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)))
+ (list bash-minimal
+ ffmpeg
+ frei0r-plugins
+ jack-1
+ ladspa
+ lame
+ libvpx
+ libx264
+ mlt
+ pulseaudio
+ qtbase-5
+ qtdeclarative
+ qtgraphicaleffects
+ qtmultimedia
+ qtquickcontrols
+ qtquickcontrols2
+ qtsvg
+ qtwebkit
+ qtwebsockets
+ qtx11extras
+ sdl2))
(home-page "https://www.shotcut.org/")
(synopsis "Video editor built on the MLT framework")
(description
(sha256
(base32 "0bkps488h9s15ylvkm4fmfywgrpbw570glawpnv6khpq9n223dzl"))))
(build-system meson-build-system)
- (native-inputs `(("nasm" ,nasm)))
+ (native-inputs (list nasm))
(home-page "https://code.videolan.org/videolan/dav1d")
(synopsis "AV1 decoder")
(description "dav1d is a new AV1 cross-platform decoder, and focused on
(base32
"01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
(build-system meson-build-system)
- (native-inputs `(("libdrm" ,libdrm)
- ("pkg-config" ,pkg-config)))
- (inputs `(("ffmpeg" ,ffmpeg)
- ("pulseaudio" ,pulseaudio)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
+ (native-inputs (list libdrm pkg-config))
+ (inputs (list ffmpeg pulseaudio wayland wayland-protocols))
(home-page "https://github.com/atomnuker/wlstream")
(synopsis "Screen capture tool for Wayland sessions")
(description "Wlstream is a screen capture tool for recording audio and
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
- `(("python-pygobject" ,python-pygobject)
- ("gtk+" ,gtk+)
- ("python-pycairo" ,python-pycairo) ; Required or else clicking on a subtitle line fails.
- ("python-chardet" ,python-chardet) ; Optional: Character encoding detection.
- ("gtkspell3" ,gtkspell3) ; Optional: Inline spell-checking.
- ("iso-codes" ,iso-codes) ; Optional: Translations.
- ("gstreamer" ,gstreamer)
- ("gst-libav" ,gst-libav)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gst-plugins-bad" ,gst-plugins-bad)
- ("gst-plugins-ugly" ,gst-plugins-ugly)))
+ (list python-pygobject
+ gtk+
+ python-pycairo ; Required or else clicking on a subtitle line fails.
+ python-chardet ; Optional: Character encoding detection.
+ gtkspell3 ; Optional: Inline spell-checking.
+ iso-codes ; Optional: Translations.
+ gstreamer
+ gst-libav
+ gst-plugins-base
+ gst-plugins-good
+ gst-plugins-bad
+ gst-plugins-ugly))
(arguments
`(#:tests? #f ; Tests seem to require networking.
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-builtin-byte-compilation
+ (lambda _
+ ;; The setup.py script attempts to compile bytecode and fails.
+ ;; We compile bytecode in a separate phase, so just disable it.
+ (substitute* "setup.py"
+ (("distutils\\.util\\.byte_compile\\(.*")
+ ""))))
;; gaupol's setup.py script does not support one of the Python build
;; system's default flags, "--single-version-externally-managed".
(replace 'install
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/gaupol")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
- #t))
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))
(add-after 'unpack 'patch-data-dir
;; Fix some path variables that setup.py seems to garble.
(lambda* (#:key outputs #:allow-other-keys)
(("DATA_DIR = \\{!r\\}\"\\.format\\(data_dir\\)")
(string-append "DATA_DIR = '" out "/share/gaupol'\""))
(("LOCALE_DIR = \\{!r\\}\"\\.format\\(locale_dir\\)")
- (string-append "LOCALE_DIR = '" out "/share/locale'\"")))
- #t))))))
+ (string-append "LOCALE_DIR = '" out "/share/locale'\"")))))))))
(synopsis "Editor for text-based subtitles")
(description
"Gaupol supports multiple subtitle file formats and provides means of
#t)))))
(native-inputs
;; For tests.
- `(("sdl2" ,sdl2)))
+ (list sdl2))
(home-page "https://github.com/FNA-XNA/Theorafile")
(synopsis "Ogg Theora Video Decoder Library")
(description "Theorafile is a library for quickly and easily decoding Ogg
(base32 "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g"))))
(build-system gnu-build-system)
(inputs
- `(("libdvdcss" ,libdvdcss)
- ("libdvdread" ,libdvdread)))
+ (list libdvdcss libdvdread))
(home-page "http://dvdbackup.sourceforge.net")
(synopsis "DVD video ripper")
(description
(define-public svt-av1
(package
(name "svt-av1")
- (version "0.8.7")
+ (version "0.9.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1xlxb6kn6hqz9dxz0nd905m4i2mwjwq1330rbabwzmg4b66cdslg"))))
+ (base32 "02fchq2vlxcxzbrss72xl9vrxzysdy39d5i159bmg3qa45ngd2iw"))))
(build-system cmake-build-system)
;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
(supported-systems '("x86_64-linux"))
(copy-recursively "../source/Docs" doc)
#t))))))
(native-inputs
- `(("yasm" ,yasm)))
+ (list yasm))
(synopsis "AV1 video codec")
(description "SVT-AV1 is an AV1 codec implementation. The encoder is a
work-in-progress, aiming to support video-on-demand and live streaming
(copy-recursively "../source/Docs" doc)
#t))))))
(native-inputs
- `(("yasm" ,yasm)))
+ (list yasm))
(home-page "https://github.com/OpenVisualCloud/SVT-VP9")
(synopsis "VP9 video encoder")
(description "SVT-VP9 is a VP9 video encoder implementation. It is focused
(home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html")
(license license:gpl2+)))
+;;; XXX: This crate is used only for rav1e and can be removed once the latter
+;;; is updated. See <https://issues.guix.gnu.org/52837>.
+(define rust-dav1d-sys-0.3.2
+ (package
+ (name "rust-dav1d-sys")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "dav1d-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1jdxhnlxcml6jd67lx78ifzkn1xm18zfk4li7vjdh3fa61i073kx"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bindgen" ,rust-bindgen-0.54)
+ ("rust-metadeps" ,rust-metadeps-1))))
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list dav1d clang llvm))
+ (home-page "https://github.com/rust-av/dav1d-rs")
+ (synopsis "FFI bindings to dav1d")
+ (description "This package provides FFI bindings to dav1d.")
+ (license license:expat)))
+
(define-public rav1e
(package
(name "rav1e")
- (version "0.4.1")
+ (version "0.5.1")
(source
(origin
(method url-fetch)
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00rjil6qbrwfxhhlq9yvidxm0gp9qdbywhf5zvkj85lykbhyff09"))))
+ "006bfcmjwg0phg8gc25b1sl2ngjrb2bh1b3fd0s5gbf9nlkr8qsn"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-aom-sys" ,rust-aom-sys-0.2)
+ `(;; Strip the '--release' flag to work around the doctest failures with
+ ;; Rust 1.57 (see: https://github.com/xiph/rav1e/issues/2851).
+ #:cargo-test-flags '()
+ #:cargo-inputs
+ (("rust-aom-sys" ,rust-aom-sys-0.3)
("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-arrayvec" ,rust-arrayvec-0.7)
+ ("rust-av-metrics" ,rust-av-metrics-0.7)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-1)
("rust-byteorder" ,rust-byteorder-1)
("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.3)
+ ("rust-rustc-version" ,rust-rustc-version-0.4)
("rust-scan-fmt" ,rust-scan-fmt-0.2)
("rust-serde" ,rust-serde-1)
("rust-signal-hook" ,rust-signal-hook-0.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-assert-cmd" ,rust-assert-cmd-2)
("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-pretty-assertions" ,rust-pretty-assertions-0.7)
("rust-rand" ,rust-rand-0.8)
("rust-rand-chacha" ,rust-rand-chacha-0.3)
- ("rust-semver" ,rust-semver-0.11))
+ ("rust-semver" ,rust-semver-1))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'relax-versions
+ (lambda _
+ (substitute* "Cargo.toml"
+ ;; Allow using more recent versions of
+ (("~3.1.2") "~3"))))
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "cargo" "cinstall" "--release"
- (string-append "--prefix=" out))))))))
+ (string-append "--prefix=" out)))))
+ (add-after 'install 'delete-static-library
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Delete 80 MiB (!) static library.
+ (delete-file (string-append (assoc-ref outputs "out")
+ "/lib/librav1e.a")))))))
(native-inputs
- `(("cargo-c" ,rust-cargo-c)
- ("nasm" ,nasm)))
+ (list rust-cargo-c nasm))
(home-page "https://github.com/xiph/rav1e/")
(synopsis "Fast and safe AV1 encoder")
(description "@code{rav1e} is an AV1 video encoder. It is designed to
"1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim"))))
(build-system meson-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("ffmpeg" ,ffmpeg)
- ("pulseaudio" ,pulseaudio)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)
- ("libx264" ,libx264)))
+ (list ffmpeg pulseaudio wayland wayland-protocols libx264))
(home-page "https://github.com/ammen99/wf-recorder")
(synopsis "Screen recorder for wlroots-based compositors")
(description
;; There are no tests and "make check" would fail on an intltool error.
'(#:tests? #f))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
+ (list pkg-config intltool))
(inputs
- `(("gtk+" ,gtk+)
- ("eudev" ,eudev)
- ("libusb" ,libusb)
- ("v4l-utils" ,v4l-utils) ;libv4l2
- ("ffmpeg" ,ffmpeg) ;libavcodec, libavutil
- ("sdl2" ,sdl2)
- ("gsl" ,gsl)
- ("portaudio" ,portaudio)
- ("alsa-lib" ,alsa-lib)))
+ (list gtk+
+ eudev
+ libusb
+ v4l-utils ;libv4l2
+ ffmpeg ;libavcodec, libavutil
+ sdl2
+ gsl
+ portaudio
+ alsa-lib))
(home-page "http://guvcview.sourceforge.net/")
(synopsis "Control your webcam and capture videos and images")
(description
prefix (,(string-append perllib ":" (getenv "PERL5LIB")))))
#t))))))
(inputs
- `(("perl-mojolicious" ,perl-mojolicious)
- ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
- ("perl-xml-libxml" ,perl-xml-libxml)))
+ (list perl-mojolicious perl-lwp-protocol-https perl-xml-libxml))
(home-page "https://github.com/get-iplayer/get_iplayer")
(synopsis "Download or stream available BBC iPlayer TV and radio programmes")
(description "@code{get_iplayer} lists, searches and records BBC iPlayer
"1spx81p5wf59ksl3r3gvf78d77sh7gj8a6lw773iv67bphfivmn8"))))
(build-system gnu-build-system)
(inputs
- `(("libvorbis" ,libvorbis)
- ("libdvdread" ,libdvdread)))
+ (list libvorbis libdvdread))
(synopsis "Information, extraction or creation for OGG media streams")
(description
"These tools allow information about (@code{ogminfo}) or extraction from
`(#:tests? #f ; Cannot figure out how to run the unit tests
#:configure-flags '("-DENABLE_RE2C=ON")))
(native-inputs
- `(("re2c" ,re2c)))
+ (list re2c))
(synopsis "CEA608 / CEA708 closed-caption codec")
(description "Libcaption creates and parses closed-caption data,
providing an encoder / decoder for the EIA608 and CEA708 closed-caption
elementary stream are provided.")
(home-page "https://github.com/szatmary/libcaption")
(license license:expat)))
+
+(define-public video-contact-sheet
+ (package
+ (name "video-contact-sheet")
+ (version "1.13.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://p.outlyer.net/vcs/files/vcs-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0jsl93r0rnybjcipqbww5hwsr9ln6kz1qnf32qfxdvhfw52n27fw"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags
+ #~(list (string-append "prefix=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (delete 'check)
+ (add-after 'install 'wrap-program
+ (lambda _
+ (wrap-program (string-append #$output "/bin/vcs")
+ `("PATH" ":" prefix
+ ,(map (lambda (dir)
+ (string-append dir "/bin"))
+ (list #$(this-package-input "ffmpeg")
+ #$(this-package-input "imagemagick"))))))))))
+ (inputs
+ (list bash-minimal ffmpeg imagemagick))
+ (synopsis "Create contact sheets (preview images) from videos")
+ (description "@acronym{VCS, Video Contact Sheet} is a Bash script meant to
+create video contact sheets (previews) of videos. Any video supported by
+MPlayer and FFmpeg can be used. A note of warning: Unlike most similar tools
+VCS, by default, makes screenshots the same size as the video, see the manual
+for details on how to change this.")
+ (home-page "http://p.outlyer.net/vcs/")
+ (license license:lgpl2.1+)))