From ecbe163ccbc452a4173da9550fb222b5fb1d4ca4 Mon Sep 17 00:00:00 2001 From: jaeme Date: Sat, 14 Oct 2023 14:55:03 -0400 Subject: [PATCH] gnu: Add rust-alsa. * gnu/packages/crates-io.scm: Update copyright header. * gnu/packages/crates-io.scm (rust-alsa-0.8): New variable. * gnu/packages/crates-io.scm (rust-alsa-0.7): New variable. * gnu/packages/crates-io.scm (rust-alsa-0.6): New variable. * gnu/packages/crates-io.scm (rust-alsa-sys-0.3): New variable * gnu/packages/crates-io.scm (rust-alsa-sys-0.1): New variable * gnu/packages/crates.io.scm (rust-bitflags-2): Update to 2.4.0 Signed-off-by: jaeme ---  gnu/packages/crates-io.scm | 144 +++++++++++++++++++++++++++++++------  1 file changed, 124 insertions(+), 20 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 80fb92ec82..0611ad464d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32,6 +32,7 @@  ;;; Copyright © 2022 Paul A. Patience  ;;; Copyright © 2022 Paul Alesius  ;;; Copyright © 2023 Arnav Andrew Jose +;;; Copyright © 2023 Jaeme Sifat  ;;;  ;;; 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")))))) +  (define-public rust-always-assert-0.1    (package      (name "rust-always-assert") @@ -7736,38 +7843,35 @@ (define-public rust-bitfield-0.13  (define-public rust-bitflags-2    (package      (name "rust-bitflags") -    (version "2.3.3") +    (version "2.4.0")      (source       (origin         (method url-fetch)         (uri (crate-uri "bitflags" version))         (file-name (string-append name "-" version ".tar.gz"))         (sha256 -        (base32 "0hifjw3191g3w5cwqqvbx8knrr3zchdwfc3rs6mn11p5si9yf2v3")))) +        (base32 "0dc6xa7flfl59makmhixjcrslwlvdxxwrgxbr8p7bkvz53k2ls5l"))))      (build-system cargo-build-system)      (arguments -     `(#:tests? #f      ; Not all files included. -       #:cargo-inputs -       (("rust-arbitrary" ,rust-arbitrary-1) -        ("rust-bytemuck" ,rust-bytemuck-1) -        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) -        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) -        ("rust-serde" ,rust-serde-1)) -       #:cargo-development-inputs -       (("rust-arbitrary" ,rust-arbitrary-1) -        ("rust-bytemuck" ,rust-bytemuck-1) -        ("rust-rustversion" ,rust-rustversion-1) -        ("rust-serde-derive" ,rust-serde-derive-1) -        ("rust-serde-json" ,rust-serde-json-1) -        ("rust-serde-test" ,rust-serde-test-1) -        ("rust-trybuild" ,rust-trybuild-1) -        ("rust-zerocopy" ,rust-zerocopy-0.6)))) +     `(#:tests? #f ;Not all files included. +       #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1) +                       ("rust-bytemuck" ,rust-bytemuck-1) +                       ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) +                       ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) +                       ("rust-serde" ,rust-serde-1)) +       #:cargo-development-inputs (("rust-arbitrary" ,rust-arbitrary-1) +                                   ("rust-bytemuck" ,rust-bytemuck-1) +                                   ("rust-rustversion" ,rust-rustversion-1) +                                   ("rust-serde-derive" ,rust-serde-derive-1) +                                   ("rust-serde-json" ,rust-serde-json-1) +                                   ("rust-serde-test" ,rust-serde-test-1) +                                   ("rust-trybuild" ,rust-trybuild-1) +                                   ("rust-zerocopy" ,rust-zerocopy-0.6))))      (home-page "https://github.com/bitflags/bitflags")      (synopsis "Macro to generate structures which behave like bitflags")      (description "This package provides a macro to generate structures which  behave like a set of bitflags.") -    (license (list license:asl2.0 -                   license:expat)))) +    (license (list license:asl2.0 license:expat))))  (define-public rust-bitflags-1    (package -- 2.34.1