commit: c5d3ec090a9aa553d1c04f003564aacb2989ae49 Author: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com> AuthorDate: Thu Feb 15 19:07:05 2024 +0000 Commit: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com> CommitDate: Thu Feb 15 19:17:15 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c5d3ec09
gui-apps/ReGreet: add default environment variables before build * create missing cache and log folder for systemd and openrc * add missing regreet.sample.toml * add elog message as documentation to the user * add missing depedencies Closes: https://bugs.gentoo.org/924611 Closes: https://bugs.gentoo.org/922945 Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail.com> ...eet-0.1.1-r3.ebuild => ReGreet-0.1.1-r4.ebuild} | 61 ++++++++++++++++--- gui-apps/ReGreet/ReGreet-9999.ebuild | 71 ++++++++++++++++++---- gui-apps/ReGreet/metadata.xml | 4 +- 3 files changed, 116 insertions(+), 20 deletions(-) diff --git a/gui-apps/ReGreet/ReGreet-0.1.1-r3.ebuild b/gui-apps/ReGreet/ReGreet-0.1.1-r4.ebuild similarity index 73% rename from gui-apps/ReGreet/ReGreet-0.1.1-r3.ebuild rename to gui-apps/ReGreet/ReGreet-0.1.1-r4.ebuild index 51c205e37b..27fbb92828 100644 --- a/gui-apps/ReGreet/ReGreet-0.1.1-r3.ebuild +++ b/gui-apps/ReGreet/ReGreet-0.1.1-r4.ebuild @@ -212,7 +212,7 @@ HOMEPAGE="https://github.com/rharish101/ReGreet" if [[ ${PV} == 9999 ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/rharish101/ReGreet.git" + EGIT_REPO_URI="https://github.com/rharish101/${PN}.git" else SRC_URI=" https://github.com/rharish101/${PN}/archive/refs/tags/${PV}.tar.gz -> >${PN}.tar.gz @@ -223,18 +223,19 @@ fi LICENSE="GPL-3" SLOT="0" -DEPEND="gui-libs/gtk -" RDEPEND=" - ${DEPEND} + || ( gui-wm/sway gui-wm/cage ) + systemd?( sys-apps/systemd[sysv-utils] ) + openrc? ( sys-apps/openrc[sysv-utils] ) + gtk4? ( gui-libs/gtk ) || ( x11-libs/gtk+ ) gui-libs/greetd " BDEPEND=" virtual/rust media-libs/graphene " -IUSE="logs" +IUSE="systemd openrc gtk4" PATCHES="${FILESDIR}/ReGreet-0.1.1-cargo-lock-fix.diff" @@ -242,6 +243,7 @@ src_configure() { local myfeatures=( gtk4_8 ) + cargo_src_configure } @@ -251,16 +253,61 @@ src_prepare() { src_compile() { cargo_gen_config + + # Export default configuration + export RUSTUP_TOOLCHAIN=stable + export GREETD_CONFIG_DIR="/etc/greetd" + export CACHE_DIR="/var/cache/regreet" + export LOG_DIR="/var/log/regreet" + export SESSION_DIRS="/usr/share/xsessions:/usr/share/wayland-sessions" + # Require sysv-utils useflag enable on the init system + export REBOOT_CMD="reboot" + export POWEROFF_CMD="poweroff" + cargo_src_compile } src_install() { cargo_src_install + + if use systemd; then + insinto /etc/tmpfiles.d/ && newins "${WORKDIR}/${P}/systemd-tmpfiles.conf" regreet.conf + elif use openrc; then + dodir /var/log/regreet + fowners greeter:greeter /var/log/regreet + fperms 0755 /var/log/regreet + + dodir /var/cache/regreet + fowners greeter:greeter /var/cache/regreet + fperms 0755 /var/cache/regreet + fi + # Install ReGreet template config file as a doc + docinto /usr/share/doc/regreet + dodoc "${WORKDIR}/${P}/regreet.sample.toml" + + elog "ReGreet sample config file available on: /usr/share/regreet/regreet.sample.toml\n" + elog "To use copy it to /etc/greetd/regreet.toml\n" + elog "To configure greetd config.toml to use ReGreet use the ReGreet Readme\n" + elog "Or the greetd gentoo wiki page\n" + elog "" + elog "/etc/greetd/config.toml - Exemple ReGreet config using cage\n" + elog "-----------------------------------------------------------\n" + elog "[terminal]\n" + elog "vt = 7\n" + elog "" + elog "[default_session]\n" + elog "command = "cage -s -- regreet"\n" + elog "user = "greetd"\n" + elog "" + elog "Notes:" + elog "1 - On single user system you can change user to your home user" + elog "2 - For sway config refer to the Readme for more info" + } src_post_install () { - if use logs; then - insinto /etc/tmpfiles.d/ && newins "${WORKDIR}/${P}/systemd-tmpfiles.conf" regreet.conf + if use systemd; then + # Run systemd-tmpfiles to create the log and cache folder systemd-tmpfiles --create "$PWD/systemd-tmpfiles.conf" fi } diff --git a/gui-apps/ReGreet/ReGreet-9999.ebuild b/gui-apps/ReGreet/ReGreet-9999.ebuild index 47905ee7d0..8aea8ff4bb 100644 --- a/gui-apps/ReGreet/ReGreet-9999.ebuild +++ b/gui-apps/ReGreet/ReGreet-9999.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="https://github.com/rharish101/ReGreet" if [[ ${PV} == 9999 ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/rharish101/ReGreet.git" + EGIT_REPO_URI="https://github.com/rharish101/${PN}.git" else SRC_URI=" https://github.com/rharish101/${PN}/archive/refs/tags/${PV}.tar.gz -> >${PN}.tar.gz @@ -20,43 +20,90 @@ fi LICENSE="GPL-3" SLOT="0" -DEPEND="gui-libs/gtk -" RDEPEND=" - ${DEPEND} + || ( gui-wm/sway gui-wm/cage ) + systemd?( sys-apps/systemd[sysv-utils] ) + openrc? ( sys-apps/openrc[sysv-utils] ) + gtk4? ( gui-libs/gtk ) || ( x11-libs/gtk+ ) gui-libs/greetd " BDEPEND=" virtual/rust media-libs/graphene " -IUSE="logs" - -src_unpack() { - git-r3_src_unpack - cargo_live_src_unpack -} +IUSE="systemd openrc gtk4" src_configure() { local myfeatures=( gtk4_8 ) + cargo_src_configure } +src_unpack() { + git-r3_src_unpack + cargo_live_src_unpack +} + src_compile() { cargo_gen_config + + # Export default configuration + export RUSTUP_TOOLCHAIN=stable + export GREETD_CONFIG_DIR="/etc/greetd" + export CACHE_DIR="/var/cache/regreet" + export LOG_DIR="/var/log/regreet" + export SESSION_DIRS="/usr/share/xsessions:/usr/share/wayland-sessions" + # Require sysv-utils useflag enable on the init system + export REBOOT_CMD="reboot" + export POWEROFF_CMD="poweroff" + cargo_src_compile } src_install() { cargo_src_install + + if use systemd; then + insinto /etc/tmpfiles.d/ && newins "${WORKDIR}/${P}/systemd-tmpfiles.conf" regreet.conf + elif use openrc; then + dodir /var/log/regreet + fowners greeter:greeter /var/log/regreet + fperms 0755 /var/log/regreet + + dodir /var/cache/regreet + fowners greeter:greeter /var/cache/regreet + fperms 0755 /var/cache/regreet + fi + # Install ReGreet template config file as a doc + docinto /usr/share/doc/regreet + dodoc "${WORKDIR}/${P}/regreet.sample.toml" + + elog "ReGreet sample config file available on: /usr/share/regreet/regreet.sample.toml\n" + elog "To use copy it to /etc/greetd/regreet.toml\n" + elog "To configure greetd config.toml to use ReGreet use the ReGreet Readme\n" + elog "Or the greetd gentoo wiki page\n" + elog "" + elog "/etc/greetd/config.toml - Exemple ReGreet config using cage\n" + elog "-----------------------------------------------------------\n" + elog "[terminal]\n" + elog "vt = 7\n" + elog "" + elog "[default_session]\n" + elog "command = "cage -s -- regreet"\n" + elog "user = "greetd"\n" + elog "" + elog "Notes:" + elog "1 - On single user system you can change user to your home user" + elog "2 - For sway config refer to the Readme for more info" + } src_post_install () { - if use logs; then - insinto /etc/tmpfiles.d/ && newins "${WORKDIR}/${P}/systemd-tmpfiles.conf" regreet.conf + if use systemd; then + # Run systemd-tmpfiles to create the log and cache folder systemd-tmpfiles --create "$PWD/systemd-tmpfiles.conf" fi } diff --git a/gui-apps/ReGreet/metadata.xml b/gui-apps/ReGreet/metadata.xml index f90d3e7bea..ebb647ca79 100644 --- a/gui-apps/ReGreet/metadata.xml +++ b/gui-apps/ReGreet/metadata.xml @@ -2,7 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <use> - <flag name="logs">Compile logs support ReGreet (debug)</flag> + <flag name="systemd">Use system-tmpfiles to create cache and logs folder</flag> + <flag name="openrc">Manually create cache and logs folder</flag> + <flag name="gtk4">Compile with gtk4 support</flag> </use> <maintainer type="person"> <email>[email protected]</email>
