aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm155
1 files changed, 154 insertions, 1 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c613ffbf0c..578468978c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
@@ -40,6 +40,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,6 +67,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -90,6 +92,7 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns)
@@ -140,6 +143,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
@@ -3950,3 +3954,152 @@ result in several formats:
@end itemize\n")
(home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html")
(license license:gpl2+)))
+
+(define-public rav1e
+ (package
+ (name "rav1e")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rav1e" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bsmj8kqzs5pf8dl98rsl6a67cljj1gkj3b5hmd8hn8wdy4ya173"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-simd-helpers" ,rust-simd-helpers-0.1)
+ ("rust-ivf" ,rust-ivf-0.1)
+ ("rust-cfg-if" ,rust-cfg-if-0.1)
+ ("rust-paste" ,rust-paste-0.1)
+ ("rust-signal-hook" ,rust-signal-hook-0.1)
+ ("rust-aom-sys" ,rust-aom-sys-0.1)
+ ("rust-nasm-rs" ,rust-nasm-rs-0.1)
+ ("rust-arbitrary" ,rust-arbitrary-0.2)
+ ("rust-better-panic" ,rust-better-panic-0.2)
+ ("rust-noop-proc-macro"
+ ,rust-noop-proc-macro-0.2)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+ ("rust-err-derive" ,rust-err-derive-0.2)
+ ("rust-interpolate-name"
+ ,rust-interpolate-name-0.2)
+ ("rust-rustc-version" ,rust-rustc-version-0.2)
+ ("rust-scan-fmt" ,rust-scan-fmt-0.2)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-image" ,rust-image-0.22)
+ ("rust-arg-enum-proc-macro"
+ ,rust-arg-enum-proc-macro-0.3)
+ ("rust-num-derive" ,rust-num-derive-0.3)
+ ("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
+ ("rust-backtrace" ,rust-backtrace-0.3)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-y4m" ,rust-y4m-0.5)
+ ("rust-arrayvec" ,rust-arrayvec-0.5)
+ ("rust-toml" ,rust-toml-0.5)
+ ("rust-fern" ,rust-fern-0.5)
+ ("rust-rust-hawktracer"
+ ,rust-rust-hawktracer-0.7)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-itertools" ,rust-itertools-0.8)
+ ("rust-bitstream-io" ,rust-bitstream-io-0.8)
+ ("rust-console" ,rust-console-0.9)
+ ("rust-serde" ,rust-serde-1.0)
+ ("rust-cc" ,rust-cc-1.0)
+ ("rust-rayon" ,rust-rayon-1.3)
+ ("rust-byteorder" ,rust-byteorder-1.3)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-vergen" ,rust-vergen-3.1))
+ #:cargo-development-inputs
+ (("rust-rand-chacha" ,rust-rand-chacha-0.2)
+ ("rust-interpolate-name"
+ ,rust-interpolate-name-0.2)
+ ("rust-criterion" ,rust-criterion-0.3)
+ ("rust-pretty-assertions"
+ ,rust-pretty-assertions-0.6)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-semver" ,rust-semver-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "cargo" "cinstall" "--release"
+ (string-append "--prefix=" out))))))))
+ (native-inputs
+ `(("cargo-c" ,rust-cargo-c)))
+ (inputs
+ `(("nasm" ,nasm)))
+ (home-page "https://github.com/xiph/rav1e/")
+ (synopsis "The fastest and safest AV1 encoder")
+ (description
+ "The fastest and safest AV1 encoder.")
+ (license license:bsd-2)))
+
+(define-public peek
+ (package
+ (name "peek")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/phw/peek.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xwlfizga6hvjqq127py8vabaphsny928ar7mwqj9cyqfl6fx41x"))))
+ (build-system meson-build-system)
+ (arguments '(#:glib-or-gtk? #t))
+ (inputs
+ `(("gtk+" ,gtk+)))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ; for glib-compile-resources
+ ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (home-page "https://github.com/phw/peek")
+ (synopsis "Simple animated GIF screen recorder")
+ (description
+ "Peek makes it easy to create short screencasts of a screen area. It was
+built for the specific use case of recording screen areas, e.g. for easily
+showing UI features of your own apps or for showing a bug in bug reports.
+With Peek, you simply place the Peek window over the area you want to record
+and press \"Record\". Peek is optimized for generating animated GIFs, but you
+can also directly record to WebM or MP4 if you prefer.")
+ (license license:gpl3+)))
+
+(define-public wf-recorder
+ (package
+ (name "wf-recorder")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ammen99/wf-recorder.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)
+ ("pulseaudio" ,pulseaudio)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("libx264" ,libx264)))
+ (home-page "https://github.com/ammen99/wf-recorder")
+ (synopsis "Screen recorder for wlroots-based compositors")
+ (description
+ "@code{wf-recorder} is a utility program for screen recording of
+wlroots-based compositors. More specifically, those that support
+@code{wlr-screencopy-v1} and @code{xdg-output}.")
+ (license license:expat)))