(address . guix-patches@gnu.org)
* gnu/packages/crates-io (rust-async-channel-2): New variable.
(rust-async-io-2): New variable.
(rust-async-lock-3): New variable.
(rust-async-net-2): New variable.
(rust-async-pidfd-1): New variable.
(rust-event-listener-4): New variable.
(rust-event-listener-strategy-0.4): New variable.
(rust-event-futures-lite-2): New variable.
(rust-polling-3): New variable.
(rust-swayipc-async-2): New variable.
(rust-swayipc-types-1): Update to 1.3.1.
* gnu/packages/xdisorg (sworkstyle): New variable.
Change-Id: I6617c22b820b566a2de87ef59f5e6eac0c46dbf3
---
gnu/packages/crates-io.scm | 322 +++++++++++++++++++++++++++++++++++--
gnu/packages/xdisorg.scm | 34 ++++
2 files changed, 339 insertions(+), 17 deletions(-)
Toggle diff (483 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1bfd8fb143..56bf7295fc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18,7 +18,7 @@
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
-;;; Copyright © 2021 muradm <mail@muradm.net>
+;;; Copyright © 2021, 2024 muradm <mail@muradm.net>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021-2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz>
@@ -5457,6 +5457,34 @@ (define-public rust-async-broadcast-0.5
(description "This package provides async broadcast channels in Rust.")
(license (list license:expat license:asl2.0))))
+(define-public rust-async-channel-2
+ (package
+ (name "rust-async-channel")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "async-channel" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1337ywc1paw03rdlwh100kh8pa0zyp0nrlya8bpsn6zdqi5kz8qw"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-concurrent-queue" ,rust-concurrent-queue-2)
+ ("rust-event-listener" ,rust-event-listener-4)
+ ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.4)
+ ("rust-futures-core" ,rust-futures-core-0.3)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
+ #:cargo-development-inputs
+ (("rust-easy-parallel" ,rust-easy-parallel-3)
+ ("rust-futures-lite" ,rust-futures-lite-2)
+ ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+ (home-page "https://github.com/smol-rs/async-channel")
+ (synopsis "Async multi-producer multi-consumer channel")
+ (description "Async multi-producer multi-consumer channel.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-async-channel-1
(package
(name "rust-async-channel")
@@ -5701,6 +5729,51 @@ (define-public rust-async-h1-2
"This package provides an asynchronous HTTP 1.1 parser.")
(license (list license:expat license:asl2.0))))
+(define-public rust-async-io-2
+ (package
+ (name "rust-async-io")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "async-io" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "15q9ysdaz69pi3r6swms4xzii6xral2dda2d3fzjkly22mbrvva1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-async-lock" ,rust-async-lock-3)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-concurrent-queue" ,rust-concurrent-queue-2)
+ ("rust-futures-io" ,rust-futures-io-0.3)
+ ("rust-futures-lite" ,rust-futures-lite-2)
+ ("rust-parking" ,rust-parking-2)
+ ("rust-polling" ,rust-polling-3)
+ ("rust-rustix" ,rust-rustix-0.38)
+ ("rust-slab" ,rust-slab-0.4)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-waker-fn" ,rust-waker-fn-1)
+ ("rust-windows-sys" ,rust-windows-sys-0.48))
+ #:cargo-development-inputs
+ (("rust-async-channel" ,rust-async-channel-2)
+ ("rust-async-net" ,rust-async-net-2)
+ ("rust-blocking" ,rust-blocking-1)
+ ("rust-criterion" ,rust-criterion-0.4)
+ ("rust-getrandom" ,rust-getrandom-0.2)
+ ("rust-inotify" ,rust-inotify-0.10)
+ ("rust-signal-hook" ,rust-signal-hook-0.3)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-timerfd" ,rust-timerfd-1)
+ ("rust-uds-windows" ,rust-uds-windows-1))))
+ (home-page "https://github.com/smol-rs/async-io")
+ (synopsis "Async I/O and timers")
+ (description
+ "This crate provides two tools: Async, an adapter for standard networking
+types (and many other types) to use in async programs, and Timer, a future
+that expires at a point in time.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-async-io-1
(package
(name "rust-async-io")
@@ -5746,6 +5819,34 @@ (define-public rust-async-io-1
that expires at a point in time.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-async-lock-3
+ (package
+ (name "rust-async-lock")
+ (version "3.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "async-lock" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "031i8kx440v77cvr3lp4a5dcjdz92zpi4616akfvjgfmhwky89bi"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-event-listener" ,rust-event-listener-4)
+ ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.4)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
+ #:cargo-development-inputs
+ (("rust-async-channel" ,rust-async-channel-2)
+ ("rust-fastrand" ,rust-fastrand-2)
+ ("rust-futures-lite" ,rust-futures-lite-2)
+ ("rust-waker-fn" ,rust-waker-fn-1)
+ ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+ (home-page "https://github.com/smol-rs/async-lock")
+ (synopsis "Async synchronization primitives")
+ (description "This package provides Async synchronization primitives.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-async-lock-2
(package
(name "rust-async-lock")
@@ -5908,6 +6009,29 @@ (define-public rust-async-native-tls-0.3
(description "Native TLS using futures")
(license (list license:expat license:asl2.0))))
+(define-public rust-async-net-2
+ (package
+ (name "rust-async-net")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "async-net" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1xyc5a5vcp3a7h1q2lbfh79wz8136dig4q4x6g4w2ws8ml7h0j5r"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-async-io" ,rust-async-io-2)
+ ("rust-blocking" ,rust-blocking-1)
+ ("rust-futures-lite" ,rust-futures-lite-2))))
+ (home-page "https://github.com/smol-rs/async-net")
+ (synopsis "Async networking primitives for TCP/UDP/Unix communication")
+ (description
+ "Async networking primitives for TCP/UDP/Unix communication.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-async-net-1
(package
(name "rust-async-net")
@@ -5958,6 +6082,29 @@ (define-public rust-async-oneshot-0.5
async-aware oneshot channel.")
(license license:mpl2.0)))
+(define-public rust-async-pidfd-0.1
+ (package
+ (name "rust-async-pidfd")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "async-pidfd" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "168pylpf7n898szw32sva7kf9h3x1mnip54mfr8f7f4v55c705qj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-async-io" ,rust-async-io-1)
+ ("rust-libc" ,rust-libc-0.2))
+ #:cargo-development-inputs
+ (("rust-futures-lite" ,rust-futures-lite-1))))
+ (home-page "https://github.com/joshtriplett/async-pidfd")
+ (synopsis "Process file descriptors (pidfd) for Linux")
+ (description "Process file descriptors (pidfd) for Linux.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-async-process-1
(package
(name "rust-async-process")
@@ -25515,6 +25662,35 @@ (define-public rust-evdev-0.12
(description "This package provides evdev interface for Linux.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-event-listener-4
+ (package
+ (name "rust-event-listener")
+ (version "4.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "event-listener" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0vk4smw1vf871vi76af1zn7w69jg3zmpjddpby2qq91bkg21bck7"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-concurrent-queue" ,rust-concurrent-queue-2)
+ ("rust-parking" ,rust-parking-2)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+ ("rust-portable-atomic" ,rust-portable-atomic-1)
+ ("rust-portable-atomic-util" ,rust-portable-atomic-util-0.1))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.5)
+ ("rust-futures-lite" ,rust-futures-lite-2)
+ ("rust-waker-fn" ,rust-waker-fn-1)
+ ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+ (home-page "https://github.com/smol-rs/event-listener")
+ (synopsis "Notify async tasks or threads")
+ (description "Notify async tasks or threads.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-event-listener-2
(package
(name "rust-event-listener")
@@ -25539,6 +25715,28 @@ (define-public rust-event-listener-2
blocking data structures.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-event-listener-strategy-0.4
+ (package
+ (name "rust-event-listener-strategy")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "event-listener-strategy" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1lwprdjqp2ibbxhgm9khw7s7y7k4xiqj5i5yprqiks6mnrq4v3lm"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-4)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
+ #:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-2)
+ ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+ (home-page "https://github.com/smol-rs/event-listener")
+ (synopsis "Block or poll on event_listener easily")
+ (description "Block or poll on event_listener easily.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-executable-path-1
(package
(name "rust-executable-path")
@@ -28617,6 +28815,37 @@ (define-public rust-futures-join-macro-preview-0.3
@code{try_join!} macro.")
(license (list license:expat license:asl2.0))))
+(define-public rust-futures-lite-2
+ (package
+ (name "rust-futures-lite")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "futures-lite" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0qzgzks9hn0a8an8q0j4bqp9mkl82imyfqcb05nwm79jazdma4cw"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-fastrand" ,rust-fastrand-2)
+ ("rust-futures-core" ,rust-futures-core-0.3)
+ ("rust-futures-io" ,rust-futures-io-0.3)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-parking" ,rust-parking-2)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+ ("rust-waker-fn" ,rust-waker-fn-1))
+ #:cargo-development-inputs
+ (("rust-spin-on" ,rust-spin-on-0.1))))
+ (home-page "https://github.com/smol-rs/futures-lite")
+ (synopsis "Futures, streams, and async I/O combinators")
+ (description
+ "This crate is a subset of @code{futures} that compiles an order of
+magnitude faster, fixes minor warts in its API, fills in some obvious gaps,
+and removes almost all unsafe code from it.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-futures-lite-1
(package
(name "rust-futures-lite")
@@ -56285,6 +56514,39 @@ (define-public rust-polars-lazy-0.17
library.")
(license license:expat)))
+(define-public rust-polling-3
+ (package
+ (name "rust-polling")
+ (version "3.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "polling" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0cg5jf0xf5gkch1d9kg8w55rnnjssxcm9b9amk1ghdhgyvqnlfz5"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-concurrent-queue" ,rust-concurrent-queue-2)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+ ("rust-rustix" ,rust-rustix-0.38)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-windows-sys" ,rust-windows-sys-0.48))
+ #:cargo-development-inputs
+ (("rust-easy-parallel" ,rust-easy-parallel-3)
+ ("rust-fastrand" ,rust-fastrand-2)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-signal-hook" ,rust-signal-hook-0.3))))
+ (home-page "https://github.com/smol-rs/polling")
+ (synopsis
+ "Portable interface to epoll, kqueue, event ports, and IOCP")
+ (description
+ "This package provides a portable interface to @code{epoll},
+@code{kqueue}, @code{event ports}, and @code{IOCP}.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-polling-2
(package
(name "rust-polling")
@@ -75542,6 +75804,33 @@ (define-public rust-swayipc-2
("rust-swayipc-command-builder" ,rust-swayipc-command-builder-0.1)
("rust-serde-json" ,rust-serde-json-1))))))
+(define-public rust-swayipc-async-2
+ (package
+ (name "rust-swayipc-async")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "swayipc-async" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1yyv7jwsr2z5azjal5hj8hgxb06dqrnxsaxrnjfjnp1pmwvjch48"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-async-io" ,rust-async-io-2)
+ ("rust-async-pidfd" ,rust-async-pidfd-0.1)
+ ("rust-futures-lite" ,rust-futures-lite-2)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-swayipc-types" ,rust-swayipc-types-1))))
+ (home-page "https://github.com/jaycefayne/swayipc-rs")
+ (synopsis "A library for controlling sway through its IPC interface")
+ (description
+ "This package provides a library for controlling sway through its IPC
+interface.")
+ (license license:expat)))
+
(define-public rust-swayipc-command-builder-0.1
(package
(name "rust-swayipc-command-builder")
@@ -75563,28 +75852,27 @@ (define-public rust-swayipc-command-builder-0.1
(define-public rust-swayipc-types-1
(package
- (name "rust-swayipc-types")
- (version "1.2.0")
+ (name "rust-swayipc-types")
+ (version "1.3.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "swayipc-types" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "13lj6jyyxg41r9g0b07y8yd7ygy5gih61w5v48bpksvfdzhwwn55"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-thiserror" ,rust-thiserror-1))))
- (home-page "https://github.com/jaycefayne/swayipc-rs")
- (synopsis "A library containing Type defintions from sway's IPC interface")
- (description
- "This package provides a library containing Type defintions from sway's IPC
-interface")
- (license license:expat)))
+ (base32 "1fwzdifnaj9ayz6fq96vcxpzr4dqhq1zgbqk3xbgsdlg89b2ddmi"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-thiserror" ,rust-thiserror-1))))
+ (home-page "https://github.com/jaycefayne/swayipc-rs")
+ (synopsis "A library containing Type defintions from sway's IPC interface")
+ (description
+ "This package provides a library containing Type defintions from sway's IPC
+interface.")
+ (license license:expat)))
(define-public rust-symlink-0.1
(package
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 449cbbaf6e..c41f8ac3cd 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -61,6 +61,7 @@
;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Mehmet Tekman <mtekman89@gmail.com>
+;;; Copyright © 2024 muradm <mail@muradm.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -78,6 +79,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages xdisorg)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
@@ -103,6 +105,7 @@ (define-module (gnu packages xdisorg)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
@@ -3800,3 +3803,34 @@ (define-public show-me-the-key
and works under both Xorg and Wayland (via @code{libinput}), inspired by
@code{python-screenkey}.")
(license license:asl2.0)))
+
+(define-public sworkstyle
+ (package
+ (name "sworkstyle")
+ (version "1.3.5")
+ (home-page "https://github.com/lyr-7d1h/swayest_workstyle")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0idaksm5hwikh7y7vsksd5cxl62mab5mhprgrcgpaggv5h1ankhf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-async-std" ,rust-async-std-1)
+ ("rust-ctrlc" ,rust-ctrlc-3)
+ ("rust-dirs" ,rust-dirs-4)
+ ("rust-fslock" ,rust-fslock-0.2)
+ ("rust-futures" ,rust-futures-0.3)
+ ("rust-inotify" ,rust-inotify-0.10)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-simple-logger" ,rust-simple-logger-2)
+ ("rust-swayipc-async" ,rust-swayipc-async-2)
+ ("rust-toml" ,rust-toml-0.5))))
+ (synopsis "Your workspace shall never contain an empty icon again!")
+ (description "Map workspace name to icons defined depending on the windows
+inside of the workspace.")
+ (license license:expat)))
base-commit: 25bcf4eda05b501758b11a53823867dc500ac7d1
--
2.41.0