gnu: Add rav1e.

* gnu/packages/video.scm (rav1e): New variable.
* gnu/packages/rust-apps.scm (rust-cbindgen-0.12, rust-cargo-c): New
variables.
* gnu/packages/crates-io.scm: Various new packages and upgrades.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
Leo Famulari 2020-04-02 14:10:40 -04:00 committed by Efraim Flashner
parent ee8de73814
commit ca4b55882a
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
3 changed files with 3660 additions and 249 deletions

File diff suppressed because it is too large Load diff

View file

@ -3,6 +3,7 @@
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -290,7 +291,7 @@ (define-public rust-cbindgen
("serde" ,rust-serde-1.0)
("serde-json" ,rust-serde-json-1.0)
("syn" ,rust-syn-1.0)
("tempfile" ,rust-tempfile-3.0)
("tempfile" ,rust-tempfile-3.1)
("toml" ,rust-toml-0.5))))
(home-page "https://github.com/eqrion/cbindgen/")
(synopsis "Tool for generating C bindings to Rust code")
@ -298,6 +299,21 @@ (define-public rust-cbindgen
"This package provides a tool for generating C/C++ bindings to Rust code.")
(license license:mpl2.0)))
(define-public rust-cbindgen-0.12
(package
(inherit rust-cbindgen)
(name "rust-cbindgen")
(version "0.12.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "cbindgen" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m"))))))
(define-public tokei
(package
(name "tokei")
@ -358,3 +374,36 @@ (define-public tokei
show number of files, total lines within those files and code, comments, and
blanks grouped by language.")
(license (list license:expat license:asl2.0))))
(define-public rust-cargo-c
(package
(name "rust-cargo-c")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "cargo-c" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1is72jm0r73pqx2g3h1n6lvrcirwd91mmajsmb3jjg4jnayfkp0w"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-cbindgen" ,rust-cbindgen-0.12)
("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3)
("rust-structopt" ,rust-structopt-0.3)
("rust-log" ,rust-log-0.4)
("rust-toml" ,rust-toml-0.5)
("rust-cargo-metadata" ,rust-cargo-metadata-0.9)
("rust-serde" ,rust-serde-1.0)
("rust-serde-derive" ,rust-serde-derive-1.0)
("rust-regex" ,rust-regex-1.3))))
(home-page "https://github.com/lu-zero/cargo-c")
(synopsis "Build and install C-compatible libraries")
(description
"This package produces and installs a correct pkg-config file, a static
library and a dynamic library, and a C header to be used by any C (and
C-compatible) software.")
(license license:expat)))

View file

@ -66,6 +66,7 @@ (define-module (gnu packages video)
#: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 +91,7 @@ (define-module (gnu packages video)
#: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 +142,7 @@ (define-module (gnu packages video)
#: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)
@ -3949,3 +3952,87 @@ (define-public w-scan
@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)))