;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages crates-bevy)
  #:use-module (guix build-system cargo)
  #:use-module (guix download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (gnu packages crates-graphics)
  #:use-module (gnu packages crates-io)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages pkg-config))

(define-public rust-wayland-server-0.29
  (package
    (name "rust-wayland-server")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-server" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1wj8gf28dbjwb824i29wf3wr5r6wp6ssknjm9b5dnb1fah47mk66"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-downcast-rs" ,rust-downcast-rs-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-nix" ,rust-nix-0.23)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-scoped-tls" ,rust-scoped-tls-1)
         ("rust-wayland-commons" ,rust-wayland-commons-0.29)
         ("rust-wayland-scanner" ,rust-wayland-scanner-0.29)
         ("rust-wayland-sys" ,rust-wayland-sys-0.29))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis
      "Bindings to the standard C implementation of the wayland protocol, server side.")
    (description
      "Bindings to the standard C implementation of the wayland protocol, server side.")
    (license license:expat)))

(define-public rust-wayland-protocols-0.29
  (package
    (name "rust-wayland-protocols")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-protocols" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0hap8vky2fwsq05c98c8xs00gb9m5kxp8kq3zr0jwh036gi7l530"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-wayland-client" ,rust-wayland-client-0.29)
         ("rust-wayland-commons" ,rust-wayland-commons-0.29)
         ("rust-wayland-scanner" ,rust-wayland-scanner-0.29)
         ("rust-wayland-server" ,rust-wayland-server-0.29))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis "Generated API for the officials wayland protocol extensions")
    (description "Generated API for the officials wayland protocol extensions")
    (license license:expat)))

(define-public rust-wayland-cursor-0.29
  (package
    (name "rust-wayland-cursor")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-cursor" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gd6aswkrdz556n54pjpd4rchw7jkgcx6hnrhgy62y2y7pqmh9y5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-nix" ,rust-nix-0.23)
         ("rust-wayland-client" ,rust-wayland-client-0.29)
         ("rust-xcursor" ,rust-xcursor-0.3))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis "Bindings to libwayland-cursor.")
    (description "Bindings to libwayland-cursor.")
    (license license:expat)))

(define-public rust-wayland-scanner-0.29
  (package
    (name "rust-wayland-scanner")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-scanner" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1q7r764z8k922xf51fj56b1xm29ffi9ap8jnf4c478gp8cqyv89r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-xml-rs" ,rust-xml-rs-0.8))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis
      "Wayland Scanner for generating rust APIs from XML wayland protocol files. Intended for use with wayland-sys. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.")
    (description
      "Wayland Scanner for generating rust APIs from XML wayland protocol files.
Intended for use with wayland-sys.  You should only need this crate if you are
working on custom wayland protocol extensions.  Look at the crate wayland-client
for usable bindings.")
    (license license:expat)))

(define-public rust-wayland-sys-0.29
  (package
    (name "rust-wayland-sys")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m2jwk5q36jidwbdmdicmi27r9dzi4wanzg3i28nfxc9kbvisd6r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-dlib" ,rust-dlib-0.5)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-memoffset" ,rust-memoffset-0.6)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis
      "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.")
    (description
      "FFI bindings to the various libwayland-*.so libraries.  You should only need
this crate if you are working on custom wayland protocol extensions.  Look at
the crate wayland-client for usable bindings.")
    (license license:expat)))

(define-public rust-wayland-commons-0.29
  (package
    (name "rust-wayland-commons")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-commons" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0gnk4a771i3g1k4fbzx54xnganpc9j68jrx8xj839hfp83iybxll"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-nix" ,rust-nix-0.22)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-wayland-sys" ,rust-wayland-sys-0.29))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis
      "Common types and structures used by wayland-client and wayland-server.")
    (description
      "Common types and structures used by wayland-client and wayland-server.")
    (license license:expat)))

(define-public rust-wayland-client-0.29
  (package
    (name "rust-wayland-client")
    (version "0.29.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wayland-client" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "13s5sj9344izk2g48yizk81kcg8jg4940gg2v6bzcmrjwxh388li"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-downcast-rs" ,rust-downcast-rs-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-nix" ,rust-nix-0.22)
         ("rust-scoped-tls" ,rust-scoped-tls-1)
         ("rust-wayland-commons" ,rust-wayland-commons-0.29)
         ("rust-wayland-scanner" ,rust-wayland-scanner-0.29)
         ("rust-wayland-sys" ,rust-wayland-sys-0.29))))
    (home-page "https://github.com/smithay/wayland-rs")
    (synopsis
      "Bindings to the standard C implementation of the wayland protocol, client side.")
    (description
      "Bindings to the standard C implementation of the wayland protocol, client side.")
    (license license:expat)))

(define-public rust-dlib-0.5
  (package
    (name "rust-dlib")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dlib" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1547hy7nrhkrb2i09va244c0h8mr845ccbs2d2mc414c68bpa6xc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libloading" ,rust-libloading-0.7))))
    (home-page "https://github.com/vberger/dlib")
    (synopsis
      "Helper macros for handling manually loading optional system libraries.")
    (description
      "Helper macros for handling manually loading optional system libraries.")
    (license license:expat)))

(define-public rust-calloop-0.9
  (package
    (name "rust-calloop")
    (version "0.9.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "calloop" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10mbcsd7fj3cg0a463h3003wycv955cnj4pm2gla2sp5xxhyqbmz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-futures-io" ,rust-futures-io-0.3)
         ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-nix" ,rust-nix-0.23))))
    (home-page "https://github.com/Smithay/calloop")
    (synopsis "A callback-based event loop")
    (description "This package provides a callback-based event loop")
    (license license:expat)))

(define-public rust-smithay-client-toolkit-0.15
  (package
    (name "rust-smithay-client-toolkit")
    (version "0.15.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smithay-client-toolkit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "12p627i1sg08mj9nb8d1zp4a82m348j96c2m0gapivlw429g498k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-calloop" ,rust-calloop-0.9)
         ("rust-dlib" ,rust-dlib-0.5)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-memmap2" ,rust-memmap2-0.3)
         ("rust-nix" ,rust-nix-0.23)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-wayland-client" ,rust-wayland-client-0.29)
         ("rust-wayland-cursor" ,rust-wayland-cursor-0.29)
         ("rust-wayland-protocols" ,rust-wayland-protocols-0.29))))
    (home-page "https://github.com/smithay/client-toolkit")
    (synopsis "Toolkit for making client wayland applications.")
    (description "Toolkit for making client wayland applications.")
    (license license:expat)))

(define-public rust-winit-0.26
  (package
    (name "rust-winit")
    (version "0.26.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "winit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0fp7cdh7llbqmm6ga8f6bzk9785jmkbyy1w631hr9faq3n9wqhwv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-cocoa" ,rust-cocoa-0.24)
         ("rust-core-foundation" ,rust-core-foundation-0.9)
         ("rust-core-graphics" ,rust-core-graphics-0.22)
         ("rust-core-video-sys" ,rust-core-video-sys-0.1)
         ("rust-dispatch" ,rust-dispatch-0.2)
         ("rust-instant" ,rust-instant-0.1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-mio" ,rust-mio-0.8)
         ("rust-ndk" ,rust-ndk-0.5)
         ("rust-ndk-glue" ,rust-ndk-glue-0.5)
         ("rust-ndk-sys" ,rust-ndk-sys-0.2)
         ("rust-objc" ,rust-objc-0.2)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-percent-encoding" ,rust-percent-encoding-2)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.15)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-wayland-client" ,rust-wayland-client-0.29)
         ("rust-wayland-protocols" ,rust-wayland-protocols-0.29)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3)
         ("rust-x11-dl" ,rust-x11-dl-2))))
    (home-page "https://github.com/rust-windowing/winit")
    (synopsis "Cross-platform window creation library.")
    (description "Cross-platform window creation library.")
    (license license:asl2.0)))

(define-public rust-bevy-winit-0.6
  (package
    (name "rust-bevy-winit")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_winit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ijpvksawv7swwjyhj7hmz6lk79qs98sb5q80xg62032sjza9m6h"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.5)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-input" ,rust-bevy-input-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bevy-window" ,rust-bevy-window-0.6)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winit" ,rust-winit-0.26))))
    (home-page "https://bevyengine.org")
    (synopsis "A winit window and input backend for Bevy Engine")
    (description
      "This package provides a winit window and input backend for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-stretch-0.3
  (package
    (name "rust-stretch")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "stretch" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11vdmli145j6yakgr7hkzgbnz1kqsb9rq3zrxl1g6dz11k9cc3bv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libm" ,rust-libm-0.1))))
    (home-page "https://github.com/vislyhq/stretch")
    (synopsis "High performance & cross-platform Flexbox implementation")
    (description "High performance & cross-platform Flexbox implementation")
    (license license:expat)))

(define-public rust-bevy-ui-0.6
  (package
    (name "rust-bevy-ui")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_ui" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rvpap6wgir74f5k2dw7p5q2yqxymiqbjf40pagk9gnpbdck9nyv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-core-pipeline" ,rust-bevy-core-pipeline-0.6)
         ("rust-bevy-derive" ,rust-bevy-derive-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-input" ,rust-bevy-input-0.6)
         ("rust-bevy-log" ,rust-bevy-log-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6)
         ("rust-bevy-sprite" ,rust-bevy-sprite-0.6)
         ("rust-bevy-text" ,rust-bevy-text-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bevy-window" ,rust-bevy-window-0.6)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-stretch" ,rust-stretch-0.3))))
    (home-page "https://bevyengine.org")
    (synopsis
      "A custom ECS-driven UI framework built specifically for Bevy Engine")
    (description
      "This package provides a custom ECS-driven UI framework built specifically for
Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-glyph-brush-layout-0.2
  (package
    (name "rust-glyph-brush-layout")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glyph_brush_layout" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0f3scdx5kqjndnwvamfjca6dl8fs6np0jl2wd71mmjh09wrw4cnc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ab-glyph" ,rust-ab-glyph-0.2)
         ("rust-approx" ,rust-approx-0.5)
         ("rust-xi-unicode" ,rust-xi-unicode-0.3))))
    (home-page "https://github.com/alexheretic/glyph-brush")
    (synopsis "Text layout for ab_glyph")
    (description "Text layout for ab_glyph")
    (license license:asl2.0)))

(define-public rust-ttf-parser-0.15
  (package
    (name "rust-ttf-parser")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ttf-parser" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ws4c8vm7v1cxwv61z9b14x1f2zk163ix9g28njhzq9m91crck67"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/RazrFalcon/ttf-parser")
    (synopsis "A high-level, safe, zero-allocation TrueType font parser.")
    (description
      "This package provides a high-level, safe, zero-allocation TrueType font parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-owned-ttf-parser-0.15
  (package
    (name "rust-owned-ttf-parser")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "owned_ttf_parser" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "17gcrycx0gdm0v2pg9jxgws5mifvziyhbyhbm6r2v8g7rw4ybcag"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ttf-parser" ,rust-ttf-parser-0.15))))
    (home-page "https://github.com/alexheretic/owned-ttf-parser")
    (synopsis "ttf-parser plus support for owned data")
    (description "ttf-parser plus support for owned data")
    (license license:asl2.0)))

(define-public rust-ab-glyph-0.2
  (package
    (name "rust-ab-glyph")
    (version "0.2.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ab_glyph" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0k3rypc54afbb0yp3rbkwpy75pfa36br032sypg3rrrml8l6jq14"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ab-glyph-rasterizer" ,rust-ab-glyph-rasterizer-0.1)
         ("rust-libm" ,rust-libm-0.2)
         ("rust-owned-ttf-parser" ,rust-owned-ttf-parser-0.15))))
    (home-page "https://github.com/alexheretic/ab-glyph")
    (synopsis
      "API for loading, scaling, positioning and rasterizing OpenType font glyphs.")
    (description
      "API for loading, scaling, positioning and rasterizing OpenType font glyphs.")
    (license license:asl2.0)))

