diff mbox series

[bug#66548] gnu: Add rust-alsa.

Message ID c1385520-9533-4e6f-9fff-612f4a574c58@runbox.com
State New
Headers show
Series [bug#66548] gnu: Add rust-alsa. | expand

Commit Message

Jaeme Sifat Oct. 14, 2023, 7:26 p.m. UTC
From ecbe163ccbc452a4173da9550fb222b5fb1d4ca4 Mon Sep 17 00:00:00 2001
From: jaeme <jaeme@runbox.com>
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 <jaeme@runbox.com>
---
  gnu/packages/crates-io.scm | 144 +++++++++++++++++++++++++++++++------
  1 file changed, 124 insertions(+), 20 deletions(-)

  (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
diff mbox series

Patch

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 <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"))))))
+