X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/7735bdb557f4b0cd131a38bd0bfd969581baf5c4..4363b542f276b4d6a5a8cc4c85d527fd53fb5261:/gnu/packages/crates-graphics.scm diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index ce8305f5eb..d67e9dc02f 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Valentin Ignatev ;;; Copyright © 2020 Hartmut Goebel -;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2020, 2021 Efraim Flashner ;;; Copyright © 2020 John Soo ;;; Copyright © 2020 Gabriel Arazas ;;; Copyright © 2020 Raghav Gururajan @@ -206,7 +206,7 @@ text or blue underlined text, on ANSI terminals.") (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.54) - ("rust-metadeps" ,rust-metadeps-1.1)))) + ("rust-metadeps" ,rust-metadeps-1)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -236,7 +236,7 @@ text or blue underlined text, on ANSI terminals.") (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.53) - ("rust-metadeps" ,rust-metadeps-1.1)))) + ("rust-metadeps" ,rust-metadeps-1)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -269,6 +269,31 @@ the term library to handle the ANSI nonsense and hence it works on Windows, Mac, and Unix.") (license (list license:asl2.0 license:expat)))) +(define-public rust-avif-serialize-0.6 + (package + (name "rust-avif-serialize") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "avif-serialize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "130wq838lslkcqcp2kjci7q3aq9qpir07pvxndc81xqbn63wvdjg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.5)))) + (home-page "https://lib.rs/avif-serialize") + (synopsis "Writer for AVIF header structure (MPEG/HEIF/MIAF/ISO-BMFF)") + (description + "This package provides a minimal writer for AVIF header structure. This +is a tiny alternative to @code{libavif}. It creates the jungle of +MPEG/HEIF/MIAF/ISO-BMFF ``boxes'' as appropriate for AVIF files. It supports +alpha channel embedding.") + (license license:bsd-3))) + (define-public rust-cgl-0.3 (package (name "rust-cgl") @@ -531,7 +556,7 @@ and iOS.") (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.54) - ("rust-metadeps" ,rust-metadeps-1.1)))) + ("rust-metadeps" ,rust-metadeps-1)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -569,6 +594,30 @@ and iOS.") (description "Geometry primitives written in Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-eui48-0.3 + (package + (name "rust-eui48") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "eui48" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mmdhczfdxwv5v5h90ydqkx0mdqiv0h2clshm2cm4qlwp0gacw29")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/abaumhauer/eui48") + (synopsis "Library to generate and parse IEEE EUI-48 and EUI-64") + (description + "This package provides a library to generate and parse IEEE EUI-48 and +EUI-64, also known as MAC-48 media access control addresses.") + (license (list license:expat license:asl2.0)))) + (define-public rust-gfx-0.18 (package (name "rust-gfx") @@ -672,8 +721,31 @@ and iOS.") "This package provides OpenGL bindings for gfx, based on gl-rs.") (license license:asl2.0))) +(define-public rust-gif-0.11 + (package + (name "rust-gif") + (version "0.11.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gif" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1i4n9fwg3zrp07pi5zsgyza2gl8lqnap6fj6875lfy121xbbmvq2")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-color-quant" ,rust-color-quant-1) + ("rust-weezl" ,rust-weezl-0.1)))) + (home-page "https://github.com/image-rs/image-gif") + (synopsis "GIF decoder and encoder") + (description "This package provides a GIF decoder and encoder in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-gif-0.10 (package + (inherit rust-gif-0.11) (name "rust-gif") (version "0.10.3") (source @@ -685,19 +757,14 @@ and iOS.") (sha256 (base32 "1bw174f7civdfgryvc8pvyhicpr96hzdajnda4s3y8iv3ch907a7")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; tests not included in release #:cargo-inputs - (("rust-color-quant" ,rust-color-quant-1.0) + (("rust-color-quant" ,rust-color-quant-1) ("rust-libc" ,rust-libc-0.2) ("rust-lzw" ,rust-lzw-0.10)) #:cargo-development-inputs - (("rust-glob" ,rust-glob-0.3)))) - (home-page "https://github.com/image-rs/image-gif") - (synopsis "GIF decoder and encoder") - (description "This package provides a GIF decoder and encoder in Rust.") - (license (list license:expat license:asl2.0)))) + (("rust-glob" ,rust-glob-0.3)))))) (define-public rust-gl-0.11 (package @@ -1043,44 +1110,89 @@ and iOS.") (description "This package provides wgl bindings for glutin.") (license license:asl2.0))) +(define-public rust-ical-0.7 + (package + (name "rust-ical") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ical" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kvk1pgas67rnp0n4424lxxs8y3n1h0fw3ap8jbfcxqdmlap57sa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://github.com/Peltoche/ical-rs") + (synopsis "Ical/Vcard parser for Rust") + (description + "This library parse the ICalendar format defined in RFC5545, as well as +similar formats like VCard.") + (license license:asl2.0))) + +(define-public rust-ichwh-0.3 + (package + (name "rust-ichwh") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ichwh" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0m6628yw3l812hjknmh5b5gcvhn6as9gzjz60h54zjxyy4w5ss7a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-async-std" ,rust-async-std-1) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-futures" ,rust-futures-0.3) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://gitlab.com/avandesa/ichwh-rs") + (synopsis "Asynchronous implementation of @command{which}") + (description + "@code{ichwh} aims to be a fully-asynchronous clone of GNU which. The +main job of @command{which} is to search for executables on the current +PATH.") + (license license:expat))) + (define-public rust-image-0.23 (package (name "rust-image") - (version "0.23.6") + (version "0.23.12") (source - (origin - (method url-fetch) - (uri (crate-uri "image" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1d2a80k7pwqshliqi5fw1dwkz7q9zd6pjnwpw8zxc1v4xhzmbc5m")))) + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1dg9z5sbc389spp7pm23n2b1k0gdd8hjdb8hhsp3k3npx9vl1q3w")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ; Some test images are missing from the release. + `(#:skip-build? #t #:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1) ("rust-byteorder" ,rust-byteorder-1) - ("rust-gif" ,rust-gif-0.10) + ("rust-color-quant" ,rust-color-quant-1) + ("rust-gif" ,rust-gif-0.11) ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) ("rust-num-iter" ,rust-num-iter-0.1) ("rust-num-rational" ,rust-num-rational-0.3) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-png" ,rust-png-0.16) + ("rust-ravif" ,rust-ravif-0.6) + ("rust-rgb" ,rust-rgb-0.8) ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) - ("rust-tiff" ,rust-tiff-0.5)) - #:cargo-development-inputs - (("rust-crc32fast" ,rust-crc32fast-1) - ("rust-criterion" ,rust-criterion-0.3) - ("rust-glob" ,rust-glob-0.3) - ("rust-num-complex" ,rust-num-complex-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.9)))) + ("rust-tiff" ,rust-tiff-0.6)))) (home-page "https://github.com/image-rs/image") (synopsis "Imaging library written in Rust") (description - "Imaging library written in Rust. Provides basic filters and decoders -for the most common image formats.") + "This package is an imaging library written in Rust. It provides basic +filters and decoders for the most common image formats.") (license license:expat))) (define-public rust-image-0.22 @@ -1177,6 +1289,26 @@ for the most common image formats.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-quickcheck" ,rust-quickcheck-0.6)))))) +(define-public rust-imgref-1 + (package + (name "rust-imgref") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "imgref" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19dd5xss3nd40avv8az2kzicpxx71c2akiqznr616hki30w9vj07")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/kornelski/imgref") + (synopsis "2D slice of a @code{Vec}") + (description + "This package provides a trivial struct for interchange of 2d-dimensional +pixel buffers with width, height and stride.") + (license license:cc0))) + (define-public rust-jpeg-decoder-0.1 (package (name "rust-jpeg-decoder") @@ -1452,7 +1584,7 @@ nicely with Piston libraries.") "This package provides a generic library for textures") (license license:expat))) -(define-public rust-piston-viewport-1.0 +(define-public rust-piston-viewport-1 (package (name "rust-piston-viewport") (version "1.0.0") @@ -1555,9 +1687,9 @@ nicely with Piston libraries.") (("rust-interpolation" ,rust-interpolation-0.2) ("rust-rusttype" ,rust-rusttype-0.7) ("rust-piston-texture" ,rust-piston-texture-0.8) - ("rust-piston-viewport" ,rust-piston-viewport-1.0) - ("rust-read-color" ,rust-read-color-1.0) - ("rust-vecmath" ,rust-vecmath-1.0) + ("rust-piston-viewport" ,rust-piston-viewport-1) + ("rust-read-color" ,rust-read-color-1) + ("rust-vecmath" ,rust-vecmath-1) ("rust-fnv" ,rust-fnv-1)))) (home-page "https://github.com/pistondevelopers/graphics") (synopsis "Library for 2D graphics that works with multiple back-ends") @@ -1635,7 +1767,7 @@ interactive applications.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-piston-viewport" ,rust-piston-viewport-1.0) + (("rust-piston-viewport" ,rust-piston-viewport-1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-bitflags" ,rust-bitflags-1)))) @@ -1782,6 +1914,101 @@ interactive applications.") ("rust-glob" ,rust-glob-0.2) ("rust-term" ,rust-term-0.4)))))) +(define-public rust-rav1e-0.4 + (package + (name "rust-rav1e") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rav1e" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02cpgzycfgnflnv8sck6ajasa7abfgdzn6b4jv01sf6r21yfipbq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-aom-sys" ,rust-aom-sys-0.2) + ("rust-arbitrary" ,rust-arbitrary-0.4) + ("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3) + ("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-av-metrics" ,rust-av-metrics-0.6) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bitstream-io" ,rust-bitstream-io-1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-cc" ,rust-cc-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-clap" ,rust-clap-2) + ("rust-console" ,rust-console-0.14) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-dav1d-sys" ,rust-dav1d-sys-0.3) + ("rust-fern" ,rust-fern-0.6) + ("rust-image" ,rust-image-0.23) + ("rust-interpolate-name" ,rust-interpolate-name-0.2) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-ivf" ,rust-ivf-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-libfuzzer-sys" ,rust-libfuzzer-sys-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-nasm-rs" ,rust-nasm-rs-0.2) + ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3) + ("rust-num-derive" ,rust-num-derive-0.3) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-paste" ,rust-paste-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-chacha" ,rust-rand-chacha-0.3) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7) + ("rust-rustc-version" ,rust-rustc-version-0.3) + ("rust-scan-fmt" ,rust-scan-fmt-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-signal-hook" ,rust-signal-hook-0.3) + ("rust-simd-helpers" ,rust-simd-helpers-0.1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-toml" ,rust-toml-0.5) + ("rust-v-frame" ,rust-v-frame-0.2) + ("rust-vergen" ,rust-vergen-3) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-y4m" ,rust-y4m-0.7)))) + (home-page "https://github.com/xiph/rav1e") + (synopsis "Fast and safe AV1 encoder") + (description + "@code{rav1e} is an AV1 video encoder. It is designed to eventually +cover all use cases, though in its current form it is most suitable for cases +where libaom (the reference encoder) is too slow.") + (license license:bsd-2))) + +(define-public rust-ravif-0.6 + (package + (name "rust-ravif") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ravif" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1gyc7w1fz3qdk95cdpkj185dm6lskxfp329xm69waxc565fcz9rx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-avif-serialize" ,rust-avif-serialize-0.6) + ("rust-imgref" ,rust-imgref-1) + ("rust-loop9" ,rust-loop9-0.1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-rav1e" ,rust-rav1e-0.4) + ("rust-rayon" ,rust-rayon-1) + ("rust-rgb" ,rust-rgb-0.8)))) + (home-page "https://lib.rs/ravif") + (synopsis "Library for encoding images in AVIF format") + (description + "This package is a rav1e-based pure Rust library for encoding images in +AVIF format.") + (license license:bsd-3))) + (define-public rust-raw-window-handle-0.3 (package (name "rust-raw-window-handle") @@ -1830,7 +2057,7 @@ interactive applications.") (define-public rust-rgb-0.8 (package (name "rust-rgb") - (version "0.8.20") + (version "0.8.25") (source (origin (method url-fetch) @@ -1838,7 +2065,7 @@ interactive applications.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1620mn5dp1rr9fpvd9wbr3b8l2g4zrij8zjri1x34cg1bas59vwh")))) + "1lrv3x5h1lvdzg1qqr8aiysz978m35zpjdkyicnvkarnh8zkqzr8")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -1994,8 +2221,33 @@ applications.") (inputs `(("wayland" ,wayland))))) +(define-public rust-tiff-0.6 + (package + (name "rust-tiff") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tiff" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ds48vs919ccxa3fv1www7788pzkvpg434ilqkq7sjb5dmqg8lws")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.4) + ("rust-weezl" ,rust-weezl-0.1)))) + (home-page "https://github.com/image-rs/image-tiff") + (synopsis "TIFF decoding and encoding library in pure Rust") + (description + "This package provides TIFF decoding and encoding library in pure Rust.") + (license license:expat))) + (define-public rust-tiff-0.5 (package + (inherit rust-tiff-0.6) (name "rust-tiff") (version "0.5.0") (source @@ -2007,19 +2259,12 @@ applications.") (sha256 (base32 "0bzzvxcx21pzryxgd7x7a1himiqs2y4k55754wzlr56sqj3qlfrz")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; not all test files included #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1) ("rust-lzw" ,rust-lzw-0.10) - ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) - (home-page "https://github.com/image-rs/image-tiff") - (synopsis - "TIFF decoding and encoding library in pure Rust") - (description - "TIFF decoding and encoding library in pure Rust.") - (license license:expat))) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))))) (define-public rust-tiff-0.3 (package @@ -2503,12 +2748,27 @@ the wayland protocol, server side.") (base32 "16f03jsy7q6p2wpaazc4w4kycyyk0fz7lacpdbcizl9m1i7874v7")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-dlib" ,rust-dlib-0.4) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libraries + (lambda* (#:key inputs #:allow-other-keys) + (let ((libwayland (assoc-ref inputs "wayland"))) + (substitute* (find-files "src" "\\.rs$") + (("libwayland.*\\.so" shared-lib) + (string-append libwayland "/lib/" shared-lib))) + #t)))))) + (inputs + `(("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3))) + (propagated-inputs + `(("wayland" ,wayland))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") (description @@ -2533,10 +2793,13 @@ crate @code{rust-wayland-client} for usable bindings.") (base32 "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-dlib" ,rust-dlib-0.4) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2)))))) + ("rust-libc" ,rust-libc-0.2)))) + (inputs `()) + (propagated-inputs `()))) (define-public rust-wayland-sys-0.21 (package @@ -2778,15 +3041,35 @@ the platform-specific getters provided by winit, or another library.") `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) - ("rust-maybe-uninit" ,rust-maybe-uninit-2.0) + ("rust-maybe-uninit" ,rust-maybe-uninit-2) ("rust-pkg-config" ,rust-pkg-config-0.3)))) (home-page "https://github.com/erlepereira/x11-rs.git") (synopsis "X11 library bindings for Rust") (description "This package provides X11 library bindings for Rust.") (license license:cc0))) +(define-public rust-y4m-0.7 + (package + (name "rust-y4m") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "y4m" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1bhdgb7hgx7j92nm6ij5n8wisp50j8ff66ks14jzwdw2mwhrjam7")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/image-rs/y4m") + (synopsis "YUV4MPEG2 (@file{.y4m}) encoder and decoder") + (description + "This package provides a YUV4MPEG2 (@file{.y4m}) encoder and decoder.") + (license license:expat))) + (define-public rust-y4m-0.5 (package + (inherit rust-y4m-0.7) (name "rust-y4m") (version "0.5.3") (source @@ -2798,11 +3081,6 @@ the platform-specific getters provided by winit, or another library.") (sha256 (base32 "1933677by64y06zfgip2yq8b2dza8xnljhaksx93czq90b54kscz")))) - (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-resize" ,rust-resize-0.3)))) - (home-page "https://github.com/image-rs/y4m") - (synopsis "YUV4MPEG2 (.y4m) Encoder/Decoder.") - (description "YUV4MPEG2 (.y4m) Encoder/Decoder.") - (license license:expat))) + (("rust-resize" ,rust-resize-0.3))))))