diff options
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r-- | gnu/packages/video.scm | 155 |
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))) |