From 6b2926a933bc7ebf3f936610199932139e4fa77b Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Sun, 27 Mar 2022 08:03:28 +0200 Subject: [PATCH] greetd: initial add recipe this adds greetd and some greeters for it --- recipes-support/greetd/agreety_git.bb | 63 +++++++++++++++++ recipes-support/greetd/greetd/greetd.pam | 8 +++ recipes-support/greetd/greetd_git.bb | 78 +++++++++++++++++++++ recipes-support/greetd/gtkgreet_git.bb | 25 +++++++ recipes-support/greetd/wlgreet_git.bb | 86 ++++++++++++++++++++++++ 5 files changed, 260 insertions(+) create mode 100644 recipes-support/greetd/agreety_git.bb create mode 100644 recipes-support/greetd/greetd/greetd.pam create mode 100644 recipes-support/greetd/greetd_git.bb create mode 100644 recipes-support/greetd/gtkgreet_git.bb create mode 100644 recipes-support/greetd/wlgreet_git.bb diff --git a/recipes-support/greetd/agreety_git.bb b/recipes-support/greetd/agreety_git.bb new file mode 100644 index 0000000..7df3ff3 --- /dev/null +++ b/recipes-support/greetd/agreety_git.bb @@ -0,0 +1,63 @@ +SUMMARY = "agreety" +HOMEPAGE = "https://kl.wtf/projects/agreety" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI += "git://git.sr.ht/~kennylevinsen/greetd;protocol=https;nobranch=1" +SRCREV = "d70030962341a3ae7a88ecf2f7af748a5a6296d1" +S = "${WORKDIR}/git" +PV = "0.8.0" + +inherit cargo + +CARGO_SRC_DIR = "agreety" + +SRC_URI += " \ + crate://crates.io/arc-swap/0.4.6 \ + crate://crates.io/async-trait/0.1.31 \ + crate://crates.io/autocfg/1.0.1 \ + crate://crates.io/bitflags/1.2.1 \ + crate://crates.io/bytes/1.0.1 \ + crate://crates.io/cc/1.0.53 \ + crate://crates.io/cfg-if/0.1.10 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/enquote/1.0.3 \ + crate://crates.io/getopts/0.2.21 \ + crate://crates.io/itoa/0.4.5 \ + crate://crates.io/libc/0.2.112 \ + crate://crates.io/log/0.4.8 \ + crate://crates.io/memchr/2.3.3 \ + crate://crates.io/memoffset/0.6.5 \ + crate://crates.io/mio/0.7.7 \ + crate://crates.io/miow/0.3.6 \ + crate://crates.io/nix/0.20.2 \ + crate://crates.io/ntapi/0.3.4 \ + crate://crates.io/once_cell/1.5.2 \ + crate://crates.io/pam-sys/0.5.6 \ + crate://crates.io/pin-project-lite/0.2.4 \ + crate://crates.io/proc-macro2/1.0.12 \ + crate://crates.io/quote/1.0.5 \ + crate://crates.io/rpassword/5.0.0 \ + crate://crates.io/ryu/1.0.4 \ + crate://crates.io/serde/1.0.110 \ + crate://crates.io/serde_derive/1.0.110 \ + crate://crates.io/serde_json/1.0.53 \ + crate://crates.io/signal-hook-registry/1.2.0 \ + crate://crates.io/socket2/0.3.19 \ + crate://crates.io/syn/1.0.21 \ + crate://crates.io/thiserror-impl/1.0.17 \ + crate://crates.io/thiserror/1.0.17 \ + crate://crates.io/tokio-macros/1.0.0 \ + crate://crates.io/tokio/1.0.2 \ + crate://crates.io/unicode-width/0.1.7 \ + crate://crates.io/unicode-xid/0.2.0 \ + crate://crates.io/users/0.11.0 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.8 \ +" + +do_configure:prepend() { + sed -i "s|abort|unwind|" ${S}/Cargo.toml +} + diff --git a/recipes-support/greetd/greetd/greetd.pam b/recipes-support/greetd/greetd/greetd.pam new file mode 100644 index 0000000..3df0d21 --- /dev/null +++ b/recipes-support/greetd/greetd/greetd.pam @@ -0,0 +1,8 @@ +#%PAM-1.0 + +auth required pam_securetty.so +auth requisite pam_nologin.so +auth include system-local-login +account include system-local-login +session include system-local-login + diff --git a/recipes-support/greetd/greetd_git.bb b/recipes-support/greetd/greetd_git.bb new file mode 100644 index 0000000..29d42a6 --- /dev/null +++ b/recipes-support/greetd/greetd_git.bb @@ -0,0 +1,78 @@ +SUMMARY = "greetd is a minimal and flexible login manager daemon that makes no assumptions about what you want to launch." +HOMEPAGE = "https://kl.wtf/projects/greetd" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI += " \ + git://git.sr.ht/~kennylevinsen/greetd;protocol=https;nobranch=1 \ + file://greetd.pam \ +" +SRCREV = "d70030962341a3ae7a88ecf2f7af748a5a6296d1" +S = "${WORKDIR}/git" +PV = "0.8.0" + +DEPENDS = "libpam" +RRECOMMENDS:${PN} ?= "agreety" + +inherit cargo + +CARGO_SRC_DIR = "greetd" + +SRC_URI += " \ + crate://crates.io/arc-swap/0.4.6 \ + crate://crates.io/async-trait/0.1.31 \ + crate://crates.io/autocfg/1.0.1 \ + crate://crates.io/bitflags/1.2.1 \ + crate://crates.io/bytes/1.0.1 \ + crate://crates.io/cc/1.0.53 \ + crate://crates.io/cfg-if/0.1.10 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/enquote/1.0.3 \ + crate://crates.io/getopts/0.2.21 \ + crate://crates.io/itoa/0.4.5 \ + crate://crates.io/libc/0.2.112 \ + crate://crates.io/log/0.4.8 \ + crate://crates.io/memchr/2.3.3 \ + crate://crates.io/memoffset/0.6.5 \ + crate://crates.io/mio/0.7.7 \ + crate://crates.io/miow/0.3.6 \ + crate://crates.io/nix/0.20.2 \ + crate://crates.io/ntapi/0.3.4 \ + crate://crates.io/once_cell/1.5.2 \ + crate://crates.io/pam-sys/0.5.6 \ + crate://crates.io/pin-project-lite/0.2.4 \ + crate://crates.io/proc-macro2/1.0.12 \ + crate://crates.io/quote/1.0.5 \ + crate://crates.io/rpassword/5.0.0 \ + crate://crates.io/ryu/1.0.4 \ + crate://crates.io/serde/1.0.110 \ + crate://crates.io/serde_derive/1.0.110 \ + crate://crates.io/serde_json/1.0.53 \ + crate://crates.io/signal-hook-registry/1.2.0 \ + crate://crates.io/socket2/0.3.19 \ + crate://crates.io/syn/1.0.21 \ + crate://crates.io/thiserror-impl/1.0.17 \ + crate://crates.io/thiserror/1.0.17 \ + crate://crates.io/tokio-macros/1.0.0 \ + crate://crates.io/tokio/1.0.2 \ + crate://crates.io/unicode-width/0.1.7 \ + crate://crates.io/unicode-xid/0.2.0 \ + crate://crates.io/users/0.11.0 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.8 \ +" + +do_configure:prepend() { + sed -i "s|abort|unwind|" ${S}/Cargo.toml +} + +do_install:append() { + install -d ${D}${systemd_system_unitdir} ${D}${sysconfdir}/greetd ${D}${sysconfdir}/pam.d/greetd + install -m0644 ${S}/greetd.service ${D}${systemd_system_unitdir} + install -m0644 ${S}/config.toml ${D}${sysconfdir}/greetd + install -m0644 ${WORKDIR}/greetd.pam ${D}${sysconfdir}/pam.d/greetd +} + +FILES:${PN} += "${sysconfdir} ${systemd_system_unitdir}" + diff --git a/recipes-support/greetd/gtkgreet_git.bb b/recipes-support/greetd/gtkgreet_git.bb new file mode 100644 index 0000000..8f57ccd --- /dev/null +++ b/recipes-support/greetd/gtkgreet_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "GTK based greeter for greetd, to be run under cage or similar." +HOMEPAGE = "https://git.sr.ht/~kennylevinsen/gtkgreet" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = "gtk+3 json-c" + +PACKAGECONFIG[layershell] = "-Dlayershell=enabled,-Dlayershell=disabled,gtk-layer-shell" + +PACKAGECONFIG ?= "layershell" + +inherit meson pkgconfig + +SRC_URI = "git://git.sr.ht/~kennylevinsen/gtkgreet;protocol=https;branch=master" + +S = "${WORKDIR}/git" +PV = "1.3.2" +SRCREV = "c09696f6a27aa0e4769fd3f707f27be4407ec95d" + +EXTRA_OEMESON += " \ + --buildtype release \ + -Dman-pages=disabled \ +" + + diff --git a/recipes-support/greetd/wlgreet_git.bb b/recipes-support/greetd/wlgreet_git.bb new file mode 100644 index 0000000..9f40056 --- /dev/null +++ b/recipes-support/greetd/wlgreet_git.bb @@ -0,0 +1,86 @@ +SUMMARY = "Raw wayland greeter for greetd, to be run under sway or similar." +HOMEPAGE = "https://git.sr.ht/~kennylevinsen/wlgreet" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = "wayland wayland-protocols wayland-native" + +inherit cargo pkgconfig + +SRC_URI = "git://git.sr.ht/~kennylevinsen/wlgreet;protocol=https;branch=master" + +S = "${WORKDIR}/git" +PV = "0.3" +SRCREV = "8517e578cb64a8fb3bd8f8a438cdbe46f208b87c" + +SRC_URI += " \ + crate://crates.io/approx/0.3.2 \ + crate://crates.io/autocfg/1.0.1 \ + crate://crates.io/bitflags/1.2.1 \ + crate://crates.io/byteorder/1.4.3 \ + crate://crates.io/calloop/0.9.1 \ + crate://crates.io/cc/1.0.72 \ + crate://crates.io/cfg-if/0.1.10 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.19 \ + crate://crates.io/dlib/0.5.0 \ + crate://crates.io/downcast-rs/1.2.0 \ + crate://crates.io/getopts/0.2.21 \ + crate://crates.io/greetd_ipc/0.8.0 \ + crate://crates.io/itoa/0.4.8 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.108 \ + crate://crates.io/libloading/0.7.2 \ + crate://crates.io/log/0.4.14 \ + crate://crates.io/memchr/2.4.1 \ + crate://crates.io/memmap2/0.3.1 \ + crate://crates.io/memoffset/0.6.4 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/nix/0.15.0 \ + crate://crates.io/nix/0.22.2 \ + crate://crates.io/nom/7.1.0 \ + crate://crates.io/num-integer/0.1.44 \ + crate://crates.io/num-traits/0.2.14 \ + crate://crates.io/once_cell/1.8.0 \ + crate://crates.io/ordered-float/1.1.1 \ + crate://crates.io/os_pipe/0.8.2 \ + crate://crates.io/pkg-config/0.3.22 \ + crate://crates.io/proc-macro2/1.0.32 \ + crate://crates.io/quote/1.0.10 \ + crate://crates.io/rusttype/0.7.9 \ + crate://crates.io/rusttype/0.8.3 \ + crate://crates.io/ryu/1.0.5 \ + crate://crates.io/scoped-tls/1.0.0 \ + crate://crates.io/serde/1.0.130 \ + crate://crates.io/serde_derive/1.0.130 \ + crate://crates.io/serde_json/1.0.71 \ + crate://crates.io/smallvec/1.7.0 \ + crate://crates.io/smithay-client-toolkit/0.15.2 \ + crate://crates.io/stb_truetype/0.3.1 \ + crate://crates.io/syn/1.0.81 \ + crate://crates.io/thiserror-impl/1.0.30 \ + crate://crates.io/thiserror/1.0.30 \ + crate://crates.io/time/0.1.44 \ + crate://crates.io/toml/0.5.8 \ + crate://crates.io/unicode-width/0.1.9 \ + crate://crates.io/unicode-xid/0.2.2 \ + crate://crates.io/version_check/0.9.3 \ + crate://crates.io/void/1.0.2 \ + crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \ + crate://crates.io/wayland-client/0.29.1 \ + crate://crates.io/wayland-commons/0.29.1 \ + crate://crates.io/wayland-cursor/0.29.1 \ + crate://crates.io/wayland-protocols/0.29.1 \ + crate://crates.io/wayland-scanner/0.29.1 \ + crate://crates.io/wayland-sys/0.29.1 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/xcursor/0.3.4 \ + crate://crates.io/xml-rs/0.8.4 \ +" + +PACKAGECONFIG[layershell] = "-Dlayershell=enabled,-Dlayershell=disabled,gtk-layer-shell" + +PACKAGECONFIG ?= "layershell" +