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 © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -290,7 +291,7 @@ (define-public rust-cbindgen
("serde" ,rust-serde-1.0) ("serde" ,rust-serde-1.0)
("serde-json" ,rust-serde-json-1.0) ("serde-json" ,rust-serde-json-1.0)
("syn" ,rust-syn-1.0) ("syn" ,rust-syn-1.0)
("tempfile" ,rust-tempfile-3.0) ("tempfile" ,rust-tempfile-3.1)
("toml" ,rust-toml-0.5)))) ("toml" ,rust-toml-0.5))))
(home-page "https://github.com/eqrion/cbindgen/") (home-page "https://github.com/eqrion/cbindgen/")
(synopsis "Tool for generating C bindings to Rust code") (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.") "This package provides a tool for generating C/C++ bindings to Rust code.")
(license license:mpl2.0))) (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 (define-public tokei
(package (package
(name "tokei") (name "tokei")
@ -358,3 +374,36 @@ (define-public tokei
show number of files, total lines within those files and code, comments, and show number of files, total lines within those files and code, comments, and
blanks grouped by language.") blanks grouped by language.")
(license (list license:expat license:asl2.0)))) (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 download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix svn-download) #:use-module (guix svn-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -90,6 +91,7 @@ (define-module (gnu packages video)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns) #:use-module (gnu packages dns)
@ -140,6 +142,7 @@ (define-module (gnu packages video)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages rdesktop) #:use-module (gnu packages rdesktop)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba) #:use-module (gnu packages samba)
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
@ -3949,3 +3952,87 @@ (define-public w-scan
@end itemize\n") @end itemize\n")
(home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html") (home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html")
(license license:gpl2+))) (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)))