Subject: [bug#66579] [PATCH v2 09/15] gnu: Add rust-librespot-core.

From: Steve George <[email-masked]>
Date: Fri, 20 Oct 2023 21:27:55 +0100

* gnu/packages/crates-io.scm (rust-librespot-core): New variable.
---
 gnu/packages/crates-io.scm | 60 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9aa975cf42..ffc7891ee8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35587,6 +35587,66 @@ (define-public rust-libradicl-0.4
 single-cell and single-nucleus sequencing data.")
     (license license:bsd-3)))
 
+(define-public rust-librespot-core-0.4
+  (package
+    (name "rust-librespot-core")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "librespot-core" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0vaxnnlnsx8bmphiikm4kb99795jch0xxifr0azl9rl8b3r4jqq4"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list #:cargo-test-flags ``("--release" "--" "--skip=test_connection"
+                                 "--skip=test_apresolve"
+                                 "--skip=test_apresolve_port_443")
+           #:skip-build? #f
+           #:cargo-inputs `(("rust-aes" ,rust-aes-0.6)
+                            ("rust-base64" ,rust-base64-0.13)
+                            ("rust-byteorder" ,rust-byteorder-1)
+                            ("rust-bytes" ,rust-bytes-1)
+                            ("rust-form-urlencoded" ,rust-form-urlencoded-1)
+                            ("rust-futures-core" ,rust-futures-core-0.3)
+                            ("rust-futures-util" ,rust-futures-util-0.3)
+                            ("rust-hmac" ,rust-hmac-0.11)
+                            ("rust-http" ,rust-http-0.2)
+                            ("rust-httparse" ,rust-httparse-1)
+                            ("rust-hyper" ,rust-hyper-0.14)
+                            ("rust-hyper-proxy" ,rust-hyper-proxy-0.9)
+                            ("rust-librespot-protocol" ,rust-librespot-protocol-0.4)
+                            ("rust-log" ,rust-log-0.4)
+                            ("rust-num-bigint" ,rust-num-bigint-0.4)
+                            ("rust-num-integer" ,rust-num-integer-0.1)
+                            ("rust-num-traits" ,rust-num-traits-0.2)
+                            ("rust-once-cell" ,rust-once-cell-1)
+                            ("rust-pbkdf2" ,rust-pbkdf2-0.8)
+                            ("rust-priority-queue" ,rust-priority-queue-1)
+                            ("rust-protobuf" ,rust-protobuf-2)
+                            ("rust-rand" ,rust-rand-0.8)
+                            ("rust-serde" ,rust-serde-1)
+                            ("rust-serde-json" ,rust-serde-json-1)
+                            ("rust-sha-1" ,rust-sha-1-0.10)
+                            ("rust-shannon" ,rust-shannon-0.2)
+                            ("rust-thiserror" ,rust-thiserror-1)
+                            ("rust-tokio" ,rust-tokio-1)
+                            ("rust-tokio-stream" ,rust-tokio-stream-0.1)
+                            ("rust-tokio-util" ,rust-tokio-util-0.7)
+                            ("rust-url" ,rust-url-2)
+                            ("rust-uuid" ,rust-uuid-1)
+                            ("rust-vergen" ,rust-vergen-3))
+           #:cargo-development-inputs `(("rust-env-logger" ,rust-env-logger-0.9)
+                                        ("rust-tokio" ,rust-tokio-1))))
+    (home-page "https://github.com/librespot-org/librespot")
+    (synopsis "The core functionality provided by librespot")
+    (description
+     "Part of Librespot, an open source client library for
+Spotify.  This package contains core functionality, such as authentication,
+channel and session.")
+    (license license:expat)))
+
 (define-public rust-librespot-protocol-0.4
   (package
     (name "rust-librespot-protocol")
-- 
2.41.0