@@ -32,6 +32,7 @@
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Paul Alesius <paul@unnservice.com>
;;; Copyright © 2023 Arnav Andrew Jose <arnav.jose@gmail.com>
+;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2917,6 +2918,112 @@ (define-public rust-allocator-api2-0.2
(description "Mirror of Rust's allocator API.")
(license (list license:expat license:asl2.0))))
+(define-public rust-alsa-0.8
+ (package
+ (name "rust-alsa")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "alsa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "02k93vj8h789qx6as8yzi7r2wycqgmcsmk6m1pbb99dkwkhhjwww"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;Fails integration tests
+ #:cargo-inputs (("rust-alsa-sys" ,rust-alsa-sys-0.3)
+ ("rust-bitflags" ,rust-bitflags-2)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-nix" ,rust-nix-0.26))))
+ (inputs (list alsa-lib))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/diwic/alsa-rs")
+ (synopsis "Thin but safe wrappers for ALSA (Linux sound API) in Rust")
+ (description
+ "Thin but safe wrappers for ALSA in Rust which is the most common
API for
+accessing audio devices on Linux.")
+ (license (list license:asl2.0 license:expat))))
+
+(define-public rust-alsa-0.7
+ (package
+ (inherit rust-alsa-0.8)
+ (name "rust-alsa")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "alsa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0iwbdgb6lr81iji9sr4f91mys24pia5avnkgbkv8kxzhvkc2lmp2"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #: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.24))))))
+
+(define-public rust-alsa-0.6
+ (package
+ (inherit rust-alsa-0.8)
+ (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
+ `(#:tests? #f
+ #: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))))))
+
+(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)
+ (arguments
+ `(#:tests? #f ;doc tests fail due to scoping issues
+ #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))
+ (inputs (list alsa-lib))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/diwic/alsa-sys")
+ (synopsis
+ "FFI bindings for the ALSA project (Advanced Linux Sound
Architecture)")
+ (description
+ "This package provides raw FFI bindings for ALSA for the rust-alsa
+crate.")
+ (license license:expat)))
+
+(define-public rust-alsa-sys-0.1
+ (package
+ (inherit rust-alsa-sys-0.3)
+ (name "rust-alsa-sys")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "alsa-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
"0n3xr2msblmqlsx313b2y2v9hamqh0hp43v23fp1b3znkszwpvdh"))))))
+