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>

Reply via email to