(define-public rust-bevy-text-0.6
  (package
    (name "rust-bevy-text")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_text" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0si31c3icf345rbxww32a8bnd33zzlbh6cd16in8wpj36fwlng13"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ab-glyph" ,rust-ab-glyph-0.2)
         ("rust-anyhow" ,rust-anyhow-1)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6)
         ("rust-bevy-sprite" ,rust-bevy-sprite-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bevy-window" ,rust-bevy-window-0.6)
         ("rust-glyph-brush-layout" ,rust-glyph-brush-layout-0.2)
         ("rust-serde" ,rust-serde-1)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides text functionality for Bevy Engine")
    (description "This package provides text functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-rectangle-pack-0.4
  (package
    (name "rust-rectangle-pack")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rectangle-pack" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1fzr1k7yir4w15vr7iskxaqdaa0hz5k539a96hayfj20i3r67m50"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/chinedufn/rectangle-pack")
    (synopsis
      "A general purpose, deterministic bin packer designed to conform to any two or three dimensional use case.")
    (description
      "This package provides a general purpose, deterministic bin packer designed to
conform to any two or three dimensional use case.")
    (license (list license:expat license:asl2.0))))

(define-public rust-svg-fmt-0.4
  (package
    (name "rust-svg-fmt")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "svg_fmt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qjhciyls66jw9p4m7zy20ziqp39z9h44l0wzjfjxvhjyhaxzccg"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/nical/rust_debug")
    (synopsis "Very simple debugging utilities to dump shapes in SVG format.")
    (description
      "Very simple debugging utilities to dump shapes in SVG format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-guillotiere-0.6
  (package
    (name "rust-guillotiere")
    (version "0.6.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "guillotiere" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10m7fhp5kzf09kz08k6apkbzblriyqynjl1wwa9i7jrnq1jmhbdn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-euclid" ,rust-euclid-0.22)
         ("rust-serde" ,rust-serde-1)
         ("rust-svg-fmt" ,rust-svg-fmt-0.4))))
    (home-page "https://github.com/nical/guillotiere")
    (synopsis "A dynamic 2D texture atlas allocator with fast deallocation.")
    (description
      "This package provides a dynamic 2D texture atlas allocator with fast
deallocation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-sprite-0.6
  (package
    (name "rust-bevy-sprite")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_sprite" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0csv259xmwiq7j6r024ri8vg8l85ip7pqbk9n9zirhapzwqrhhv6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-core-pipeline" ,rust-bevy-core-pipeline-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-log" ,rust-bevy-log-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-copyless" ,rust-copyless-0.1)
         ("rust-guillotiere" ,rust-guillotiere-0.6)
         ("rust-rectangle-pack" ,rust-rectangle-pack-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides sprite functionality for Bevy Engine")
    (description "This package provides sprite functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-gltf-derive-0.16
  (package
    (name "rust-gltf-derive")
    (version "0.16.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gltf-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0w4wln579zv3fl06wbb6xkp62am19zsbq87w9nlvrizrw0rr6ahz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-inflections" ,rust-inflections-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/gltf-rs/gltf")
    (synopsis "Internal macros for the gltf crate")
    (description "Internal macros for the gltf crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-gltf-json-0.16
  (package
    (name "rust-gltf-json")
    (version "0.16.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gltf-json" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dkzl4n5shrajm8xzhgb5wl4pl9nc0gqncily6rbvanbk0x4shd1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-gltf-derive" ,rust-gltf-derive-0.16)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/gltf-rs/gltf")
    (synopsis "JSON parsing for the gltf crate")
    (description "JSON parsing for the gltf crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-gltf-0.16
  (package
    (name "rust-gltf")
    (version "0.16.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gltf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "18ppjykayap6d5vcq07kblfy8vksygjbd6c51bfrc04s6msqpwwg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.12)
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-gltf-json" ,rust-gltf-json-0.16)
         ("rust-image" ,rust-image-0.23)
         ("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/gltf-rs/gltf")
    (synopsis "glTF 2.0 loader")
    (description "glTF 2.0 loader")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-scene-0.6
  (package
    (name "rust-bevy-scene")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_scene" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1pwm1vakc2gq3r4j7ixiar5w5jirjx0956m5bv3p9c6iwh0jpsr1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-ron" ,rust-ron-0.7)
         ("rust-serde" ,rust-serde-1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides scene functionality for Bevy Engine")
    (description "This package provides scene functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-pbr-0.6
  (package
    (name "rust-bevy-pbr")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_pbr" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0ainq96pf8sx2y1089qdkql8lai3n78gj8p5r3wgfm3dfj4lswj1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-core-pipeline" ,rust-bevy-core-pipeline-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bevy-window" ,rust-bevy-window-0.6)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-bytemuck" ,rust-bytemuck-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Adds PBR rendering to Bevy Engine")
    (description "Adds PBR rendering to Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-gltf-0.6
  (package
    (name "rust-bevy-gltf")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_gltf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0p4fs1hi0dfd2jf0gvi5ibi38bphk2f29v4ysp62sm3p9wgp3r1l"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-base64" ,rust-base64-0.13)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-log" ,rust-bevy-log-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-pbr" ,rust-bevy-pbr-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6)
         ("rust-bevy-scene" ,rust-bevy-scene-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-gltf" ,rust-gltf-0.16)
         ("rust-percent-encoding" ,rust-percent-encoding-2)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Bevy Engine GLTF loading")
    (description "Bevy Engine GLTF loading")
    (license (list license:expat license:asl2.0))))

(define-public rust-rusty-xinput-1
  (package
    (name "rust-rusty-xinput")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rusty-xinput" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1fxk5lkkjk09k8k3az2lli4kkr6zr6mq9871rhacmf9fqd5nbanj"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Lokathor/rusty-xinput")
    (synopsis "Safe dynamic loading of xinput.")
    (description "Safe dynamic loading of xinput.")
    (license license:bsd-0)))

(define-public rust-libudev-sys-0.1
  (package
    (name "rust-libudev-sys")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libudev-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "09236fdzlx9l0dlrsc6xx21v5x8flpfm3d5rjq9jr5ivlas6k11w"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/dcuddeback/libudev-sys")
    (synopsis "FFI bindings to libudev")
    (description "FFI bindings to libudev")
    (license license:expat)))

(define-public rust-io-kit-sys-0.1
  (package
    (name "rust-io-kit-sys")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "io-kit-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "186h7gm6kf1d00cb3w5mpyf9arcdkxw7jzhl1c4wvm2xk5scq7gj"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
         ("rust-mach" ,rust-mach-0.2))))
    (home-page "https://github.com/jtakakura/io-kit-rs")
    (synopsis "Bindings to IOKit for macOS")
    (description "Bindings to IOKit for macOS")
    (license (list license:expat license:asl2.0))))

(define-public rust-gilrs-core-0.3
  (package
    (name "rust-gilrs-core")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gilrs-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "125bmban224w7lwihllmzkd0m81bkl684iyqn74jk178w4n2diw4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-core-foundation" ,rust-core-foundation-0.6)
         ("rust-io-kit-sys" ,rust-io-kit-sys-0.1)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-libudev-sys" ,rust-libudev-sys-0.1)
         ("rust-log" ,rust-log-0.4)
         ("rust-nix" ,rust-nix-0.23)
         ("rust-rusty-xinput" ,rust-rusty-xinput-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-stdweb" ,rust-stdweb-0.4)
         ("rust-uuid" ,rust-uuid-0.8)
         ("rust-vec-map" ,rust-vec-map-0.8)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://gitlab.com/gilrs-project/gilrs")
    (synopsis "Minimal event based abstraction for working with gamepads")
    (description "Minimal event based abstraction for working with gamepads")
    (license (list license:asl2.0 license:expat))))

(define-public rust-gilrs-0.8
  (package
    (name "rust-gilrs")
    (version "0.8.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gilrs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0299qxhgxmh5x3hnwfc226d8lw2l8sahlq1x6ip5g4y9xfywhl0m"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-fnv" ,rust-fnv-1)
         ("rust-gilrs-core" ,rust-gilrs-core-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-uuid" ,rust-uuid-0.8)
         ("rust-vec-map" ,rust-vec-map-0.8))))
    (home-page "https://gitlab.com/gilrs-project/gilrs")
    (synopsis "Game Input Library for Rust")
    (description "Game Input Library for Rust")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bevy-input-0.6
  (package
    (name "rust-bevy-input")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_input" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0nhq9qm5wnsm1702dvry5ypw2yvvxllh0m0fsh6rcdm6xy9rd61k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides input functionality for Bevy Engine")
    (description "This package provides input functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-gilrs-0.6
  (package
    (name "rust-bevy-gilrs")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_gilrs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1hass2xvhv732ssb8jksvp0071bhwgm7n06nmwsdwkn5n4hgfmxl"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-input" ,rust-bevy-input-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-gilrs" ,rust-gilrs-0.8))))
    (home-page "https://bevyengine.org")
    (synopsis "Gamepad system made using Gilrs for Bevy Engine")
    (description "Gamepad system made using Gilrs for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-dynamic-plugin-0.6
  (package
    (name "rust-bevy-dynamic-plugin")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_dynamic_plugin" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v9p9s6hb6g807qd8h9sv50mnnv841arb7x8xxyyals5f17xy060"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-libloading" ,rust-libloading-0.7))))
    (home-page "https://bevyengine.org")
    (synopsis
      "Provides dynamic plugin loading capabilities for non-wasm platforms")
    (description
      "This package provides dynamic plugin loading capabilities for non-wasm platforms")
    (license (list license:expat license:asl2.0))))

(define-public rust-bitflags-serde-shim-0.2
  (package
    (name "rust-bitflags-serde-shim")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bitflags_serde_shim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "09ghkdjad5yivr0fwjp98562nhv721n5rz566fdw63i8y0kddhr5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/novacrazy/serde_shims")
    (synopsis "Community Driven Serde Shims")
    (description "Community Driven Serde Shims")
    (license license:expat)))

(define-public rust-wgpu-types-0.12
  (package
    (name "rust-wgpu-types")
    (version "0.12.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wgpu-types" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "18mjycj07bj7nmv1vdv7ai5w7i0ga3zk73bilz6v9m6dw7ck75al"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-bitflags-serde-shim" ,rust-bitflags-serde-shim-0.2)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/gfx-rs/wgpu")
    (synopsis "WebGPU types")
    (description "WebGPU types")
    (license (list license:expat license:asl2.0))))

(define-public rust-renderdoc-sys-0.7
  (package
    (name "rust-renderdoc-sys")
    (version "0.7.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "renderdoc-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0mx1crv83mwmfl7yvhnpmhjb01fx5yd9f3f2gpwlnb1518gjsf7i"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page
      "https://github.com/ebkalderon/renderdoc-rs/tree/master/renderdoc-sys")
    (synopsis "Raw FFI bindings to the RenderDoc API")
    (description "Raw FFI bindings to the RenderDoc API")
    (license (list license:expat license:asl2.0))))

(define-public rust-range-alloc-0.1
  (package
    (name "rust-range-alloc")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "range-alloc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1diq0lpp4649qrzx88q26aal13x563bb5w6j037nvk09bv23bsb3"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/gfx-rs/gfx")
    (synopsis "Generic range allocator used by gfx-rs backends")
    (description "Generic range allocator used by gfx-rs backends")
    (license (list license:expat license:asl2.0))))

(define-public rust-metal-0.23
  (package
    (name "rust-metal")
    (version "0.23.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "metal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1110rmnpvy7m3xy6cbfgw79i46qw5hgf17irmcr3dh2c3x4lylg0"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-block" ,rust-block-0.1)
         ("rust-core-graphics-types" ,rust-core-graphics-types-0.1)
         ("rust-dispatch" ,rust-dispatch-0.2)
         ("rust-foreign-types" ,rust-foreign-types-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-objc" ,rust-objc-0.2))))
    (home-page "https://github.com/gfx-rs/metal-rs")
    (synopsis "Rust bindings for Metal")
    (description "Rust bindings for Metal")
    (license (list license:expat license:asl2.0))))

(define-public rust-khronos-egl-4
  (package
    (name "rust-khronos-egl")
    (version "4.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "khronos-egl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qqm42ix278w72snhss8sw8kq4y8c11z4h4xrdqvikhb3nym48wc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-libloading" ,rust-libloading-0.7)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/timothee-haudebourg/khronos-egl")
    (synopsis "Rust bindings for EGL")
    (description "Rust bindings for EGL")
    (license (list license:expat license:asl2.0))))

(define-public rust-inplace-it-0.3
  (package
    (name "rust-inplace-it")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inplace_it" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1jpppakqdazlzmlqx8vmb78drzgv93w52gk4lii6vzkri8q3z5ch"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/NotIntMan/inplace_it")
    (synopsis "Place small arrays on the stack with a low-cost!")
    (description "Place small arrays on the stack with a low-cost!")
    (license license:expat)))

(define-public rust-gpu-descriptor-types-0.1
  (package
    (name "rust-gpu-descriptor-types")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gpu-descriptor-types" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "09i17z9943npl59lqy2y9h9562ri98xdxyccyvz6ilaswmvkcgin"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://github.com/zakarumych/gpu-descriptor")
    (synopsis "Core types of gpu-descriptor crate")
    (description "Core types of gpu-descriptor crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-gpu-descriptor-0.2
  (package
    (name "rust-gpu-descriptor")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gpu-descriptor" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nhxr0hyh0bmm2m5pjiy02227k13hfk3qa4sf7s5yh2dpqbz4f55"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-gpu-descriptor-types" ,rust-gpu-descriptor-types-0.1)
         ("rust-hashbrown" ,rust-hashbrown-0.11)
         ("rust-serde" ,rust-serde-1)
         ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/zakarumych/gpu-descriptor")
    (synopsis
      "Implementation agnostic descriptor allocator for Vulkan like APIs")
    (description
      "Implementation agnostic descriptor allocator for Vulkan like APIs")
    (license (list license:expat license:asl2.0))))

(define-public rust-valuable-derive-0.1
  (package
    (name "rust-valuable-derive")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "valuable-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0cjvqljzsj891cjzlwv0ihrv4m0n5211a6pr6b7cz42ich66ji4x"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/tokio-rs/valuable")
    (synopsis "Macros for the `valuable` crate.")
    (description "Macros for the `valuable` crate.")
    (license license:expat)))

(define-public rust-valuable-0.1
  (package
    (name "rust-valuable")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "valuable" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0v9gp3nkjbl30z0fd56d8mx7w1csk86wwjhfjhr400wh9mfpw2w3"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-valuable-derive" ,rust-valuable-derive-0.1))))
    (home-page "https://github.com/tokio-rs/valuable")
    (synopsis
      "Object-safe value inspection, used to pass un-typed structured data across trait-object boundaries.
")
    (description
      "Object-safe value inspection, used to pass un-typed structured data across
trait-object boundaries.")
    (license license:expat)))

(define-public rust-tracing-core-0.1
  (package
    (name "rust-tracing-core")
    (version "0.1.22")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "08wssa1n70vg02nfw6ykfzjhind88ws8vjqi64nsfch6718wpkq3"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-valuable" ,rust-valuable-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Core primitives for application-level tracing.
")
    (description "Core primitives for application-level tracing.")
    (license license:expat)))

(define-public rust-tracing-attributes-0.1
  (package
    (name "rust-tracing-attributes")
    (version "0.1.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-attributes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05m7wxidfsx3mnvi8adq8532cn1xnm8as0skmnvxfn55lfjdjxl2"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://tokio.rs")
    (synopsis
      "Procedural macro attributes for automatically instrumenting functions.
")
    (description
      "Procedural macro attributes for automatically instrumenting functions.")
    (license license:expat)))

(define-public rust-tracing-0.1
  (package
    (name "rust-tracing")
    (version "0.1.31")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "17wvxyppvkqgs1cc583sjrd4q8nirchks0vgff9xvlhcxyl51ipn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-tracing-attributes" ,rust-tracing-attributes-0.1)
         ("rust-tracing-core" ,rust-tracing-core-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Application-level tracing for Rust.
")
    (description "Application-level tracing for Rust.")
    (license license:expat)))

(define-public rust-gpu-alloc-types-0.2
  (package
    (name "rust-gpu-alloc-types")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gpu-alloc-types" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "19b7zqg0va1lqcr7sj2z66cvasgg1p8imv7aninz5my9dc6lv02l"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://github.com/zakarumych/gpu-alloc")
    (synopsis "Core types of gpu-alloc crate")
    (description "Core types of gpu-alloc crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-gpu-alloc-0.5
  (package
    (name "rust-gpu-alloc")
    (version "0.5.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gpu-alloc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "13c1vqbzgch32w9sjvc7m1lnyr6xc72qczvhwrv0wc8ff5grxibz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-gpu-alloc-types" ,rust-gpu-alloc-types-0.2)
         ("rust-serde" ,rust-serde-1)
         ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/zakarumych/gpu-alloc")
    (synopsis "Implementation agnostic memory allocator for Vulkan like APIs")
    (description
      "Implementation agnostic memory allocator for Vulkan like APIs")
    (license (list license:expat license:asl2.0))))

(define-public rust-slotmap-1
  (package
    (name "rust-slotmap")
    (version "1.0.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "slotmap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0hhkvsc3x79c7fh97b3padjhssd19hzdyyiv291mr3qf3lk8xq71"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-serde" ,rust-serde-1)
         ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/orlp/slotmap")
    (synopsis "Slotmap data structure")
    (description "Slotmap data structure")
    (license license:zlib)))

(define-public rust-glow-0.11
  (package
    (name "rust-glow")
    (version "0.11.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glow" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "068rqvczh691385gzwqqsclp8lr0zq3276x2hfnbh6ba2mvmigfq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-slotmap" ,rust-slotmap-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/grovesNL/glow.git")
    (synopsis
      "GL on Whatever: a set of bindings to run GL (Open GL, OpenGL ES, and WebGL) anywhere, and avoid target-specific code.")
    (description
      "GL on Whatever: a set of bindings to run GL (Open GL, OpenGL ES, and WebGL)
anywhere, and avoid target-specific code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-d3d12-0.4
  (package
    (name "rust-d3d12")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "d3d12" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0339f9ij9hq4bxk31km97sy0jdc8if14pvkdssly15hyimwgvbid"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-libloading" ,rust-libloading-0.7)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/gfx-rs/d3d12-rs")
    (synopsis "Low level D3D12 API wrapper")
    (description "Low level D3D12 API wrapper")
    (license (list license:expat license:asl2.0))))

(define-public rust-ash-0.34
  (package
    (name "rust-ash")
    (version "0.34.0+1.2.203")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ash" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1psnjc8pkibvlns8hxm4pp8xi7ghi5j30m2msj03h1nhagd81xxh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libloading" ,rust-libloading-0.7))))
    (home-page "https://github.com/MaikKlein/ash")
    (synopsis "Vulkan bindings for Rust")
    (description "Vulkan bindings for Rust")
    (license license:expat)))

(define-public rust-wgpu-hal-0.12
  (package
    (name "rust-wgpu-hal")
    (version "0.12.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wgpu-hal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0w699c8d251zvmfpfffn6c3df58h76dbn2fr9pfk4zwd1r0akcck"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.7)
         ("rust-ash" ,rust-ash-0.34)
         ("rust-bit-set" ,rust-bit-set-0.5)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-block" ,rust-block-0.1)
         ("rust-core-graphics-types" ,rust-core-graphics-types-0.1)
         ("rust-d3d12" ,rust-d3d12-0.4)
         ("rust-foreign-types" ,rust-foreign-types-0.3)
         ("rust-fxhash" ,rust-fxhash-0.2)
         ("rust-glow" ,rust-glow-0.11)
         ("rust-gpu-alloc" ,rust-gpu-alloc-0.5)
         ("rust-gpu-descriptor" ,rust-gpu-descriptor-0.2)
         ("rust-inplace-it" ,rust-inplace-it-0.3)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-khronos-egl" ,rust-khronos-egl-4)
         ("rust-libloading" ,rust-libloading-0.7)
         ("rust-log" ,rust-log-0.4)
         ("rust-metal" ,rust-metal-0.23)
         ("rust-naga" ,rust-naga-0.8)
         ("rust-objc" ,rust-objc-0.2)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-profiling" ,rust-profiling-1)
         ("rust-range-alloc" ,rust-range-alloc-0.1)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
         ("rust-renderdoc-sys" ,rust-renderdoc-sys-0.7)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-wgpu-types" ,rust-wgpu-types-0.12)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/gfx-rs/wgpu")
    (synopsis "WebGPU hardware abstraction layer")
    (description "WebGPU hardware abstraction layer")
    (license (list license:expat license:asl2.0))))

(define-public rust-superluminal-perf-sys-0.1
  (package
    (name "rust-superluminal-perf-sys")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "superluminal-perf-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05pz0yybf4y2iw3rvqf2crk04zv7610jjm3glhi8hlv2rhms0hh3"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/EmbarkStudios/superluminal-perf-rs")
    (synopsis "Superluminal Performance C API bindings")
    (description "Superluminal Performance C API bindings")
    (license (list license:expat license:asl2.0))))

(define-public rust-superluminal-perf-0.1
  (package
    (name "rust-superluminal-perf")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "superluminal-perf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0q0ykfn04i2qg5zfizp75y4dn2klpvhb6xfwlygq8jiabpgqvvc0"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-superluminal-perf-sys" ,rust-superluminal-perf-sys-0.1))))
    (home-page "https://github.com/EmbarkStudios/superluminal-perf-rs")
    (synopsis
      "Superluminal Performance API for adding user events to profiler captures")
    (description
      "Superluminal Performance API for adding user events to profiler captures")
    (license (list license:expat license:asl2.0))))

(define-public rust-puffin-0.12
  (package
    (name "rust-puffin")
    (version "0.12.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "puffin" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qjpfjain74rmrlg3ycdwxxn7r1h9alynz13r2jr18i93vxi8d82"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-bincode" ,rust-bincode-1)
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-serde" ,rust-serde-1)
         ("rust-zstd" ,rust-zstd-0.9))))
    (home-page "https://github.com/EmbarkStudios/puffin")
    (synopsis "Simple instrumentation profiler for games")
    (description "Simple instrumentation profiler for games")
    (license (list license:expat license:asl2.0))))

(define-public rust-profiling-procmacros-1
  (package
    (name "rust-profiling-procmacros")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "profiling-procmacros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1bq0apl983lvbm9xgwp6crwnbi3rz066vc5bfghalscc2ms4f6qm"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/aclysma/profiling")
    (synopsis
      "This crate provides a very thin abstraction over other profiler crates.")
    (description
      "This crate provides a very thin abstraction over other profiler crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-optick-1
  (package
    (name "rust-optick")
    (version "1.3.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "optick" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0j35dj8ggfpcc399h1ljm6xfz8kszqc4nrw3vcl9kfndd1hapryp"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/bombomby/optick-rs")
    (synopsis "Super Lightweight Performance Profiler")
    (description "Super Lightweight Performance Profiler")
    (license license:expat)))

(define-public rust-profiling-1
  (package
    (name "rust-profiling")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "profiling" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11xrbgrf5wyc3ndskl2aljr2gx35av9gf364k2666g6ry45aqici"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-optick" ,rust-optick-1)
         ("rust-profiling-procmacros" ,rust-profiling-procmacros-1)
         ("rust-puffin" ,rust-puffin-0.12)
         ("rust-superluminal-perf" ,rust-superluminal-perf-0.1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracy-client" ,rust-tracy-client-0.12))))
    (home-page "https://github.com/aclysma/profiling")
    (synopsis
      "This crate provides a very thin abstraction over other profiler crates.")
    (description
      "This crate provides a very thin abstraction over other profiler crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wgpu-core-0.12
  (package
    (name "rust-wgpu-core")
    (version "0.12.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wgpu-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0z84akvq3qgl56wqzbvwgpbiqvldnxcvcpdkyxawlhdq1q08qs64"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.7)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-cfg-aliases" ,rust-cfg-aliases-0.1)
         ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
         ("rust-copyless" ,rust-copyless-0.1)
         ("rust-fxhash" ,rust-fxhash-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-naga" ,rust-naga-0.8)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-profiling" ,rust-profiling-1)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
         ("rust-ron" ,rust-ron-0.7)
         ("rust-serde" ,rust-serde-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-wgpu-hal" ,rust-wgpu-hal-0.12)
         ("rust-wgpu-types" ,rust-wgpu-types-0.12))))
    (home-page "https://github.com/gfx-rs/wgpu")
    (synopsis "WebGPU core logic on wgpu-hal")
    (description "WebGPU core logic on wgpu-hal")
    (license (list license:expat license:asl2.0))))

(define-public rust-wgpu-0.12
  (package
    (name "rust-wgpu")
    (version "0.12.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wgpu" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rw5yywcnsc0ypdj3amgs5bykhij40hjwak3gdlnsk84zy0xfz5r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.7)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-naga" ,rust-naga-0.8)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-wgpu-core" ,rust-wgpu-core-0.12)
         ("rust-wgpu-hal" ,rust-wgpu-hal-0.12)
         ("rust-wgpu-types" ,rust-wgpu-types-0.12))))
    (home-page "https://wgpu.rs/")
    (synopsis "Rusty WebGPU API wrapper")
    (description "Rusty WebGPU API wrapper")
    (license (list license:expat license:asl2.0))))

(define-public rust-spirv-0.2
  (package
    (name "rust-spirv")
    (version "0.2.0+1.5.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "spirv" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0c7qjinqpwcfxk00qx0j46z7i31lnzg2qnnar3gz3crxzqwglsr4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/gfx-rs/rspirv")
    (synopsis "Rust definition of SPIR-V structs and enums")
    (description "Rust definition of SPIR-V structs and enums")
    (license license:asl2.0)))

(define-public rust-pp-rs-0.2
  (package
    (name "rust-pp-rs")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pp-rs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1vkd9lgwf5rxy7qgzl8mka7vnghaq6nnn0nmg7mycl72ysvqnidv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-unicode-xid" ,rust-unicode-xid-0.2))))
    (home-page "https://github.com/Kangz/glslpp-rs")
    (synopsis "Shader preprocessor")
    (description "Shader preprocessor")
    (license license:bsd-3)))

(define-public rust-hexf-parse-0.2
  (package
    (name "rust-hexf-parse")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hexf-parse" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1pr3a3sk66ddxdyxdxac7q6qaqjcn28v0njy22ghdpfn78l8d9nz"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/lifthrasiir/hexf")
    (synopsis "Parses hexadecimal floats (see also hexf)")
    (description "Parses hexadecimal floats (see also hexf)")
    (license license:cc0)))

(define-public rust-naga-0.8
  (package
    (name "rust-naga")
    (version "0.8.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "naga" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "01f770jmf3xycf0m4b745ydxsxba22kkcj2shasy1s3rrkdz44ih"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bit-set" ,rust-bit-set-0.5)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
         ("rust-hexf-parse" ,rust-hexf-parse-0.2)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-petgraph" ,rust-petgraph-0.6)
         ("rust-pp-rs" ,rust-pp-rs-0.2)
         ("rust-rustc-hash" ,rust-rustc-hash-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-spirv" ,rust-spirv-0.2)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/gfx-rs/naga")
    (synopsis "Shader translation infrastructure")
    (description "Shader translation infrastructure")
    (license (list license:expat license:asl2.0))))

(define-public rust-hexasphere-6
  (package
    (name "rust-hexasphere")
    (version "6.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hexasphere" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1xa6109ij858d788ci9dchk3c17h9py6nqr9akx0ajdiavdrn89b"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-glam" ,rust-glam-0.20)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/OptimisticPeach/hexasphere.git")
    (synopsis "A library to evenly tile hexagons on a sphere.
")
    (description
      "This package provides a library to evenly tile hexagons on a sphere.")
    (license (list license:expat license:asl2.0))))

(define-public rust-raw-window-handle-0.4
  (package
    (name "rust-raw-window-handle")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "raw-window-handle" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dr24lzairc9hdw2a8sk03vixzngv42y3qf9d0x2gmd9jkp5x9zv"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t
                 #:cargo-inputs (("rust-cty" ,rust-cty-0.2))))
    (home-page "https://github.com/rust-windowing/raw-window-handle")
    (synopsis "Interoperability library for Rust Windowing applications.")
    (description "Interoperability library for Rust Windowing applications.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-bevy-window-0.6
  (package
    (name "rust-bevy-window")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_window" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "088bvlp9yxjh6qmysbr04cgib1dwa6y1vxi4dzlnbxdscsvm4jwz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
         ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides windowing functionality for Bevy Engine")
    (description
      "This package provides windowing functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-transform-0.6
  (package
    (name "rust-bevy-transform")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_transform" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "13zsfcgnvmibppd3m8k0hgnmbagjimm7r8ibdps1swncz6ac8x4r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides hierarchy and transform functionality for Bevy Engine")
    (description
      "This package provides hierarchy and transform functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-safe-arch-0.6
  (package
    (name "rust-safe-arch")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "safe_arch" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0ad5ykwgq9ll1ymp83d9cayzj8q191rik71ga5wzkndhrkj22j3r"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1))))
    (home-page "https://github.com/Lokathor/safe_arch")
    (synopsis "Crate that exposes `core::arch` safely via `#[cfg()]`.")
    (description "Crate that exposes `core::arch` safely via `#[cfg()]`.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-wide-0.7
  (package
    (name "rust-wide")
    (version "0.7.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wide" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0psw31mh21cn4w7i0klsz7law8p8iddsqir8x35cf6n3vb8s5axk"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-safe-arch" ,rust-safe-arch-0.6))))
    (home-page "https://github.com/Lokathor/wide")
    (synopsis "A crate to help you go wide.")
    (description "This package provides a crate to help you go wide.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-paste-1
  (package
    (name "rust-paste")
    (version "1.0.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "paste" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dcg6ll2in45066kvramw83cp1p0vcbafl6bjkrxfv8szrm14i07"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/dtolnay/paste")
    (synopsis "Macros for all your token pasting needs")
    (description "Macros for all your token pasting needs")
    (license (list license:expat license:asl2.0))))

(define-public rust-cuda-std-macros-0.2
  (package
    (name "rust-cuda-std-macros")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cuda_std_macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0hlakxn9pz8233pwsh44j8gzqzf078a3lnnq3v2cadmb4c4l1mlz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Macros for cuda_std")
    (description "Macros for cuda_std")
    (license (list license:expat license:asl2.0))))

(define-public rust-cuda-std-0.2
  (package
    (name "rust-cuda-std")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cuda_std" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "174237dj152dvndvykcn17nz2d0kdzsyyxnb6fsdz3i7xa8lfcgn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-cuda-std-macros" ,rust-cuda-std-macros-0.2)
         ("rust-half" ,rust-half-1)
         ("rust-paste" ,rust-paste-1)
         ("rust-vek" ,rust-vek-0.15))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Standard library for CUDA with rustc_codegen_nvvm")
    (description "Standard library for CUDA with rustc_codegen_nvvm")
    (license (list license:expat license:asl2.0))))

(define-public rust-simba-0.7
  (package
    (name "rust-simba")
    (version "0.7.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "simba" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0pkjscs2bhz7ig8v6vcfp8kijkwvqd7jbxbzmgv7fkvdhyg618hk"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.5)
         ("rust-cordic" ,rust-cordic-0.1)
         ("rust-cuda-std" ,rust-cuda-std-0.2)
         ("rust-decimal" ,rust-decimal-2)
         ("rust-fixed" ,rust-fixed-1)
         ("rust-libm" ,rust-libm-0.2)
         ("rust-num-complex" ,rust-num-complex-0.4)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
         ("rust-paste" ,rust-paste-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-serde" ,rust-serde-1)
         ("rust-wide" ,rust-wide-0.7))))
    (home-page "https://github.com/dimforge/simba")
    (synopsis "SIMD algebra for Rust")
    (description "SIMD algebra for Rust")
    (license license:asl2.0)))

(define-public rust-glam-0.18
  (package
    (name "rust-glam")
    (version "0.18.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glam" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0d7f7f7cdbahxk677k6l8h7r4bxxni24nzdndwr8wyx71d4kwnjj"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.5)
         ("rust-bytecheck" ,rust-bytecheck-0.6)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rkyv" ,rust-rkyv-0.7)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "A simple and fast 3D math library for games and graphics")
    (description
      "This package provides a simple and fast 3D math library for games and graphics")
    (license (list license:expat license:asl2.0))))

(define-public rust-glam-0.19
  (package
    (name "rust-glam")
    (version "0.19.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glam" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1jjia0nva5p7ca3dma8jhzxd4dmczgbhn3b338ffh5hmg7k0k19b"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.5)
         ("rust-bytecheck" ,rust-bytecheck-0.6)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rkyv" ,rust-rkyv-0.7)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "A simple and fast 3D math library for games and graphics")
    (description
      "This package provides a simple and fast 3D math library for games and graphics")
    (license (list license:expat license:asl2.0))))

(define-public rust-bytemuck-1
  (package
    (name "rust-bytemuck")
    (version "1.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytemuck" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1b8y2j3mcs3m5p9i12ljnr2nadypjx3qlq01d0ryfwa8qakir18f"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bytemuck-derive" ,rust-bytemuck-derive-1))))
    (home-page "https://github.com/Lokathor/bytemuck")
    (synopsis "A crate for mucking around with piles of bytes.")
    (description
      "This package provides a crate for mucking around with piles of bytes.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-vek-0.15
  (package
    (name "rust-vek")
    (version "0.15.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "vek" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1539b5dy0n3anv4yjxsa5sy9i34gvnpm0vg4fv2yz8pmglv170dn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.4)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-image" ,rust-image-0.23)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-integer" ,rust-num-integer-0.1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rustc-version" ,rust-rustc-version-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/yoanlcq/vek")
    (synopsis
      "Generic 2D-3D math swiss army knife for game engines, with SIMD support and focus on convenience.")
    (description
      "Generic 2D-3D math swiss army knife for game engines, with SIMD support and
focus on convenience.")
    (license (list license:expat license:asl2.0))))

(define-public rust-find-cuda-helper-0.2
  (package
    (name "rust-find-cuda-helper")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "find_cuda_helper" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1bdxg8bmcqvnxb43y6bn2xnhszyi9bm0kndagp3iml1xb5ffdygr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-glob" ,rust-glob-0.3))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Helper crate for searching for CUDA libraries")
    (description "Helper crate for searching for CUDA libraries")
    (license (list license:expat license:asl2.0))))

(define-public rust-cust-raw-0.11
  (package
    (name "rust-cust-raw")
    (version "0.11.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cust_raw" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1y1b82gf0fmaqxhvzjd3cxgd54vvbj3vji68pcl9ijqjvrm0vx7v"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-find-cuda-helper" ,rust-find-cuda-helper-0.2))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Low level bindings to the CUDA Driver API")
    (description "Low level bindings to the CUDA Driver API")
    (license (list license:expat license:asl2.0))))

(define-public rust-cust-derive-0.1
  (package
    (name "rust-cust-derive")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cust_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ckxjfdlwhmdyf5s2v10cslpb6wri9xl8nk3qirz8rsn5x1hn61v"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Macros for cust")
    (description "Macros for cust")
    (license (list license:expat license:asl2.0))))

(define-public rust-cust-0.2
  (package
    (name "rust-cust")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cust" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1jb7l9qq65jc9rqwwygaxg4b304nn3i8igic905cbbrnw1ns8iz9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-cust-derive" ,rust-cust-derive-0.1)
         ("rust-cust-raw" ,rust-cust-raw-0.11)
         ("rust-find-cuda-helper" ,rust-find-cuda-helper-0.2)
         ("rust-vek" ,rust-vek-0.15))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "High level bindings to the CUDA Driver API")
    (description "High level bindings to the CUDA Driver API")
    (license (list license:expat license:asl2.0))))

(define-public rust-nalgebra-0.30
  (package
    (name "rust-nalgebra")
    (version "0.30.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nalgebra" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1glqd63v8n2a7i66yc4czrmmf21hxqc2q8906f4fsjv913gd1cjg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-abomonation" ,rust-abomonation-0.7)
         ("rust-alga" ,rust-alga-0.9)
         ("rust-approx" ,rust-approx-0.5)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-cust" ,rust-cust-0.2)
         ("rust-glam" ,rust-glam-0.20)
         ("rust-glam" ,rust-glam-0.19)
         ("rust-glam" ,rust-glam-0.18)
         ("rust-glam" ,rust-glam-0.17)
         ("rust-glam" ,rust-glam-0.16)
         ("rust-glam" ,rust-glam-0.15)
         ("rust-glam" ,rust-glam-0.14)
         ("rust-glam" ,rust-glam-0.13)
         ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
         ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-nalgebra-macros" ,rust-nalgebra-macros-0.1)
         ("rust-num-complex" ,rust-num-complex-0.4)
         ("rust-num-rational" ,rust-num-rational-0.4)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-pest" ,rust-pest-2)
         ("rust-pest-derive" ,rust-pest-derive-2)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-quickcheck" ,rust-quickcheck-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rand-distr" ,rust-rand-distr-0.4)
         ("rust-rkyv" ,rust-rkyv-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-simba" ,rust-simba-0.7)
         ("rust-typenum" ,rust-typenum-1))))
    (home-page "https://nalgebra.org")
    (synopsis
      "General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices.")
    (description
      "General-purpose linear algebra library with transformations and statically-sized
or dynamically-sized matrices.")
    (license license:bsd-3)))

(define-public rust-cgmath-0.18
  (package
    (name "rust-cgmath")
    (version "0.18.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cgmath" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05sk7c1c1jg5ygqvc3y77kxddp177gwazfibhd864ag3800x760s"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.4)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rustgd/cgmath")
    (synopsis
      "A linear algebra and mathematics library for computer graphics.")
    (description
      "This package provides a linear algebra and mathematics library for computer
graphics.")
    (license license:asl2.0)))

(define-public rust-bevy-crevice-derive-0.6
  (package
    (name "rust-bevy-crevice-derive")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy-crevice-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1g103s0n60i7712px396g7sgv7xaf2phx825dx11xsvpj965kkyl"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-macro-utils" ,rust-bevy-macro-utils-0.6)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/LPGhatguy/crevice")
    (synopsis "Derive crate for the 'crevice' crate (Bevy version)")
    (description "Derive crate for the 'crevice' crate (Bevy version)")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-crevice-0.6
  (package
    (name "rust-bevy-crevice")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_crevice" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05fbs4c0i7vzkp65n8a3dzb0j5r4h6jf4bqx3mq0mnhhyxrdx166"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-crevice-derive" ,rust-bevy-crevice-derive-0.6)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-cgmath" ,rust-cgmath-0.18)
         ("rust-glam" ,rust-glam-0.20)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-nalgebra" ,rust-nalgebra-0.30))))
    (home-page "https://github.com/LPGhatguy/crevice")
    (synopsis
      "Create GLSL-compatible versions of structs with explicitly-initialized padding (Bevy version)")
    (description
      "Create GLSL-compatible versions of structs with explicitly-initialized padding
(Bevy version)")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-render-0.6
  (package
    (name "rust-bevy-render")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_render" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1hnj2dlljig9lym52gh8fk3a16m2vsz3g3ppj8qqzm73wl4m83dc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-crevice" ,rust-bevy-crevice-0.6)
         ("rust-bevy-derive" ,rust-bevy-derive-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bevy-window" ,rust-bevy-window-0.6)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
         ("rust-copyless" ,rust-copyless-0.1)
         ("rust-downcast-rs" ,rust-downcast-rs-1)
         ("rust-futures-lite" ,rust-futures-lite-1)
         ("rust-hex" ,rust-hex-0.4)
         ("rust-hexasphere" ,rust-hexasphere-6)
         ("rust-image" ,rust-image-0.23)
         ("rust-naga" ,rust-naga-0.8)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-regex" ,rust-regex-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-wgpu" ,rust-wgpu-0.12))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides rendering functionality for Bevy Engine")
    (description
      "This package provides rendering functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-core-pipeline-0.6
  (package
    (name "rust-bevy-core-pipeline")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_core_pipeline" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "07l4674mlwb4hgild7995ilizlgvax2vq8dbci4r0p0rjk52shjv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides a core render pipeline for Bevy Engine.")
    (description
      "This package provides a core render pipeline for Bevy Engine.")
    (license (list license:expat license:asl2.0))))

(define-public rust-slice-deque-0.3
  (package
    (name "rust-slice-deque")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "slice-deque" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "098gvqjw52qw4gac567c9hx3y6hw9al7hjqb5mnvmvydh3i6xvri"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-mach" ,rust-mach-0.3)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/gnzlbg/slice_deque")
    (synopsis "A double-ended queue that Deref's into a slice.")
    (description
      "This package provides a double-ended queue that Deref's into a slice.")
    (license (list license:expat license:asl2.0))))

(define-public rust-minimp3-sys-0.3
  (package
    (name "rust-minimp3-sys")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "minimp3-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "144vmf3s89kad0smjprzigcp2c9r5dm95n4ydilrbp399irp6772"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t
                 #:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/germangb/minimp3-rs.git")
    (synopsis "Rust bindings for the minimp3 library.")
    (description "Rust bindings for the minimp3 library.")
    (license license:expat)))

(define-public rust-minimp3-0.5
  (package
    (name "rust-minimp3")
    (version "0.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "minimp3" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0wj3nzj1swnvwsk3a4a3hkfj1d21jsi7babi40wlrxzbbzvkhm4q"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-minimp3-sys" ,rust-minimp3-sys-0.3)
         ("rust-slice-deque" ,rust-slice-deque-0.3)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/germangb/minimp3-rs.git")
    (synopsis "Rust bindings for the minimp3 library.")
    (description "Rust bindings for the minimp3 library.")
    (license license:expat)))

(define-public rust-ogg-0.8
  (package
    (name "rust-ogg")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ogg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0vjxmqcv9252aj8byy70iy2krqfjknfcxg11lcyikj11pzlb8lb9"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1)
         ("rust-bytes" ,rust-bytes-0.4)
         ("rust-futures" ,rust-futures-0.1)
         ("rust-tokio-io" ,rust-tokio-io-0.1))))
    (home-page "https://github.com/RustAudio/ogg")
    (synopsis "Ogg container decoder and encoder written in pure Rust")
    (description "Ogg container decoder and encoder written in pure Rust")
    (license license:bsd-3)))

(define-public rust-lewton-0.10
  (package
    (name "rust-lewton")
    (version "0.10.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lewton" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0c60fn004awg5c3cvx82d6na2pirf0qdz9w3b93mbcdakbglhyvp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1)
         ("rust-futures" ,rust-futures-0.1)
         ("rust-ogg" ,rust-ogg-0.8)
         ("rust-tinyvec" ,rust-tinyvec-1)
         ("rust-tokio-io" ,rust-tokio-io-0.1))))
    (home-page "https://github.com/RustAudio/lewton")
    (synopsis "Pure Rust vorbis decoder")
    (description "Pure Rust vorbis decoder")
    (license (list license:expat license:asl2.0))))

(define-public rust-hound-3
  (package
    (name "rust-hound")
    (version "3.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hound" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0jbm25p2nc8758dnfjan1yk7hz2i85y89nrbai14zzxfrsr4n5la"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/ruuda/hound")
    (synopsis "A wav encoding and decoding library")
    (description "This package provides a wav encoding and decoding library")
    (license license:asl2.0)))

(define-public rust-stdweb-0.1
  (package
    (name "rust-stdweb")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "stdweb" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0gjk7ch31a3kgdc39kj4zqinf10yqaf717wanh9kwwbbwg430m7g"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-clippy" ,rust-clippy-0.0)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/koute/stdweb")
    (synopsis "A standard library for the client-side Web")
    (description
      "This package provides a standard library for the client-side Web")
    (license (list license:expat license:asl2.0))))

(define-public rust-fetch-unroll-0.3
  (package
    (name "rust-fetch-unroll")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fetch_unroll" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1l3cf8fhcrw354hdmjf03f5v4bxgn2wkjna8n0fn8bgplh8b3666"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libflate" ,rust-libflate-1)
         ("rust-tar" ,rust-tar-0.4)
         ("rust-ureq" ,rust-ureq-2))))
    (home-page "https://github.com/katyo/fetch_unroll")
    (synopsis "Simple utilities for fetching and unrolling .tar.gz archives")
    (description
      "Simple utilities for fetching and unrolling .tar.gz archives")
    (license license:asl2.0)))

(define-public rust-oboe-sys-0.4
  (package
    (name "rust-oboe-sys")
    (version "0.4.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "oboe-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gcl494yy880h2gfgsbdd32g2h0s1n94v58j5hil9mrf6yvsnw1k"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bindgen" ,rust-bindgen-0.59)
         ("rust-cc" ,rust-cc-1)
         ("rust-fetch-unroll" ,rust-fetch-unroll-0.3))))
    (home-page "https://github.com/katyo/oboe-rs")
    (synopsis
      "Unsafe bindings for oboe an android library for low latency audio IO")
    (description
      "Unsafe bindings for oboe an android library for low latency audio IO")
    (license license:asl2.0)))

(define-public rust-oboe-0.4
  (package
    (name "rust-oboe")
    (version "0.4.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "oboe" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lh20l8b4lx5h9a7lpf9n66z47sh2508w7x2203hsklvw7rchqr4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-jni" ,rust-jni-0.19)
         ("rust-ndk" ,rust-ndk-0.6)
         ("rust-ndk-glue" ,rust-ndk-glue-0.6)
         ("rust-num-derive" ,rust-num-derive-0.3)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-oboe-sys" ,rust-oboe-sys-0.4))))
    (home-page "https://github.com/katyo/oboe-rs")
    (synopsis
      "Safe interface for oboe an android library for low latency audio IO")
    (description
      "Safe interface for oboe an android library for low latency audio IO")
    (license license:asl2.0)))

(define-public rust-ndk-glue-0.6
  (package
    (name "rust-ndk-glue")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-glue" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nkqw0lvq8qjl15645jcic0kp1cqr9vqf0j5sm4q795b7m2bgzyr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-android-logger" ,rust-android-logger-0.10)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-ndk" ,rust-ndk-0.6)
         ("rust-ndk-context" ,rust-ndk-context-0.1)
         ("rust-ndk-macro" ,rust-ndk-macro-0.3)
         ("rust-ndk-sys" ,rust-ndk-sys-0.3))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Startup code for android binaries")
    (description "Startup code for android binaries")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-sys-0.3
  (package
    (name "rust-ndk-sys")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15zsq4p6k5asf4mc0rknd8cz9wxrwvi50qdspgf87qcfgkknlnkf"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-jni-sys" ,rust-jni-sys-0.3))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "FFI bindings for the Android NDK")
    (description "FFI bindings for the Android NDK")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-0.6
  (package
    (name "rust-ndk")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m1dfjw35qpys1hr4qib6mm3zacd01k439l7cx5f7phd0dzcfci0"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-jni" ,rust-jni-0.18)
         ("rust-jni-glue" ,rust-jni-glue-0.0)
         ("rust-jni-sys" ,rust-jni-sys-0.3)
         ("rust-ndk-sys" ,rust-ndk-sys-0.3)
         ("rust-num-enum" ,rust-num-enum-0.5)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Safe Rust bindings to the Android NDK")
    (description "Safe Rust bindings to the Android NDK")
    (license (list license:expat license:asl2.0))))

