From 8c125313ed933573be83e8c2ae66284921192f1e Mon Sep 17 00:00:00 2001 From: Rutherther Date: Sun, 18 Aug 2024 14:25:53 +0200 Subject: [PATCH] feat: add mpris-ctl, sequence-detector --- ruther/packages/ruther.scm | 188 +++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 ruther/packages/ruther.scm diff --git a/ruther/packages/ruther.scm b/ruther/packages/ruther.scm new file mode 100644 index 0000000..a7acf28 --- /dev/null +++ b/ruther/packages/ruther.scm @@ -0,0 +1,188 @@ +(define-module (ruther packages ruther) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages glib) + #:use-module (gnu packages pkg-config) + #:use-module (guix build-system cargo) + ) +(define-public rust-from-variants-impl-1 + (package + (name "rust-from-variants-impl") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "from_variants_impl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17p6djij0ar0c9dlfnq4dj9bgmq16fcsf3winjr9cv8fm12fd9am")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-darling" ,rust-darling-0.14) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/TedDriggs/from_variants") + (synopsis "Internal helper crate for from_variants crate") + (description + "This package provides Internal helper crate for from_variants crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-from-variants-1 + (package + (name "rust-from-variants") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "from_variants" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1wmv85523z261vwmx1iqjykf0dp8fvy9kgjxj0c7cs2p427rr1af")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-from-variants-impl" ,rust-from-variants-impl-1)))) + (home-page "https://github.com/TedDriggs/from_variants") + (synopsis + "Rust macro to automatically generate conversions for newtype enums") + (description + "This package provides Rust macro to automatically generate conversions for newtype enums.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-enum-kinds-0.5 + (package + (name "rust-enum-kinds") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "enum-kinds" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0qnlgzlsydnxsgcf2lkvqsrmdxignjkam1fsnfd4c7b8amls2h2f")))) + (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/Soft/enum-kinds") + (synopsis + "Generate enums with matching variants but without any of the associated data") + (description + "This package provides Generate enums with matching variants but without any of the associated data.") + (license license:expat))) + +(define-public rust-derive-is-enum-variant-0.1 + (package + (name "rust-derive-is-enum-variant") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "derive_is_enum_variant" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15w18649m4h47pdpr04id0wv8br8bg606zvrafcrfijihicqib6h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-heck" ,rust-heck-0.3) + ("rust-quote" ,rust-quote-0.3) + ("rust-syn" ,rust-syn-0.11)))) + (home-page "https://github.com/fitzgen/derive_is_enum_variant") + (synopsis + "Automatically derives `is_dog` and `is_cat` methods for `enum Pet { Dog, Cat }`") + (description + "This package provides Automatically derives `is_dog` and `is_cat` methods for `enum Pet { Dog, Cat }`.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-mpris-2 + (package + (name "rust-mpris") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "mpris" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1svzblilq3kxgra63axl3wibsnl9g8p6b8q1x401wsw2lxazkkjm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-dbus" ,rust-dbus-0.9) + ("rust-derive-is-enum-variant" ,rust-derive-is-enum-variant-0.1) + ("rust-enum-kinds" ,rust-enum-kinds-0.5) + ("rust-from-variants" ,rust-from-variants-1) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-termion" ,rust-termion-2)))) + (home-page "https://github.com/Mange/mpris-rs") + (synopsis "Idiomatic MPRIS D-Bus interface library") + (description + "This package provides Idiomatic MPRIS D-Bus interface library.") + (license license:asl2.0))) + +(define-public mpris-ctl + (package + (name "mpris-ctl") + (version "0.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Rutherther/mpris-ctl.git") + (commit "c5731a17d99553d79810791e5a5aff61344669d5"))) + (sha256 + (base32 "0jkfdyx3xcvv5nlzgb9qd15j4km9jfaj4x8rlf2il6vclmknj4xz")))) + (build-system cargo-build-system) + (native-inputs + (list pkg-config)) + (inputs + (list dbus)) + (arguments + `(#:cargo-inputs (("rust-clap" ,rust-clap-4) + ("rust-futures" ,rust-futures-0.3) + ("rust-mpris" ,rust-mpris-2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-util", rust-tokio-util-0.7)))) + (synopsis "Lightweight mpris control client") + (description "Lightweight mpris control client") + (home-page "https://github.com/Rutherther/mpris-ctl") + (license #f))) + +;; (define-configuration sequence-detector-config) + + +(define-public sequence-detector + (package + (name "sequence-detector") + (version "0.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Rutherther/sequence-detector.git") + (commit "c447c0d83877907c3ade8a2e9b4f659d4ef92904"))) + (sha256 + (base32 "06719x0fv8arpld0n1kwc0v507gpbqjp3sx3kin72441fq9qi3q6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-clap" ,rust-clap-4) + ("rust-config" ,rust-config-0.13) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-derive" ,rust-serde-derive-1)))) + (synopsis "Detects sequences of inputs in short time") + (description "For example, if you want to have more control +out of your headset, this gives more control by listening for a +sequence, such as clicking a button two times.") + (home-page "https://github.com/Rutherther/mpris-ctl") + (license #f))) -- 2.48.1