diff --git a/sakura/packages/crates-io.scm b/sakura/packages/crates-io.scm index a996b5b..2c41706 100644 --- a/sakura/packages/crates-io.scm +++ b/sakura/packages/crates-io.scm @@ -10,16 +10,42 @@ #:use-module (guix utils)) +(define-public rust-tokio-pipe-0.2 + (package + (name "rust-tokio-pipe") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-pipe" version)) + (file-name (string-append name "-" version ".tar.gz")) + (modules '((guix build utils))) + (sha256 + (base32 + "1117ahamrgc23qc6g22i1cflfpg3pfs498581gxbhqdxzx5sh4zj")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs (("rust-libc" ,rust-libc-0.2) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)))) + (home-page "https://github.com/yskszk63/tokio-pipe") + (synopsis "Asynchronous pipe(2) library using tokio.") + (description "Asynchronous pipe(2) library using tokio.") + (license license:expat))) + + + (define-public rust-synstructure-0.13 (package (inherit rust-synstructure-0.12) (name "rust-synstructure") (version "0.13.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "synstructure" version)) - (file-name (string-append name "-" version ".tar.gz")) + (source + (origin + (method url-fetch) + (uri (crate-uri "synstructure" version)) + (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (sha256 (base32 @@ -31,11 +57,11 @@ (inherit rust-libc-0.2) (name "rust-libc") (version "0.2.155") - (source - (origin - (method url-fetch) - (uri (crate-uri "libc" version)) - (file-name (string-append name "-" version ".tar.gz")) + (source + (origin + (method url-fetch) + (uri (crate-uri "libc" version)) + (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (sha256 (base32 @@ -47,11 +73,11 @@ (inherit rust-cfg-aliases-0.1) (name "rust-cfg-aliases") (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "cfg_aliases" version)) - (file-name (string-append name "-" version ".tar.gz")) + (source + (origin + (method url-fetch) + (uri (crate-uri "cfg_aliases" version)) + (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (sha256 (base32 @@ -63,11 +89,11 @@ (inherit rust-nix-0.28) (name "rust-nix") (version "0.29.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "nix" version)) - (file-name (string-append name "-" version ".tar.gz")) + (source + (origin + (method url-fetch) + (uri (crate-uri "nix" version)) + (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (sha256 (base32 @@ -85,97 +111,97 @@ (define-public rust-custom-debug-derive-0.6 (package - (name "rust-custom-debug-derive") - (version "0.6.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "custom_debug_derive" version)) - (file-name (string-append name "-" version ".tar.gz")) + (name "rust-custom-debug-derive") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "custom_debug_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (sha256 (base32 "0sagiyiw5h0yi0wmc8dgqyrk4xy9zb0mwinbagi10ff7745l8cgp")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f - #:cargo-inputs (("rust-darling" ,rust-darling-0.20) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs (("rust-darling" ,rust-darling-0.20) ("rust-itertools" ,rust-itertools-0.12) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote-1" ,rust-quote-1) ("rust-syn" ,rust-syn-2) ("rust-synstructure" ,rust-synstructure-0.13)))) - (home-page "https://github.com/panicbit/custom_debug") - (synopsis "Derive Debug with a custom format per field") - (description "todo") - (license license:expat))) + (home-page "https://github.com/panicbit/custom_debug") + (synopsis "Derive Debug with a custom format per field") + (description "todo") + (license license:expat))) (define-public rust-custom-debug-0.6 (package - (name "rust-custom-debug") - (version "0.6.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "custom_debug" version)) - (file-name (string-append name "-" version ".tar.gz")) + (name "rust-custom-debug") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "custom_debug" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0mnj2k1k1mjg34f2zcyyiqp205fjkpim5h3nf2f90gjh1szibrql")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f - #:cargo-inputs (("rust-custom-debug-derive" ,rust-custom-debug-derive-0.6)))) - (home-page "https://github.com/panicbit/custom_debug") - (synopsis "Derive Debug with a custom format per field") - (description "todo") - (license license:expat))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs (("rust-custom-debug-derive" ,rust-custom-debug-derive-0.6)))) + (home-page "https://github.com/panicbit/custom_debug") + (synopsis "Derive Debug with a custom format per field") + (description "todo") + (license license:expat))) (define-public rust-bluer-0.17 (package - (name "rust-bluer") - (version "0.17.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "bluer" version)) - (file-name (string-append name "-" version ".tar.gz")) + (name "rust-bluer") + (version "0.17.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "bluer" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1ysgxnkijfly78kf9rxg827a9qbndpfdc65cndybc51cv1f6mvz9")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f - #:cargo-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-hex" ,rust-hex-0.4) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-macaddr" ,rust-macaddr-1) - ("rust-nix" ,rust-nix-0.29) - ("rust-num-derive" ,rust-num-derive-0.4) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-strum" ,rust-strum-0.26) - ("rust-tokio" ,rust-tokio-1) - ("rust-uuid" ,rust-uuid-1) - ("rust-custom-debug" ,rust-custom-debug-0.6) - ("rust-dbus" ,rust-dbus-0.9) - ("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5) - ("rust-dbus-tokio" ,rust-dbus-tokio-0.7) - ("rust-displaydoc" ,rust-displaydoc-0.2) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-pin-project" ,rust-pin-project-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-tokio-stream" ,rust-tokio-stream-0.1)) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs (("rust-futures" ,rust-futures-0.3) + ("rust-hex" ,rust-hex-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-macaddr" ,rust-macaddr-1) + ("rust-nix" ,rust-nix-0.29) + ("rust-num-derive" ,rust-num-derive-0.4) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-strum" ,rust-strum-0.26) + ("rust-tokio" ,rust-tokio-1) + ("rust-uuid" ,rust-uuid-1) + ("rust-custom-debug" ,rust-custom-debug-0.6) + ("rust-dbus" ,rust-dbus-0.9) + ("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5) + ("rust-dbus-tokio" ,rust-dbus-tokio-0.7) + ("rust-displaydoc" ,rust-displaydoc-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pin-project" ,rust-pin-project-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio-stream" ,rust-tokio-stream-0.1)) #:cargo-development-inputs (("rust-clap" ,rust-clap-4) ("rust-env-logger" ,rust-env-logger-0.11) ("rust-rand" ,rust-rand-0.8) ("rust-tokio" ,rust-tokio-1)))) (inputs (list bluez)) - (home-page "https://github.com/bluez/bluer") - (synopsis "Official Rust interface to the Linux Bluetooth protocol stack (BlueZ)") - (description "todo") - (license license:bsd-2))) + (home-page "https://github.com/bluez/bluer") + (synopsis "Official Rust interface to the Linux Bluetooth protocol stack (BlueZ)") + (description "todo") + (license license:bsd-2))) diff --git a/sakura/packages/wm.scm b/sakura/packages/wm.scm index 6c0074c..ccafcbe 100644 --- a/sakura/packages/wm.scm +++ b/sakura/packages/wm.scm @@ -8,6 +8,9 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) + #:use-module (gnu packages rust) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) #:use-module (gnu packages maths) #:use-module (gnu packages image) #:use-module (gnu packages cmake) @@ -19,15 +22,63 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages freedesktop) #:use-module (gnu packages version-control) + #:use-module (sakura packages crates-io) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build utils) #:use-module (guix build-system meson) + #:use-module (guix build-system cargo) #:use-module (guix utils)) +(define-public wl-clip-persist + (package + (name "wl-clip-persist") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Linus789/wl-clip-persist") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1ycsp101qni18ws83srhvsv1ril7f0rl8s7wh1b7a15k2sq4fn3l")) + (file-name (git-file-name name version)))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs (("rust-log" ,rust-log-0.4) + ("rust-env-logger" ,rust-env-logger-0.11) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-4) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-pipe" ,rust-tokio-pipe-0.2) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-wayrs-client" ,rust-wayrs-client-1) + ("rust-wayrs-protocols" ,rust-wayrs-protocols-0.13) + ("rust-fancy-regex" ,rust-fancy-regex-0.13) + ("rust-libc" ,rust-libc-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Cargo.toml" + (("1.37") "^1") ; tokio + (("1.1") "^1") ; wayrs-client + (("0.14") "0.13")) ; wayrs-protocols + ))))) + (native-inputs + (list rust + pkg-config)) + (home-page "https://github.com/Linus789/wl-clip-persist") + (synopsis "Keep Wayland clipboard even after programs close.") + (description "Keep Wayland clipboard even after programs close.") + (license license:expat))) + + (define-public vkroots (let ((commit "d5ef31abc7cb5c69aee4bcb67b10dd543c1ff7ac")) (package