(define-public rust-jni-0.19
  (package
    (name "rust-jni")
    (version "0.19.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jni" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1v0pn0i1wb8zp4wns4l8hz9689hqsplv7iba7hylaznvwg11ipy6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-cesu8" ,rust-cesu8-1)
         ("rust-combine" ,rust-combine-4)
         ("rust-jni-sys" ,rust-jni-sys-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/jni-rs/jni-rs")
    (synopsis "Rust bindings to the JNI")
    (description "Rust bindings to the JNI")
    (license (list license:expat license:asl2.0))))

(define-public rust-jack-sys-0.2
  (package
    (name "rust-jack-sys")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jack-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1h9c9za19nyr1prx77gkia18ia93f73lpyjdiyrvmhhbs79g54bv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-libloading" ,rust-libloading-0.6)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/RustAudio/rust-jack/tree/main/jack-sys")
    (synopsis "Low-level binding to the JACK audio API.")
    (description "Low-level binding to the JACK audio API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jack-0.8
  (package
    (name "rust-jack")
    (version "0.8.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jack" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0lz10s0n2gy128m65pf96is9ip00vfgvnkfja0y9ydmv24pw2ajx"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-jack-sys" ,rust-jack-sys-0.2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/RustAudio/rust-jack")
    (synopsis "Real time audio and midi with JACK.")
    (description "Real time audio and midi with JACK.")
    (license license:expat)))

(define-public rust-jack-0.7
  (package
    (name "rust-jack")
    (version "0.7.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jack" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1r7bgfpbph3fl9xyp4i9qffcc4h923dcs7d967mpir13lxg216yp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-jack-sys" ,rust-jack-sys-0.2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/RustAudio/rust-jack")
    (synopsis "Real time audio and midi with JACK.")
    (description "Real time audio and midi with JACK.")
    (license license:expat)))

(define-public rust-bindgen-0.56
  (package
    (name "rust-bindgen")
    (version "0.56.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bindgen" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0fajmgk2064ca1z9iq1jjkji63qwwz38z3d67kv6xdy0xgdpk8rd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-cexpr" ,rust-cexpr-0.4)
         ("rust-clang-sys" ,rust-clang-sys-1)
         ("rust-clap" ,rust-clap-2)
         ("rust-env-logger" ,rust-env-logger-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-lazycell" ,rust-lazycell-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1)
         ("rust-shlex" ,rust-shlex-0.1)
         ("rust-which" ,rust-which-3))))
    (home-page "https://rust-lang.github.io/rust-bindgen/")
    (synopsis
      "Automatically generates Rust FFI bindings to C and C++ libraries.")
    (description
      "Automatically generates Rust FFI bindings to C and C++ libraries.")
    (license license:bsd-3)))

(define-public rust-coreaudio-sys-0.2
  (package
    (name "rust-coreaudio-sys")
    (version "0.2.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "coreaudio-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "12r4icmi931jp6dvaf22499r8fqnq7ldy4n0ckq1b35xknjpjina"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.56))))
    (home-page "https://github.com/RustAudio/coreaudio-sys")
    (synopsis
      "Bindings for Apple's CoreAudio frameworks generated via rust-bindgen")
    (description
      "Bindings for Apple's CoreAudio frameworks generated via rust-bindgen")
    (license license:expat)))

