aports/community/ncspot/use-notify-rust-with-zbus.patch
2023-04-23 22:26:53 +00:00

304 lines
7.2 KiB
Diff

Patch-Source: https://github.com/hrkfdn/ncspot/pull/1127
--
From 6a2f858c17b119dfe8d8e48aef48fac8293bcf1f Mon Sep 17 00:00:00 2001
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sun, 23 Apr 2023 21:38:16 +0200
Subject: [PATCH] Use notify-rust with zbus instead of dbus
zbus is already used for MPRIS since
b0db0da3efe06a7cc358bf03bd00ac6d563e8b9a.
This saves ~0.5 MiB in release build with LTO.
---
Cargo.lock | 173 ++++++++++++++++++++++++++++++++++++++++++++++-------
Cargo.toml | 4 +-
2 files changed, 154 insertions(+), 23 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 42691ec4..6f15dea9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -162,6 +162,72 @@ dependencies = [
"futures-core",
]
+[[package]]
+name = "async-channel"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
+dependencies = [
+ "concurrent-queue",
+ "event-listener",
+ "futures-core",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
+dependencies = [
+ "async-lock",
+ "async-task",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite",
+ "slab",
+]
+
+[[package]]
+name = "async-fs"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
+dependencies = [
+ "async-lock",
+ "autocfg",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-io"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
+dependencies = [
+ "async-lock",
+ "autocfg",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-lite",
+ "log",
+ "parking",
+ "polling",
+ "rustix",
+ "slab",
+ "socket2",
+ "waker-fn",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+dependencies = [
+ "event-listener",
+]
+
[[package]]
name = "async-recursion"
version = "1.0.4"
@@ -173,6 +239,12 @@ dependencies = [
"syn 2.0.13",
]
+[[package]]
+name = "async-task"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
+
[[package]]
name = "async-trait"
version = "0.1.68"
@@ -184,6 +256,12 @@ dependencies = [
"syn 2.0.13",
]
+[[package]]
+name = "atomic-waker"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
+
[[package]]
name = "autocfg"
version = "1.1.0"
@@ -267,6 +345,21 @@ dependencies = [
"generic-array",
]
+[[package]]
+name = "blocking"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+dependencies = [
+ "async-channel",
+ "async-lock",
+ "async-task",
+ "atomic-waker",
+ "fastrand",
+ "futures-lite",
+ "log",
+]
+
[[package]]
name = "bumpalo"
version = "3.12.0"
@@ -462,6 +555,15 @@ dependencies = [
"windows-sys 0.45.0",
]
+[[package]]
+name = "concurrent-queue"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
+dependencies = [
+ "crossbeam-utils",
+]
+
[[package]]
name = "cookie"
version = "0.16.2"
@@ -775,17 +877,6 @@ dependencies = [
"syn 1.0.109",
]
-[[package]]
-name = "dbus"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
-dependencies = [
- "libc",
- "libdbus-sys",
- "winapi",
-]
-
[[package]]
name = "derivative"
version = "2.2.0"
@@ -1096,6 +1187,21 @@ version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+[[package]]
+name = "futures-lite"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
+]
+
[[package]]
name = "futures-macro"
version = "0.3.28"
@@ -1528,15 +1634,6 @@ version = "0.2.141"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
-[[package]]
-name = "libdbus-sys"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f8d7ae751e1cb825c840ae5e682f59b098cdfd213c350ac268b61449a5f58a0"
-dependencies = [
- "pkg-config",
-]
-
[[package]]
name = "libloading"
version = "0.7.4"
@@ -2035,10 +2132,11 @@ version = "4.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bfa211d18e360f08e36c364308f394b5eb23a6629150690e109a916dc6f610e"
dependencies = [
- "dbus",
"log",
"mac-notification-sys",
+ "serde",
"tauri-winrt-notification",
+ "zbus",
]
[[package]]
@@ -2389,6 +2487,12 @@ dependencies = [
"winreg 0.5.1",
]
+[[package]]
+name = "parking"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
+
[[package]]
name = "parking_lot"
version = "0.11.2"
@@ -2520,6 +2624,22 @@ dependencies = [
"dirs-next 1.0.2",
]
+[[package]]
+name = "polling"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+dependencies = [
+ "autocfg",
+ "bitflags",
+ "cfg-if",
+ "concurrent-queue",
+ "libc",
+ "log",
+ "pin-project-lite",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "portaudio-rs"
version = "0.3.2"
@@ -3665,6 +3785,12 @@ version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+[[package]]
+name = "waker-fn"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+
[[package]]
name = "walkdir"
version = "2.3.3"
@@ -4174,7 +4300,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dc29e76f558b2cb94190e8605ecfe77dd40f5df8c072951714b4b71a97f5848"
dependencies = [
"async-broadcast",
+ "async-executor",
+ "async-fs",
+ "async-io",
+ "async-lock",
"async-recursion",
+ "async-task",
"async-trait",
"byteorder",
"derivative",
diff --git a/Cargo.toml b/Cargo.toml
index 87040927..ef4aaf14 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -71,8 +71,8 @@ version = "0.20.0"
[dependencies.notify-rust]
default-features = false
version = "4"
-# Use dbus, which we already depend on, instead of zbus.
-features = ["d"]
+# Use zbus, which we already depend on, instead of dbus.
+features = ["z"]
optional = true
[features]