;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
+;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
-;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages video)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system waf)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages libidn)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages rdesktop)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages upnp)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
(let ((out (assoc-ref outputs "out"))
(ncurses (assoc-ref inputs "ncurses")))
(setenv "CONFIG_SHELL" (which "bash"))
- (zero? (system* "./configure"
- (string-append "--prefix=" out)
- (string-append "--build=" build)
- ;; The ancient config.guess is unable to
- ;; guess the host triplet on mips64el.
- ,@(if (string=? "mips64el-linux"
- (%current-system))
- '("--host=mips64el-unknown-linux-gnu")
- '())
- ;; The same is also true with aarch64.
- ,@(if (string=? "aarch64-linux"
- (%current-system))
- '("--host=aarch64-unknown-linux-gnu")
- '())
- (string-append "--with-ncurses="
- ncurses)))))))))
+ (invoke "./configure"
+ (string-append "--prefix=" out)
+ (string-append "--build=" build)
+ ;; The ancient config.guess is unable to
+ ;; guess the host triplet on mips64el.
+ ,@(if (string=? "mips64el-linux"
+ (%current-system))
+ '("--host=mips64el-unknown-linux-gnu")
+ '())
+ ;; The same is also true with aarch64.
+ ,@(if (string=? "aarch64-linux"
+ (%current-system))
+ '("--host=aarch64-unknown-linux-gnu")
+ '())
+ (string-append "--with-ncurses="
+ ncurses))))))))
(home-page "http://aa-project.sourceforge.net/aalib/")
(synopsis "ASCII-art library")
(description
;; XXX We need to run ./bootstrap because of the build
;; system fixes above.
(replace 'bootstrap
- (lambda _ (zero? (system* "sh" "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
(replace 'build
(lambda _
(let ((-j (list "-j" (number->string (parallel-job-count)))))
- (zero? (apply system* "rake" -j)))))
+ (apply invoke "rake" -j))))
(replace 'check
(lambda _
- (zero? (system* "rake" "tests/unit"))))
+ (invoke "rake" "tests/unit")))
(replace 'install
(lambda _
- (zero? (system* "rake" "install")))))))
+ (invoke "rake" "install"))))))
(home-page "https://mkvtoolnix.download")
(synopsis "Tools to create, alter and inspect Matroska files")
(description
(define-public x265
(package
(name "x265")
- (version "2.6")
+ (version "2.8")
(source
(origin
(method url-fetch)
"x265_" version ".tar.gz"))
(sha256
(base32
- "1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v"))
+ "0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf"))
+ (patches (search-patches "x265-fix-ppc64le-build.patch"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "source/compat/getopt")
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
- ;; Currently the source code doesn't check for aarch64
- ,@(if (string-prefix? "aarch64" (or (%current-target-system) (%current-system)))
+ ;; Currently the source code doesn't check for aarch64.
+ ,@(if (any (cute string-prefix? <> (or (%current-system)
+ (%current-target-system)))
+ '("armhf" "aarch64"))
'(#:configure-flags '("-DENABLE_PIC=TRUE"))
'())
#:phases
(define-public libdca
(package
(name "libdca")
- (version "0.0.5")
+ (version "0.0.6")
(source (origin
(method url-fetch)
(uri (string-append
version "/libdca-" version ".tar.bz2"))
(sha256
(base32
- "0hh6a7l8vvccsd5i1fkv9av2gzv9fy8m0b8jpsn5p6hh4bh2586v"))))
+ "0h0zvcn97i9kyljdpifzi8in9xnw31fx3b3ggj96p8h0l2d8mycq"))))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libdca.html")
(synopsis "DTS Coherent Acoustics decoder")
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.4.8")
+ (version "1.4.9")
(source
(origin
(method url-fetch)
name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "14n9sw974prr3yp4yjb7aadi6x2yz5a0hjw8fs3qigy5shh2piyq"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
+ "1j4mjzx6mjzfjf9hz8g4w84krf5jccmr5cyynll0j1vwv3aiv9iq"))))
+ (build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
+ (arguments
+ `(#:configure-flags
+ (list "-DBUILD_SHARED_LIBS=YES")
+ #:tests? #f)) ; no test suite
(home-page "https://www.matroska.org")
(synopsis "C++ library to parse Matroska files (.mkv and .mka)")
(description
(define-public libva
(package
(name "libva")
- (version "2.0.0")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(string-append "https://www.freedesktop.org/software/vaapi/releases/"
"libva/libva-" version "/libva-" version ".tar.bz2")))
(sha256
- (base32 "0cz5i62jnibmnx0i80i9yipq39v16qr6fw461f6hvrh9lbwh21mv"))))
+ (base32 "03sb1b3fxw8myf9kz6rxw5f3v1p0vfmk34779qx0q8fk24x9bypk"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
("libx11" ,libx11)
("libxext" ,libxext)
("libxfixes" ,libxfixes)
- ("mesa" ,mesa)))
+ ("mesa" ,mesa)
+ ("wayland" ,wayland)))
(arguments
`(#:phases
(modify-phases %standard-phases
(let ((out (assoc-ref outputs "out")))
(substitute* "va/drm/va_drm_auth_x11.c"
(("\"libva-x11\\.so\\.%d\"")
- (string-append "\"" out "/lib/libva-x11.so.%d\"")))))))
+ (string-append "\"" out "/lib/libva-x11.so.%d\"")))
+ #t))))
;; Most drivers are in mesa's $prefix/lib/dri, so use that. (Can be
;; overridden at run-time via LIBVA_DRIVERS_PATH.)
#:configure-flags
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "3.4.2")
+ (version "4.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"))))
+ "1vn04n0n46zdxq14cma3w8ml2ckh5jxwlybsc4xmvcqdqq0mqpv0"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
(("#! /bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
- (zero? (apply system*
- "./configure"
- (string-append "--prefix=" out)
- ;; Add $libdir to the RUNPATH of all the binaries.
- (string-append "--extra-ldflags=-Wl,-rpath="
- out "/lib")
- configure-flags)))))
+ (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 _
audio/video codec library.")
(license license:gpl2+)))
+(define-public ffmpeg-3.4
+ (package
+ (inherit ffmpeg)
+ (version "3.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"))))))
+
(define-public ffmpeg-2.8
(package
(inherit ffmpeg)
flag))
,flags))))))
-;; Annoyingly enough, the latest mpv release does not build with the stable
-;; release of ffmpeg. Use a git commit until the situation is fixed.
-(define-public ffmpeg-git
- (let ((commit "3f887440677328c9cfed97ad81d14051ffa32aae")
- (revision "1"))
- (package
- (inherit ffmpeg)
- (name "ffmpeg-git")
- (version (string-append "3.4-" revision "." (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/FFmpeg/FFmpeg.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "1b7n3g4m2rbvrwsgbfl8wl91z42g1ld42clwxs8qpl9ny5rwz6sq")))))))
-
(define-public vlc
(package
(name "vlc")
- (version "2.2.8")
+ (version "3.0.3")
(source (origin
(method url-fetch)
(uri (string-append
version "/vlc-" version ".tar.xz"))
(sha256
(base32
- "1v32snw46rkgbdqdy3dssl2y13i8p2cr1cw1i18r6vdmiy24dw4v"))))
+ "0lavzly8l0ll1d9iris9cnirgcs77g48lxj14058dxqkvd5v1a4v"))))
(build-system gnu-build-system)
(native-inputs
- `(("git" ,git) ; needed for a test
+ `(("flex" ,flex)
+ ("bison" ,bison)
+ ("gettext" ,gettext-minimal)
+ ("git" ,git) ; needed for a test
("pkg-config" ,pkg-config)))
;; FIXME: Add optional inputs once available.
(inputs
`(("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
("dbus" ,dbus)
+ ("eudev" ,eudev)
("flac" ,flac)
- ("ffmpeg" ,ffmpeg-2.8) ;fails to build against ffmpeg 3.0
+ ("ffmpeg" ,ffmpeg)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
+ ("fribidi" ,fribidi)
("gnutls" ,gnutls)
("liba52" ,liba52)
+ ("libarchive" ,libarchive)
+ ("libass" ,libass)
+ ("libavc1394" ,libavc1394)
+ ("libbluray" ,libbluray)
+ ("libcaca" ,libcaca)
("libcddb" ,libcddb)
+ ("libdca" ,libdca)
("libdvbpsi" ,libdvbpsi)
+ ("libdvdnav" ,libdvdnav)
+ ("libdvdread" ,libdvdread)
+ ("libebml" ,libebml)
("libgcrypt" ,libgcrypt)
+ ("libidn" ,libidn)
("libkate" ,libkate)
("libmad" ,libmad)
+ ("libmatroska" ,libmatroska)
+ ("libmodplug" ,libmodplug)
+ ("libmpeg2" ,libmpeg2)
("libogg" ,libogg)
("libpng" ,libpng)
+ ("libraw1394" ,libraw1394)
+ ("librsvg" ,librsvg)
("libsamplerate" ,libsamplerate)
+ ("libsecret" ,libsecret)
("libssh2" ,libssh2)
+ ("libupnp" ,libupnp)
+ ("libva" ,libva)
+ ("libvdpau" ,libvdpau)
("libvorbis" ,libvorbis)
+ ("libvpx" ,libvpx)
("libtheora" ,libtheora)
+ ("libx264" ,libx264)
("libxext" ,libxext)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("libxml2" ,libxml2)
("libxpm" ,libxpm)
("livemedia-utils" ,livemedia-utils)
- ("lua" ,lua-5.1)
+ ("lua" ,lua-5.2)
("mesa" ,mesa)
("opus" ,opus)
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
+ ("samba" ,samba)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("speex" ,speex)
+ ("speexdsp" ,speexdsp)
+ ("taglib" ,taglib)
+ ("twolame" ,twolame)
+ ("unzip" ,unzip)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
("x265" ,x265)
("xcb-util-keysyms" ,xcb-util-keysyms)))
(arguments
`(#:configure-flags
`("CXXFLAGS=-std=gnu++11"
+ "BUILDCC=gcc"
,(string-append "LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ffmpeg")
"/lib")) ;needed for the tests
;; which fails in our sandboxed build system
(substitute* "test/run_vlc.sh"
(("./vlc --ignore-config") "echo"))
- ;; XXX Likely not needed for >2.2.6.
- (substitute* "modules/gui/qt4/components/interface_widgets.cpp"
- (("<qx11info_x11.h>") "<QtX11Extras/qx11info_x11.h>"))
+
+ ;; modules/text_renderer/freetype/text_layout.c uses a
+ ;; now-deprecated interface 'fribidi_get_par_embedding_levels'
+ ;; from fribidi.h, so for now we enable the use of deprecated
+ ;; fribidi interfaces from this file.
+ ;; FIXME: Try removing this for vlc >= 3.0.3.
+ (substitute* "modules/text_renderer/freetype/text_layout.c"
+ (("# define FRIBIDI_NO_DEPRECATED 1") ""))
+
+ ;; Fix build against Qt 5.11.
+ (substitute* "modules/gui/qt/actions_manager.cpp"
+ (("#include <vlc_keys.h>") "#include <vlc_keys.h>
+#include <QAction>"))
+ (substitute* "modules/gui/qt/components/simple_preferences.cpp"
+ (("#include <QFont>") "#include <QFont>
+#include <QButtonGroup>"))
#t)))
- (add-after 'install 'regenerate-plugin-cache
+ (add-after 'strip 'regenerate-plugin-cache
(lambda* (#:key outputs #:allow-other-keys)
;; The 'install-exec-hook' rule in the top-level Makefile.am
;; generates 'lib/vlc/plugins/plugins.dat', a plugin cache, using
(for-each (lambda (file)
(let ((s (lstat file)))
(unless (eq? (stat:type s) 'symlink)
- (utime file 0 0 0 0))))
+ (utime file 1 1))))
(find-files plugindir))
- (zero? (system* cachegen plugindir))))))))
+ (invoke cachegen plugindir))))
+ (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/vlc")
+ `("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
+ #t)))))
(home-page "https://www.videolan.org/")
(synopsis "Audio and video framework")
(description "VLC is a cross-platform multimedia player and framework
(inputs
`(("alsa-lib" ,alsa-lib)
("enca" ,enca)
- ("ffmpeg" ,ffmpeg-git)
+ ("ffmpeg" ,ffmpeg)
("jack" ,jack-1)
("ladspa" ,ladspa)
("lcms" ,lcms)
("pulseaudio" ,pulseaudio)
("rsound" ,rsound)
("shaderc" ,shaderc)
- ("vulkan-icd-loader" ,vulkan-icd-loader)
+ ("vulkan-loader" ,vulkan-loader)
("waf" ,python-waf)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
- ("libxkbcommon", libxkbcommon)
+ ("libxkbcommon" ,libxkbcommon)
("youtube-dl" ,youtube-dl)
("zlib" ,zlib)))
(arguments
'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "waf") "waf")
- (setenv "CC" "gcc"))))
+ (setenv "CC" "gcc")
+ #t)))
#:configure-flags (list "--enable-libmpv-shared"
"--enable-cdda"
"--enable-dvdread"
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2018.03.10")
+ (version "2018.06.19")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
version ".tar.gz"))
(sha256
(base32
- "1ibmz91anli1vzkgw2i3h4wf1i8arzd74730ylwcwyg3375xryjb"))))
+ "0ys2mc84r7mjpn7rykb57sn3ii1kp3divjdn2ivwqknj8jrzg3z6"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
(define-public you-get
(package
(name "you-get")
- (version "0.4.1040")
+ (version "0.4.1077")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0257p9bn426rv0cjk2j5hsx6cg7dz5gpjwlqq0sy1axa47phis46"))))
+ "04vxc91k627qgsqs8dhqajrb6vpj4pw21jlwbha28qakfiz2x11k"))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
(define-public youtube-viewer
(package
(name "youtube-viewer")
- (version "3.3.3")
+ (version "3.3.4")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1j572his6qmazlmyrbnfq62s9bqml875ay7wy26byy9hfc7m0vgk"))))
+ "1dqaxkz5svv0lmxds6lppcpzhkq6gar2raw9gx6imrd7yz02fpgn"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(define-public libdvdcss
(package
(name "libdvdcss")
- (version "1.4.1")
+ (version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/pub/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb"))))
+ "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq"))))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices")
(define-public streamlink
(package
(name "streamlink")
- (version "0.10.0")
+ (version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "17299xnd9jzi7m1d2rr4xdlj47q64bzj2957nlsrhw0hskds1s6h"))))
+ "02h8b3k8l5zz4vjm0nhxvl1pm924jms8y7sjl40fbybrzvsa4mg2"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
("python-iso3166" ,python-iso3166)
("python-iso639" ,python-iso639)
("python-pycryptodome" ,python-pycryptodome)
- ("python-requests" ,python-requests)))
+ ("python-requests" ,python-requests)
+ ("python-urllib3" ,python-urllib3)))
(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.")
(define-public livestreamer
(deprecated-package "livestreamer" streamlink))
+(define-public twitchy
+ (let ((commit "0c0f925b9c7ff2aed4a3b0046561cb794143c398")) ;Fixes tests.
+ (package
+ (name "twitchy")
+ (version (git-version "3.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BasioMeusPuga/twitchy.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02aizvsr744sh8bdqvwwsmp2qpczlzn8fy76h5dyd3517n9nlcz9"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ (setenv "HOME" (getcwd)) ;Needs to write to ‘$HOME’.
+ #t))
+ (add-after 'install 'install-rofi-plugin
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "plugins/rofi-twitchy"
+ (string-append (assoc-ref outputs "out")
+ "/bin")))))))
+ (inputs
+ `(("python-requests" ,python-requests)
+ ("streamlink" ,streamlink)))
+ (home-page "https://github.com/BasioMeusPuga/twitchy")
+ (synopsis "Command-line interface for Twitch.tv")
+ (description
+ "This package provides a command-line interface for Twitch.tv")
+ (license license:gpl3+))))
+
(define-public mlt
(package
(name "mlt")
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
- ("ffmpeg" ,ffmpeg)
+ ("ffmpeg" ,ffmpeg-3.4)
("fftw" ,fftw)
("libxml2" ,libxml2)
("jack" ,jack-1)
(define-public simplescreenrecorder
(package
(name "simplescreenrecorder")
- (version "0.3.10")
+ (version "0.3.11")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g"))))
+ "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal"))))
(build-system cmake-build-system)
;; Although libx11, libxfixes, libxext are listed as build dependencies in
;; README.md, the program builds and functions properly without them.
(define-public mps-youtube
(package
(name "mps-youtube")
- (version "0.2.7.1")
+ (version "0.2.8")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1s7h35yx6f0szf8mm8612ic913w3v05m2kwphjfcxnpq0ammhyci"))))
+ "0x7cmfh199q9j396v7bz81nnvanfllhsg86489i5dw2p3yyc9wnm"))))
(build-system python-build-system)
(arguments
;; Tests need to be disabled until #556 upstream is fixed. It reads as if the
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("zlib" ,zlib)
- ("libmediainfo", libmediainfo)
+ ("libmediainfo" ,libmediainfo)
("libzen" ,libzen)))
(build-system gnu-build-system)
(arguments
#t))
(add-after 'change-to-build-dir 'autogen
(lambda _
- (zero? (system* "sh" "autogen.sh")))))))
+ (invoke "sh" "autogen.sh"))))))
(home-page "https://mediaarea.net/en/MediaInfo")
(synopsis "Utility for reading media metadata")
(description "MediaInfo is a utility used for retrieving technical
#t))
(replace 'configure
(lambda _
- (zero? (system* "./genMakefiles"
- "linux-with-shared-libraries")))))))
+ (invoke "./genMakefiles"
+ "linux-with-shared-libraries"))))))
(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
(modify-phases %standard-phases
(add-after 'unpack 'autotools
(lambda _
- (zero? (system* "sh" "autogen.sh")))))))
- ;; TODO: opencv for additional face detection filters
+ (invoke "sh" "autogen.sh"))))))
+ ;; TODO: opencv for additional face detection filters.
(inputs
`(("gavl" ,gavl)
("cairo" ,cairo)))
("pkg-config" ,pkg-config)))
(inputs
`(("libjpeg" ,libjpeg)
- ("ffmpeg" ,ffmpeg)
+ ("ffmpeg" ,ffmpeg-3.4)
("sqlite" ,sqlite)))
(arguments
'(#:phases (modify-phases %standard-phases
;; Some files say "version 2" and others "version 2 or later".
(license license:gpl2)))
+
+(define-public subdl
+ (let ((commit "4cf5789b11f0ff3f863b704b336190bf968cd471")
+ (revision "1"))
+ (package
+ (name "subdl")
+ (version (git-version "1.0.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alexanderwink/subdl.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (source (assoc-ref %build-inputs "source"))
+ (python (assoc-ref %build-inputs "python")))
+ (install-file (string-append source "/subdl") bin)
+ (patch-shebang (string-append bin "/subdl")
+ (list (string-append python "/bin")))))))
+ (inputs `(("python" ,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
+the results, download the highest-rated result in the requested language and
+save it to the appropriate filename.")
+ (license license:gpl3+)
+ (home-page "https://github.com/alexanderwink/subdl"))))
+
+(define-public l-smash
+ (package
+ (name "l-smash")
+ (version "2.14.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/" name "/" name "/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dary0h65kq6sv93iabv25djlvzr5ckdcp3ywagbix44wqfw7xz6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:make-flags
+ (list (string-append "LDFLAGS=-Wl,-L.,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; configure fails if it is followed by CONFIG_SHELL
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "./configure" (string-append "--prefix=" out)
+ "--disable-static")))))))
+ (native-inputs
+ `(("which" ,which)))
+ (home-page "https://l-smash.github.io/l-smash/")
+ (synopsis "MP4 multiplexer and demultiplexer library")
+ (description
+ "L-SMASH is a cross-platform library that handles the ISO base media file
+format and some of its derived file formats, including MP4. It operates as a
+multiplexer and demultiplexer, and can mux video and audio in several formats
+using standalone executable files.")
+ (license license:isc)))