Rewrite moongreet from Python to Rust (v0.3.0)
Complete rewrite of the greetd greeter from Python/PyGObject to Rust/gtk4-rs for consistency with moonset, single binary without Python runtime, and improved security through Rust memory safety. Modules: main, greeter, ipc, config, i18n, users, sessions, power 86 unit tests covering all modules including login_worker IPC flow. Security hardening: shell-word splitting for exec_cmd, absolute path validation for session binaries, session-name sanitization, absolute loginctl path, atomic IPC writes.
This commit is contained in:
+6
-11
@@ -4,24 +4,20 @@
|
||||
# Maintainer: Dominik Kressler
|
||||
|
||||
pkgname=moongreet-git
|
||||
pkgver=0.2.0.r0.g64f08d7
|
||||
pkgver=0.3.0.r0.g0000000
|
||||
pkgrel=1
|
||||
pkgdesc="A greetd greeter for Wayland, built with Python + GTK4 + gtk4-layer-shell"
|
||||
arch=('any')
|
||||
pkgdesc="A greetd greeter for Wayland with GTK4 and Layer Shell"
|
||||
arch=('x86_64')
|
||||
url="https://gitea.moonarch.de/nevaforget/greetd-moongreet"
|
||||
license=('MIT')
|
||||
depends=(
|
||||
'python'
|
||||
'python-gobject'
|
||||
'gtk4'
|
||||
'gtk4-layer-shell'
|
||||
'greetd'
|
||||
)
|
||||
makedepends=(
|
||||
'git'
|
||||
'python-build'
|
||||
'python-installer'
|
||||
'python-hatchling'
|
||||
'cargo'
|
||||
)
|
||||
provides=('moongreet')
|
||||
conflicts=('moongreet')
|
||||
@@ -36,13 +32,12 @@ pkgver() {
|
||||
|
||||
build() {
|
||||
cd "$srcdir/greetd-moongreet"
|
||||
rm -rf dist/
|
||||
python -m build --wheel --no-isolation
|
||||
cargo build --release --locked
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/greetd-moongreet"
|
||||
python -m installer --destdir="$pkgdir" dist/*.whl
|
||||
install -Dm755 target/release/moongreet "$pkgdir/usr/bin/moongreet"
|
||||
|
||||
# Greeter config
|
||||
install -Dm644 config/moongreet.toml "$pkgdir/etc/moongreet/moongreet.toml"
|
||||
|
||||
Reference in New Issue
Block a user