(define-public rust-coreaudio-sys-0.2.6
  (package
    (name "rust-coreaudio-sys")
    (version "0.2.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "coreaudio-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1mx89ynkf2ds1n43hdd6radg2660gp27dw2l90vkqk4zybq3vxqp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.53))))
    (home-page "https://github.com/RustAudio/coreaudio-sys")
    (synopsis
      "Bindings for Apple's CoreAudio frameworks generated via rust-bindgen")
    (description
      "Bindings for Apple's CoreAudio frameworks generated via rust-bindgen")
    (license license:expat)))

(define-public rust-coreaudio-rs-0.10
  (package
    (name "rust-coreaudio-rs")
    (version "0.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "coreaudio-rs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "125d4zr3n363ybga4629p41ym7iqjfb2alnwrc1zj7zyxch4p28i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-coreaudio-sys" ,rust-coreaudio-sys-0.2.6)))) ;; not latest
    (home-page "https://github.com/RustAudio/coreaudio-rs")
    (synopsis "A friendly rust interface for Apple's CoreAudio API.")
    (description
      "This package provides a friendly rust interface for Apple's CoreAudio API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-asio-sys-0.2
  (package
    (name "rust-asio-sys")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "asio-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m8v2jsa4n57s7a7142vs23dkz63dhjxgcjxykd17kvq66v9qqj7"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bindgen" ,rust-bindgen-0.54)
         ("rust-cc" ,rust-cc-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-derive" ,rust-num-derive-0.3)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/RustAudio/cpal/")
    (synopsis
      "Low-level interface and binding generation for the steinberg ASIO SDK.")
    (description
      "Low-level interface and binding generation for the steinberg ASIO SDK.")
    (license license:asl2.0)))

(define-public rust-alsa-sys-0.3
  (package
    (name "rust-alsa-sys")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "alsa-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "09qmmnpmlcj23zcgx2xsi4phcgm5i02g9xaf801y7i067mkfx3yv"))))
    (build-system cargo-build-system)
    ;; (native-inputs (list pkg-config))
    ;; (propagated-inputs (list alsa-lib))
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/diwic/alsa-sys")
    (synopsis
      "FFI bindings for the ALSA project (Advanced Linux Sound Architecture)")
    (description
      "FFI bindings for the ALSA project (Advanced Linux Sound Architecture)")
    (license license:expat)))

(define-public rust-alsa-0.6
  (package
    (name "rust-alsa")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "alsa" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0szx8finhqbffh08fp3bgh4ywz0b572vcdyh4hwyhrfgw8pza5ar"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-alsa-sys" ,rust-alsa-sys-0.3)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-nix" ,rust-nix-0.23))))
    (home-page "https://github.com/diwic/alsa-rs")
    (synopsis "Thin but safe wrappers for ALSA (Linux sound API)")
    (description "Thin but safe wrappers for ALSA (Linux sound API)")
    (license (list license:asl2.0 license:expat))))

(define-public rust-alsa-0.5
  (package
    (name "rust-alsa")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "alsa" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "064y582qns69wvjx6qcrkws30yn17r7ln1lcfmgcxcnw19wxmi3m"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-alsa-sys" ,rust-alsa-sys-0.3)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-nix" ,rust-nix-0.23))))
    (home-page "https://github.com/diwic/alsa-rs")
    (synopsis "Thin but safe wrappers for ALSA (Linux sound API)")
    (description "Thin but safe wrappers for ALSA (Linux sound API)")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cpal-0.13
  (package
    (name "rust-cpal")
    (version "0.13.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cpal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "05j11vz8rw19gqqvpd48i7wvm6j77v8fwx5lwhlkckqjllv7h4bl"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-alsa" ,rust-alsa-0.6)
         ("rust-asio-sys" ,rust-asio-sys-0.2)
         ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
         ("rust-coreaudio-rs" ,rust-coreaudio-rs-0.10)
         ("rust-jack" ,rust-jack-0.8)
         ("rust-jni" ,rust-jni-0.19)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mach" ,rust-mach-0.3)
         ("rust-ndk" ,rust-ndk-0.6)
         ("rust-ndk-glue" ,rust-ndk-glue-0.6)
         ("rust-nix" ,rust-nix-0.23)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-oboe" ,rust-oboe-0.4)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-stdweb" ,rust-stdweb-0.1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rustaudio/cpal")
    (synopsis "Low-level cross-platform audio I/O library in pure Rust.")
    (description "Low-level cross-platform audio I/O library in pure Rust.")
    (license license:asl2.0)))

