mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-30 01:12:58 +02:00
New package: cosmic-session-1.0.0.alpha.1
This commit is contained in:
parent
7d45852808
commit
a4c99c0791
4 changed files with 210 additions and 1 deletions
|
@ -1 +0,0 @@
|
||||||
COSMIC-Desktop
|
|
182
srcpkgs/cosmic-session/patches/0001-systemd.patch
Normal file
182
srcpkgs/cosmic-session/patches/0001-systemd.patch
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
From 6fbc64043fccf9b2b880904bc3511e0428046026 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Foxinatel <nathanielma5on@yahoo.com>
|
||||||
|
Date: Fri, 9 Aug 2024 17:53:06 +0100
|
||||||
|
Subject: [PATCH 1/3] Fix compile-time errors with --no-default-features
|
||||||
|
|
||||||
|
---
|
||||||
|
src/main.rs | 37 ++++++++++++++++---------------------
|
||||||
|
1 file changed, 16 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main.rs b/src/main.rs
|
||||||
|
index 6f64eb1..bf6e2e8 100644
|
||||||
|
--- a/src/main.rs
|
||||||
|
+++ b/src/main.rs
|
||||||
|
@@ -21,6 +21,7 @@ use cosmic_notifications_util::{DAEMON_NOTIFICATIONS_FD, PANEL_NOTIFICATIONS_FD}
|
||||||
|
use futures_util::StreamExt;
|
||||||
|
use launch_pad::{process::Process, ProcessManager};
|
||||||
|
use service::SessionRequest;
|
||||||
|
+#[cfg(feature = "systemd")]
|
||||||
|
use systemd::{is_systemd_used, spawn_scope};
|
||||||
|
use tokio::{
|
||||||
|
net::UnixStream,
|
||||||
|
@@ -58,10 +59,9 @@ async fn main() -> Result<()> {
|
||||||
|
let session_tx_clone = session_tx.clone();
|
||||||
|
let _conn = ConnectionBuilder::session()?
|
||||||
|
.name("com.system76.CosmicSession")?
|
||||||
|
- .serve_at(
|
||||||
|
- "/com/system76/CosmicSession",
|
||||||
|
- service::SessionService { session_tx },
|
||||||
|
- )?
|
||||||
|
+ .serve_at("/com/system76/CosmicSession", service::SessionService {
|
||||||
|
+ session_tx,
|
||||||
|
+ })?
|
||||||
|
.build()
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
@@ -135,8 +135,8 @@ async fn start(
|
||||||
|
.await
|
||||||
|
.expect("failed to start settings daemon");
|
||||||
|
|
||||||
|
- // notifying the user service manager that we've reached the graphical-session.target,
|
||||||
|
- // which should only happen after:
|
||||||
|
+ // notifying the user service manager that we've reached the
|
||||||
|
+ // graphical-session.target, which should only happen after:
|
||||||
|
// - cosmic-comp is ready
|
||||||
|
// - we've set any related variables
|
||||||
|
// - cosmic-settings-daemon is ready
|
||||||
|
@@ -379,22 +379,17 @@ async fn start_component(
|
||||||
|
}
|
||||||
|
.instrument(stderr_span)
|
||||||
|
})
|
||||||
|
- .with_on_start(move |pman, pkey, _will_restart| {
|
||||||
|
+ .with_on_start(move |pman, pkey, _will_restart| async move {
|
||||||
|
#[cfg(feature = "systemd")]
|
||||||
|
- {
|
||||||
|
- async move {
|
||||||
|
- if *is_systemd_used() {
|
||||||
|
- if let Ok((innr_cmd, Some(pid))) = pman.get_exe_and_pid(pkey).await
|
||||||
|
- {
|
||||||
|
- if let Err(err) = spawn_scope(innr_cmd.clone(), vec![pid]).await
|
||||||
|
- {
|
||||||
|
- warn!(
|
||||||
|
- "Failed to spawn scope for {}. Creating transient unit failed with {}",
|
||||||
|
- innr_cmd, err
|
||||||
|
- );
|
||||||
|
- };
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ if *is_systemd_used() {
|
||||||
|
+ if let Ok((innr_cmd, Some(pid))) = pman.get_exe_and_pid(pkey).await {
|
||||||
|
+ if let Err(err) = spawn_scope(innr_cmd.clone(), vec![pid]).await {
|
||||||
|
+ warn!(
|
||||||
|
+ "Failed to spawn scope for {}. Creating transient unit failed \
|
||||||
|
+ with {}",
|
||||||
|
+ innr_cmd, err
|
||||||
|
+ );
|
||||||
|
+ };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
From 054dc5ebfb0a5ed352c8e8f495a8b192e6042434 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Foxinatel <nathanielma5on@yahoo.com>
|
||||||
|
Date: Fri, 9 Aug 2024 17:58:14 +0100
|
||||||
|
Subject: [PATCH 2/3] Builds without systemd should no longer hard depend on
|
||||||
|
journald
|
||||||
|
|
||||||
|
---
|
||||||
|
Cargo.toml | 4 ++--
|
||||||
|
src/main.rs | 6 ++++--
|
||||||
|
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Cargo.toml b/Cargo.toml
|
||||||
|
index b7015dd..c0c7a68 100644
|
||||||
|
--- a/Cargo.toml
|
||||||
|
+++ b/Cargo.toml
|
||||||
|
@@ -39,11 +39,11 @@ zbus_systemd = { version = "0.25600.0", optional = true, features = [
|
||||||
|
] }
|
||||||
|
tokio-util = "0.7"
|
||||||
|
tracing = "0.1"
|
||||||
|
-tracing-journald = "0.3"
|
||||||
|
+tracing-journald = { version = "0.3", optional = true }
|
||||||
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||||
|
zbus = { version = "4.3.0", default-features = false, features = ["tokio"] }
|
||||||
|
cosmic-notifications-util = { git = "https://github.com/pop-os/cosmic-notifications" }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
-systemd = ["dep:zbus_systemd"]
|
||||||
|
+systemd = ["dep:zbus_systemd", "dep:tracing-journald"]
|
||||||
|
default = ["systemd"]
|
||||||
|
diff --git a/src/main.rs b/src/main.rs
|
||||||
|
index bf6e2e8..11fe0db 100644
|
||||||
|
--- a/src/main.rs
|
||||||
|
+++ b/src/main.rs
|
||||||
|
@@ -43,8 +43,10 @@ const XDP_COSMIC: Option<&'static str> = option_env!("XDP_COSMIC");
|
||||||
|
async fn main() -> Result<()> {
|
||||||
|
color_eyre::install().wrap_err("failed to install color_eyre error handler")?;
|
||||||
|
|
||||||
|
- tracing_subscriber::registry()
|
||||||
|
- .with(tracing_journald::layer().wrap_err("failed to connect to journald")?)
|
||||||
|
+ let trace = tracing_subscriber::registry();
|
||||||
|
+ #[cfg(feature = "systemd")]
|
||||||
|
+ let trace = trace.with(tracing_journald::layer().wrap_err("failed to connect to journald")?);
|
||||||
|
+ trace
|
||||||
|
.with(fmt::layer())
|
||||||
|
.with(
|
||||||
|
EnvFilter::builder()
|
||||||
|
|
||||||
|
From 357379d116501a337e4dc1f3375f2f71e74f1f31 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Foxinatel <nathanielma5on@yahoo.com>
|
||||||
|
Date: Fri, 9 Aug 2024 21:35:13 +0100
|
||||||
|
Subject: [PATCH 3/3] Make failure to connect to journald a warning, not a hard
|
||||||
|
error
|
||||||
|
|
||||||
|
---
|
||||||
|
src/main.rs | 29 +++++++++++++++++++++++------
|
||||||
|
1 file changed, 23 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main.rs b/src/main.rs
|
||||||
|
index 11fe0db..636d88b 100644
|
||||||
|
--- a/src/main.rs
|
||||||
|
+++ b/src/main.rs
|
||||||
|
@@ -44,17 +44,34 @@ async fn main() -> Result<()> {
|
||||||
|
color_eyre::install().wrap_err("failed to install color_eyre error handler")?;
|
||||||
|
|
||||||
|
let trace = tracing_subscriber::registry();
|
||||||
|
+ let env_filter = EnvFilter::builder()
|
||||||
|
+ .with_default_directive(LevelFilter::INFO.into())
|
||||||
|
+ .from_env_lossy();
|
||||||
|
+
|
||||||
|
#[cfg(feature = "systemd")]
|
||||||
|
- let trace = trace.with(tracing_journald::layer().wrap_err("failed to connect to journald")?);
|
||||||
|
+ if let Ok(journald) = tracing_journald::layer() {
|
||||||
|
+ trace
|
||||||
|
+ .with(journald)
|
||||||
|
+ .with(fmt::layer())
|
||||||
|
+ .with(env_filter)
|
||||||
|
+ .try_init()
|
||||||
|
+ .wrap_err("failed to initialize logger")?;
|
||||||
|
+ } else {
|
||||||
|
+ trace
|
||||||
|
+ .with(fmt::layer())
|
||||||
|
+ .with(env_filter)
|
||||||
|
+ .try_init()
|
||||||
|
+ .wrap_err("failed to initialize logger")?;
|
||||||
|
+ warn!("failed to connect to journald")
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ #[cfg(not(feature = "systemd"))]
|
||||||
|
trace
|
||||||
|
.with(fmt::layer())
|
||||||
|
- .with(
|
||||||
|
- EnvFilter::builder()
|
||||||
|
- .with_default_directive(LevelFilter::INFO.into())
|
||||||
|
- .from_env_lossy(),
|
||||||
|
- )
|
||||||
|
+ .with(env_filter)
|
||||||
|
.try_init()
|
||||||
|
.wrap_err("failed to initialize logger")?;
|
||||||
|
+
|
||||||
|
log_panics::init();
|
||||||
|
|
||||||
|
let (session_tx, mut session_rx) = tokio::sync::mpsc::channel(10);
|
10
srcpkgs/cosmic-session/patches/0002-systemd.patch
Normal file
10
srcpkgs/cosmic-session/patches/0002-systemd.patch
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
diff --git a/Cargo.toml b/Cargo.toml
|
||||||
|
index b7015dd..68a8571 100644
|
||||||
|
--- a/Cargo.toml
|
||||||
|
+++ b/Cargo.toml
|
||||||
|
@@ -45,5 +45,3 @@ zbus = { version = "4.3.0", default-features = false, features = ["tokio"] }
|
||||||
|
cosmic-notifications-util = { git = "https://github.com/pop-os/cosmic-notifications" }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
-systemd = ["dep:zbus_systemd", "dep:tracing-journald"]
|
||||||
|
-default = ["systemd"]
|
18
srcpkgs/cosmic-session/template
Normal file
18
srcpkgs/cosmic-session/template
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Template file for 'cosmic-session'
|
||||||
|
pkgname=cosmic-session
|
||||||
|
version=1.0.0.alpha.1
|
||||||
|
revision=1
|
||||||
|
_tag=epoch-${version/.alpha/-alpha}
|
||||||
|
build_style=cargo
|
||||||
|
hostmakedepends="just"
|
||||||
|
short_desc="TODO: cosmic-session short_desc"
|
||||||
|
maintainer="Daniel Martinez <danielmartinez@cock.li>"
|
||||||
|
license="GPL-3.0-only"
|
||||||
|
homepage="https://github.com/pop-os/cosmic-session"
|
||||||
|
distfiles="https://github.com/pop-os/cosmic-session/archive/refs/tags/${_tag}.tar.gz"
|
||||||
|
checksum=be6b9fcd7a174ad9bd5c723c229cb7459c835386a2c608c250ab3c0457a7a375
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
just --set cargo-target-dir "target/${RUST_TARGET}" \
|
||||||
|
--set rootdir ${PKGDESTDIR} --set prefix ${PKGDESTDIR}/usr install
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue