summary refs log tree commit diff
path: root/gnu/packages/crates-graphics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/crates-graphics.scm')
-rw-r--r--gnu/packages/crates-graphics.scm344
1 files changed, 302 insertions, 42 deletions
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index 8862c039eb..c26cf56394 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -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")
@@ -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,7 +757,6 @@ and iOS.")
        (sha256
         (base32
          "1bw174f7civdfgryvc8pvyhicpr96hzdajnda4s3y8iv3ch907a7"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f      ; tests not included in release
        #:cargo-inputs
@@ -693,11 +764,7 @@ and iOS.")
         ("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")
@@ -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
@@ -2785,8 +3030,28 @@ the platform-specific getters provided by winit, or another library.")
     (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 +3063,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))))))