;; XXX: manually added
(define-public rust-ringbuf-0.2
  (package
    (name "rust-ringbuf")
    (version "0.2.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ringbuf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0i3d757mlq3v5n7j1w3ha7n7fpxvqbxh6j2l4z0mn32a1x4n8c7x"))))
    (build-system cargo-build-system)
    (arguments `(#:cargo-inputs (("rust-cache-padded" ,rust-cache-padded-1))))
    (home-page "https://github.com/nthend/ringbuf")
    (synopsis
      "Lock-free SPSC FIFO ring buffer with direct access to inner data")
    (description
      "Lock-free SPSC FIFO ring buffer with direct access to inner data")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-glue-0.3
  (package
    (name "rust-ndk-glue")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-glue" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11cksaj1f2sy4dwqyssrvvhbnd86zajfvm17bj81rb2i9p1g1jn5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-android-logger" ,rust-android-logger-0.9)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-ndk" ,rust-ndk-0.3)
         ("rust-ndk-macro" ,rust-ndk-macro-0.2)
         ("rust-ndk-sys" ,rust-ndk-sys-0.2))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Startup code for android binaries")
    (description "Startup code for android binaries")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-0.3
  (package
    (name "rust-ndk")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1avk39s8w21inkzq09x83yghgq3v8rmhrycba8prg6rif8hk5547"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-jni" ,rust-jni-0.14)
         ("rust-jni-glue" ,rust-jni-glue-0.0)
         ("rust-jni-sys" ,rust-jni-sys-0.3)
         ("rust-ndk-glue" ,rust-ndk-glue-0.3)
         ("rust-ndk-sys" ,rust-ndk-sys-0.2)
         ("rust-num-enum" ,rust-num-enum-0.5)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Safe Rust bindings to the Android NDK")
    (description "Safe Rust bindings to the Android NDK")
    (license (list license:expat license:asl2.0))))

(define-public rust-cpal-0.13.4
  (package
    (name "rust-cpal")
    (version "0.13.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cpal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0614gbjg29n817m97595974pbw331dqyz2c8g0ncs5zn4455zx4q"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-alsa" ,rust-alsa-0.5)
         ("rust-anyhow" ,rust-anyhow-1)
         ("rust-asio-sys" ,rust-asio-sys-0.2)
         ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
         ("rust-coreaudio-rs" ,rust-coreaudio-rs-0.10)
         ("rust-hound" ,rust-hound-3)
         ("rust-jack" ,rust-jack-0.7)
         ("rust-jni" ,rust-jni-0.19)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mach" ,rust-mach-0.3)
         ("rust-ndk" ,rust-ndk-0.3)
         ("rust-ndk-glue" ,rust-ndk-glue-0.6)
         ("rust-nix" ,rust-nix-0.20)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-oboe" ,rust-oboe-0.4)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-ringbuf" ,rust-ringbuf-0.2)
         ("rust-stdweb" ,rust-stdweb-0.1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rustaudio/cpal")
    (synopsis "Low-level cross-platform audio I/O library in pure Rust.")
    (description "Low-level cross-platform audio I/O library in pure Rust.")
    (license license:asl2.0)))

(define-public rust-claxon-0.4
  (package
    (name "rust-claxon")
    (version "0.4.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "claxon" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1206mxvw833ysg10029apcsjjwly8zmsvksgza5cm7ma4ikzbysb"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/ruuda/claxon#readme")
    (synopsis "A FLAC decoding library")
    (description "This package provides a FLAC decoding library")
    (license license:asl2.0)))

(define-public rust-rodio-0.14
  (package
    (name "rust-rodio")
    (version "0.14.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rodio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1ybb0ip0wi7ckcq54a63bpbp03kzrp445h9bgq2ja5dnazjzb62d"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-claxon" ,rust-claxon-0.4)
         ("rust-cpal" ,rust-cpal-0.13.4)
         ("rust-hound" ,rust-hound-3)
         ("rust-lewton" ,rust-lewton-0.10)
         ("rust-minimp3" ,rust-minimp3-0.5))))
    (home-page "https://github.com/RustAudio/rodio")
    (synopsis "Audio playback library")
    (description "Audio playback library")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-audio-0.6
  (package
    (name "rust-bevy-audio")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_audio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1wzz8jp8s3c37c944mcn6gv10hbf4zhd04ii77rvn7fxy1n2g482"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-rodio" ,rust-rodio-0.14))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides audio functionality for Bevy Engine")
    (description "This package provides audio functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-notify-5
  (package
    (name "rust-notify")
    (version "5.0.0-pre.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "notify" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0b03am43jg1rc6qqw52ik4dh5xay4bv8rzggkb4jxy0w5gnyf566"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
         ("rust-filetime" ,rust-filetime-0.2)
         ("rust-fsevent-sys" ,rust-fsevent-sys-4)
         ("rust-inotify" ,rust-inotify-0.9)
         ("rust-kqueue" ,rust-kqueue-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mio" ,rust-mio-0.7)
         ("rust-serde" ,rust-serde-1)
         ("rust-walkdir" ,rust-walkdir-2)
         ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/notify-rs/notify")
    (synopsis "Cross-platform filesystem notification library")
    (description "Cross-platform filesystem notification library")
    (license (list license:cc0 license:artistic2.0))))

(define-public rust-ndk-macro-0.3
  (package
    (name "rust-ndk-macro")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-macro" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0v3sxc11kq3d5vdwfml62l7y5dr0flsf6kp5xid9sbv7qh0arxqd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-darling" ,rust-darling-0.13)
         ("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Helper macros for android ndk")
    (description "Helper macros for android ndk")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-context-0.1
  (package
    (name "rust-ndk-context")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-context" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "112q689zc4338xmj55a8nxdlkjmrw34s3xkpy3l1zqiphv35qg2f"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Handles for accessing Android APIs")
    (description "Handles for accessing Android APIs")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-enum-derive-0.5
  (package
    (name "rust-num-enum-derive")
    (version "0.5.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num_enum_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1kj6b8f2fx8prlcl6y1k97668s5aiia4f9gjlk0nmpak3rj9h11v"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/illicitonion/num_enum")
    (synopsis
      "Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)")
    (description
      "Internal implementation details for ::num_enum (Procedural macros to make
inter-operation between primitives and enums easier)")
    (license (list license:bsd-3 license:expat license:asl2.0))))

(define-public rust-num-enum-0.5
  (package
    (name "rust-num-enum")
    (version "0.5.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num_enum" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1j8rq7i4xnbzy72z82k41469xlj1bmn4ixagd9wlbvv2ark9alyg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-num-enum-derive" ,rust-num-enum-derive-0.5))))
    (home-page "https://github.com/illicitonion/num_enum")
    (synopsis
      "Procedural macros to make inter-operation between primitives and enums easier.")
    (description
      "Procedural macros to make inter-operation between primitives and enums easier.")
    (license (list license:bsd-3 license:expat license:asl2.0))))

(define-public rust-ndk-sys-0.2
  (package
    (name "rust-ndk-sys")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "08915adplysmvx0ha12if1v7zxzx82xgj3nnmiddkm8aq9sdvg71"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "FFI bindings for the Android NDK")
    (description "FFI bindings for the Android NDK")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-0.5
  (package
    (name "rust-ndk")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "17b9imdmv6cffr12bdpvxw1myxdyvaf6jwkmd3w7abn7akv6in4n"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-jni" ,rust-jni-0.18)
         ("rust-jni-glue" ,rust-jni-glue-0.0)
         ("rust-jni-sys" ,rust-jni-sys-0.3)
         ("rust-ndk-sys" ,rust-ndk-sys-0.2)
         ("rust-num-enum" ,rust-num-enum-0.5)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Safe Rust bindings to the Android NDK")
    (description "Safe Rust bindings to the Android NDK")
    (license (list license:expat license:asl2.0))))

(define-public rust-android-logger-0.10
  (package
    (name "rust-android-logger")
    (version "0.10.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "android_logger" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0rigzgkaik2y7pvsilpjdy19mdq1kkamw2rdf9fjkvb5hfqhkvfr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-android-log-sys" ,rust-android-log-sys-0.2)
         ("rust-env-logger" ,rust-env-logger-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/Nercury/android_logger-rs")
    (synopsis
      "A logging implementation for `log` which hooks to android log output.
")
    (description
      "This package provides a logging implementation for `log` which hooks to android
log output.")
    (license (list license:expat license:asl2.0))))

(define-public rust-android-logger-0.9
  (package
    (name "rust-android-logger")
    (version "0.9.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "android_logger" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0wspwzkn3fakpyz3ka0lh6h4pa66zk9kkvic2q9n70jx30y37hif"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-android-log-sys" ,rust-android-log-sys-0.2)
         ("rust-env-logger" ,rust-env-logger-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/Nercury/android_logger-rs")
    (synopsis
      "A logging implementation for `log` which hooks to android log output.
")
    (description
      "This package provides a logging implementation for `log` which hooks to android
log output.")
    (license (list license:expat license:asl2.0))))
(define-public rust-ndk-glue-0.5
  (package
    (name "rust-ndk-glue")
    (version "0.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndk-glue" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1qkjqmz4hw37mf0igczhn90ifdyd0r1790x38ykwjprwd1q8zim1"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-android-logger" ,rust-android-logger-0.10)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-ndk" ,rust-ndk-0.5)
         ("rust-ndk-context" ,rust-ndk-context-0.1)
         ("rust-ndk-macro" ,rust-ndk-macro-0.3)
         ("rust-ndk-sys" ,rust-ndk-sys-0.2))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Startup code for android binaries")
    (description "Startup code for android binaries")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-wasm-0.2
  (package
    (name "rust-tracing-wasm")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-wasm" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "01vfcarjds5n94vz72fxnzxz4nznd3zhhhcgsyi0yhkll5iwcxa5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-rayon" ,rust-rayon-1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
    (home-page "https://github.com/storyai/tracing-wasm")
    (synopsis "tracing subscriber for browser WASM")
    (description "tracing subscriber for browser WASM")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracy-client-sys-0.16
  (package
    (name "rust-tracy-client-sys")
    (version "0.16.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracy-client-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0v9bnarxg89jp42zdfvmicj3a03rham1sjqapdzcwihdgzky89k2"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t
                 #:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/nagisa/rust_tracy_client")
    (synopsis
      "Low level bindings to the client libraries for the Tracy profiler
")
    (description
      "Low level bindings to the client libraries for the Tracy profiler")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracy-client-0.12
  (package
    (name "rust-tracy-client")
    (version "0.12.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracy-client" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "00w272cwfxqqp9chks9skhsfviahs5pxihrmbjyhm647pxzy7h32"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-tracy-client-sys" ,rust-tracy-client-sys-0.16))))
    (home-page "https://github.com/nagisa/rust_tracy_client")
    (synopsis
      "High level bindings to the client libraries for the Tracy profiler
")
    (description
      "High level bindings to the client libraries for the Tracy profiler")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-tracy-0.8
  (package
    (name "rust-tracing-tracy")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-tracy" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1kfjbbaliskxnc7clapi2r8i5c9jyy3haajjfs3qc3j45fxmfc3p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-tracing-core" ,rust-tracing-core-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
         ("rust-tracy-client" ,rust-tracy-client-0.12))))
    (home-page "https://github.com/nagisa/rust_tracy_client")
    (synopsis "Inspect tracing-enabled Rust applications with Tracy
")
    (description "Inspect tracing-enabled Rust applications with Tracy")
    (license (list license:expat license:asl2.0))))

(define-public rust-json-0.12
  (package
    (name "rust-json")
    (version "0.12.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "json" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1z9vybaaz3xq95bwmyln2ijmn4dmzj61xlz06jsc9dnzmxg2i3h7"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/maciejhirsz/json-rust")
    (synopsis "JSON implementation in Rust")
    (description "JSON implementation in Rust")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-chrome-0.4
  (package
    (name "rust-tracing-chrome")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tracing-chrome" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0p21p3afpl30q3m03553rp3xm4xh4qvndwk522skyl5yrzq178kz"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-json" ,rust-json-0.12)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/thoren-d/tracing-chrome")
    (synopsis
      "A Layer for tracing-subscriber that outputs Chrome-style traces.")
    (description
      "This package provides a Layer for tracing-subscriber that outputs Chrome-style
traces.")
    (license license:expat)))

(define-public rust-android-log-sys-0.2
  (package
    (name "rust-android-log-sys")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "android_log-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0bhhs1cgzp9vzjvkn2q31ppc7w4am5s273hkvl5iac5475kmp5l5"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/nercury/android_log-sys-rs")
    (synopsis "FFI bindings to Android log Library.
")
    (description "FFI bindings to Android log Library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-log-0.6
  (package
    (name "rust-bevy-log")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_log" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0piyrn4hb36frr15khq6jdy4ybzgpb31lc87cvxcnxmzf8z0iw4v"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-android-log-sys" ,rust-android-log-sys-0.2)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
         ("rust-tracing-chrome" ,rust-tracing-chrome-0.4)
         ("rust-tracing-log" ,rust-tracing-log-0.1)
         ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
         ("rust-tracing-tracy" ,rust-tracing-tracy-0.8)
         ("rust-tracing-wasm" ,rust-tracing-wasm-0.2))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides logging for Bevy Engine")
    (description "This package provides logging for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-math-0.6
  (package
    (name "rust-bevy-math")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_math" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "04k1nsaf9x0vk8myg2fhih208407jisq3jjx7vzqy2pq5szrw3vb"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-glam" ,rust-glam-0.20))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides math functionality for Bevy Engine")
    (description "This package provides math functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-core-0.6
  (package
    (name "rust-bevy-core")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0n1nqjrm6va0hl1ym5mvqr0rld5nxbp3992znahh8b1illq6858w"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-derive" ,rust-bevy-derive-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-tasks" ,rust-bevy-tasks-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bytemuck" ,rust-bytemuck-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides core functionality for Bevy Engine")
    (description "This package provides core functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-diagnostic-0.6
  (package
    (name "rust-bevy-diagnostic")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_diagnostic" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0wcbdrnsdrj5q8vgsgk51k04nzwmiphkswkrch7v5m3ki3s9igmd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-log" ,rust-bevy-log-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides diagnostic functionality for Bevy Engine")
    (description
      "This package provides diagnostic functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-asset-0.6
  (package
    (name "rust-bevy-asset")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_asset" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1sdx70cflbyh0ynn8666jwi0gcbx8jwvjpphqhr7m19gkqjs0s7b"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-diagnostic" ,rust-bevy-diagnostic-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-log" ,rust-bevy-log-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-tasks" ,rust-bevy-tasks-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
         ("rust-downcast-rs" ,rust-downcast-rs-1)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-ndk-glue" ,rust-ndk-glue-0.5)
         ("rust-notify" ,rust-notify-5)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-serde" ,rust-serde-1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
         ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides asset functionality for Bevy Engine")
    (description "This package provides asset functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-ron-0.7
  (package
    (name "rust-ron")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ron" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0y6n0cpgkv9cnj411ipk86gvwrhxs1hb64m5hrwcjfp4mp51x1hv"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.13)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/ron-rs/ron")
    (synopsis "Rusty Object Notation")
    (description "Rusty Object Notation")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-tasks-0.6
  (package
    (name "rust-bevy-tasks")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_tasks" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "17x9s30dkgcv522wa9l5xqkdq0xig0jgb4k0cf4v9nydykkvri4x"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-async-channel" ,rust-async-channel-1)
         ("rust-async-executor" ,rust-async-executor-1)
         ("rust-event-listener" ,rust-event-listener-2)
         ("rust-futures-lite" ,rust-futures-lite-1)
         ("rust-num-cpus" ,rust-num-cpus-1)
         ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))))
    (home-page "https://bevyengine.org")
    (synopsis "A task executor for Bevy Engine")
    (description "This package provides a task executor for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-tinyvec-1
  (package
    (name "rust-tinyvec")
    (version "1.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tinyvec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lnqnva56673r0d40586rkzyl2qqcz19wm29q8h5a95n89d1s71c"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-tinyvec-macros" ,rust-tinyvec-macros-0.1))))
    (home-page "https://github.com/Lokathor/tinyvec")
    (synopsis "`tinyvec` provides 100% safe vec-like data structures.")
    (description "`tinyvec` provides 100% safe vec-like data structures.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-smallvec-1
  (package
    (name "rust-smallvec")
    (version "1.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smallvec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "10zf4fn63p2d6sx8qap3jvyarcfw563308x3431hd4c34r35gpgj"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1) ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/servo/rust-smallvec")
    (synopsis
      "'Small vector' optimization: store up to a small number of items on the stack")
    (description
      "'Small vector' optimization: store up to a small number of items on the stack")
    (license (list license:expat license:asl2.0))))

(define-public rust-rkyv-derive-0.7
  (package
    (name "rust-rkyv-derive")
    (version "0.7.35")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rkyv_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1nmslbbzd2sgkrbvjmmizvvphsdgmg1wjncwi1z8q6zql5ymbkx6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Derive macro for rkyv")
    (description "Derive macro for rkyv")
    (license license:expat)))

(define-public rust-rend-0.3
  (package
    (name "rust-rend")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rend" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15fz3rw8c74586kxl6dcdn4s864ph884wfpg9shgnbrnnss69bvr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bytecheck" ,rust-bytecheck-0.6))))
    (home-page "https://github.com/djkoloski/rend")
    (synopsis "Endian-aware primitives for Rust")
    (description "Endian-aware primitives for Rust")
    (license license:expat)))

(define-public rust-hashbrown-0.12
  (package
    (name "rust-hashbrown")
    (version "0.12.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hashbrown" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0n0pvw03ljspflqwkybjavdi2mfphyzvvhg3qskacbxrhw2x88cc"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ahash" ,rust-ahash-0.7)
         ("rust-bumpalo" ,rust-bumpalo-3)
         ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-lang/hashbrown")
    (synopsis "A Rust port of Google's SwissTable hash map")
    (description
      "This package provides a Rust port of Google's SwissTable hash map")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rkyv-0.7
  (package
    (name "rust-rkyv")
    (version "0.7.35")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rkyv" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1n50v8fbn6l6z6yqfxl4q99xsbx3457pnhpmwfqqgk4vyv5gbp1c"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bytecheck" ,rust-bytecheck-0.6)
         ("rust-hashbrown" ,rust-hashbrown-0.12)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-ptr-meta" ,rust-ptr-meta-0.1)
         ("rust-rend" ,rust-rend-0.3)
         ("rust-rkyv-derive" ,rust-rkyv-derive-0.7)
         ("rust-seahash" ,rust-seahash-4)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-tinyvec" ,rust-tinyvec-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Zero-copy deserialization framework for Rust")
    (description "Zero-copy deserialization framework for Rust")
    (license license:expat)))

(define-public rust-mint-0.5
  (package
    (name "rust-mint")
    (version "0.5.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "mint" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1zw5glv8z2d99c82jy2za97hh9p6377xmf4rbwz7jynsdfxfngg5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/kvark/mint")
    (synopsis "Math interoperability standard types")
    (description "Math interoperability standard types")
    (license license:expat)))

(define-public rust-bytecheck-derive-0.6
  (package
    (name "rust-bytecheck-derive")
    (version "0.6.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytecheck_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0006ycn72g788hzfy5zd7gl3hxhqi5dj0q7plrjydnimq693nasa"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/djkoloski/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "Derive macro for bytecheck")
    (license license:expat)))

(define-public rust-bytecheck-0.6
  (package
    (name "rust-bytecheck")
    (version "0.6.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytecheck" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1gjasf0viyrn1p01fb77n3n8ga8mjif6wvixgk5n98nd67m8jj1i"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bytecheck-derive" ,rust-bytecheck-derive-0.6)
         ("rust-ptr-meta" ,rust-ptr-meta-0.1)
         ("rust-simdutf8" ,rust-simdutf8-0.1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/djkoloski/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "Derive macro for bytecheck")
    (license license:expat)))

(define-public rust-glam-0.20
  (package
    (name "rust-glam")
    (version "0.20.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glam" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "143lcs4bzqlsvfmsp3p086g7ma8jcvbd9bi058ml3mcpmpp89yp4"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-approx" ,rust-approx-0.5)
         ("rust-bytecheck" ,rust-bytecheck-0.6)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rkyv" ,rust-rkyv-0.7)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "A simple and fast 3D math library for games and graphics")
    (description
      "This package provides a simple and fast 3D math library for games and graphics")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-utils-0.6
  (package
    (name "rust-bevy-utils")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_utils" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "15k34kq9x5b16srg8zlvs1m21k53f0avj1n5zsn8p9ivm9s6cbr5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ahash" ,rust-ahash-0.7)
         ("rust-bevy-derive" ,rust-bevy-derive-0.6)
         ("rust-getrandom" ,rust-getrandom-0.2)
         ("rust-instant" ,rust-instant-0.1)
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://bevyengine.org")
    (synopsis "A collection of utils for Bevy Engine")
    (description "This package provides a collection of utils for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-reflect-derive-0.6
  (package
    (name "rust-bevy-reflect-derive")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_reflect_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "171pplba01n118x36aapm1mga4dlpngldlajq2kq6iglxc7i1wvs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-macro-utils" ,rust-bevy-macro-utils-0.6)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1)
         ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://bevyengine.org")
    (synopsis "Derive implementations for bevy_reflect")
    (description "Derive implementations for bevy_reflect")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-reflect-0.6
  (package
    (name "rust-bevy-reflect")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_reflect" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1jpbygbdd39w6dwrs7hzwx6nili05kvylc8q2xkrv8w4sk5yhk6q"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-reflect-derive" ,rust-bevy-reflect-derive-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-downcast-rs" ,rust-downcast-rs-1)
         ("rust-erased-serde" ,rust-erased-serde-0.3)
         ("rust-glam" ,rust-glam-0.20)
         ("rust-parking-lot" ,rust-parking-lot-0.11)
         ("rust-serde" ,rust-serde-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Dynamically interact with rust types")
    (description "Dynamically interact with rust types")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-ecs-macros-0.6
  (package
    (name "rust-bevy-ecs-macros")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_ecs_macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1abasyr5k3mcgdg40fjvcw7l39nzal1fwl9jmg4wyigandjfdsf7"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-macro-utils" ,rust-bevy-macro-utils-0.6)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "")
    (synopsis "Bevy ECS Macros")
    (description "Bevy ECS Macros")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-ecs-0.6
  (package
    (name "rust-bevy-ecs")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_ecs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0072s4l2din00bxh1r7vwy0bnshqlygqfsdnlhblp8c04vd0bbvd"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-async-channel" ,rust-async-channel-1)
         ("rust-bevy-ecs-macros" ,rust-bevy-ecs-macros-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-tasks" ,rust-bevy-tasks-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-downcast-rs" ,rust-downcast-rs-1)
         ("rust-fixedbitset" ,rust-fixedbitset-0.4)
         ("rust-fxhash" ,rust-fxhash-0.2)
         ("rust-serde" ,rust-serde-1)
         ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Bevy Engine's entity component system")
    (description "Bevy Engine's entity component system")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-manifest-0.2
  (package
    (name "rust-cargo-manifest")
    (version "0.2.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cargo-manifest" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "165v8qh4ih33spzq76hp01pwg1r6qrqwfzllcy69ji17b73navdg"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-toml" ,rust-toml-0.5))))
    (home-page "https://github.com/LukeMathWalker/cargo-manifest")
    (synopsis
      "Helper crate to parse and manipulate manifests - `Cargo.toml` files.")
    (description
      "Helper crate to parse and manipulate manifests - `Cargo.toml` files.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bevy-macro-utils-0.6
  (package
    (name "rust-bevy-macro-utils")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_macro_utils" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1kd7f6jn8cw9pams8xwrjmsa2vxn9q9wkinsij0x01knnsrr1ksp"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-cargo-manifest" ,rust-cargo-manifest-0.2)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://bevyengine.org")
    (synopsis "A collection of utils for Bevy Engine")
    (description "This package provides a collection of utils for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-derive-0.6
  (package
    (name "rust-bevy-derive")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0nayk5jw5csr0hnn8w0am0782hj0zms9vf4xk27lx2qyy3gw13ci"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-macro-utils" ,rust-bevy-macro-utils-0.6)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides derive implementations for Bevy Engine")
    (description
      "This package provides derive implementations for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-app-0.6
  (package
    (name "rust-bevy-app")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_app" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1dasn8r0x1p28c3jg83v4zcq6mvanrybwhsg576i3ys084zkvzjq"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-derive" ,rust-bevy-derive-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-ron" ,rust-ron-0.7)
         ("rust-serde" ,rust-serde-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://bevyengine.org")
    (synopsis "Provides core App functionality for Bevy Engine")
    (description
      "This package provides core App functionality for Bevy Engine")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-internal-0.6
  (package
    (name "rust-bevy-internal")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_internal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "056pwp61m2d6z1f2zvqxmwksx17zx16gl90chh8hva5vjn6z4apr"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-app" ,rust-bevy-app-0.6)
         ("rust-bevy-asset" ,rust-bevy-asset-0.6)
         ("rust-bevy-audio" ,rust-bevy-audio-0.6)
         ("rust-bevy-core" ,rust-bevy-core-0.6)
         ("rust-bevy-core-pipeline" ,rust-bevy-core-pipeline-0.6)
         ("rust-bevy-derive" ,rust-bevy-derive-0.6)
         ("rust-bevy-diagnostic" ,rust-bevy-diagnostic-0.6)
         ("rust-bevy-dynamic-plugin" ,rust-bevy-dynamic-plugin-0.6)
         ("rust-bevy-ecs" ,rust-bevy-ecs-0.6)
         ("rust-bevy-gilrs" ,rust-bevy-gilrs-0.6)
         ("rust-bevy-gltf" ,rust-bevy-gltf-0.6)
         ("rust-bevy-input" ,rust-bevy-input-0.6)
         ("rust-bevy-log" ,rust-bevy-log-0.6)
         ("rust-bevy-math" ,rust-bevy-math-0.6)
         ("rust-bevy-pbr" ,rust-bevy-pbr-0.6)
         ("rust-bevy-reflect" ,rust-bevy-reflect-0.6)
         ("rust-bevy-render" ,rust-bevy-render-0.6)
         ("rust-bevy-scene" ,rust-bevy-scene-0.6)
         ("rust-bevy-sprite" ,rust-bevy-sprite-0.6)
         ("rust-bevy-tasks" ,rust-bevy-tasks-0.6)
         ("rust-bevy-text" ,rust-bevy-text-0.6)
         ("rust-bevy-transform" ,rust-bevy-transform-0.6)
         ("rust-bevy-ui" ,rust-bevy-ui-0.6)
         ("rust-bevy-utils" ,rust-bevy-utils-0.6)
         ("rust-bevy-window" ,rust-bevy-window-0.6)
         ("rust-bevy-winit" ,rust-bevy-winit-0.6)
         ("rust-ndk-glue" ,rust-ndk-glue-0.5))))
    (home-page "https://bevyengine.org")
    (synopsis
      "An internal Bevy crate used to facilitate optional dynamic linking via the 'dynamic' feature")
    (description
      "An internal Bevy crate used to facilitate optional dynamic linking via the
'dynamic' feature")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-dylib-0.6
  (package
    (name "rust-bevy-dylib")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy_dylib" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lszsrjmmw9gy34afvw2mv16zxm3fhdhgh9qjv6m7bv99g8zpr1p"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bevy-internal" ,rust-bevy-internal-0.6))))
    (home-page "https://bevyengine.org")
    (synopsis
      "Force the Bevy Engine to be dynamically linked for faster linking")
    (description
      "Force the Bevy Engine to be dynamically linked for faster linking")
    (license (list license:expat license:asl2.0))))

(define-public rust-bevy-0.6
  (package
    (name "rust-bevy")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bevy" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0dps194ag1wyazqi4zv9f1xi90zzd7azplfivvi6plxsyfi2wd4p"))))
    (build-system cargo-build-system)
    (native-inputs (list pkg-config))
    (inputs (list
             ;; for rust-alsa-sys
             alsa-lib
             ;; for rust-libudev-sys
             eudev))
    (arguments
      `(#:tests? #f ; error: couldn't read examples/shader/../../assets/shaders/game_of_life.wgsl: No such file or directory (os error 2)
        #:cargo-inputs
        (("rust-bevy-dylib" ,rust-bevy-dylib-0.6)
         ("rust-bevy-internal" ,rust-bevy-internal-0.6))
        #:cargo-development-inputs
        (("rust-anyhow" ,rust-anyhow-1)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-futures-lite" ,rust-futures-lite-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-ron" ,rust-ron-0.7)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://bevyengine.org")
    (synopsis
      "A refreshingly simple data-driven game engine and app framework")
    (description
      "This package provides a refreshingly simple data-driven game engine and app
framework")
    (license (list license:expat license:asl2.0))))
