(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)))