commit:     33127b6d177f2d123c333c239a4ca13bfafd8124
Author:     Robert Pearce <gentoo <AT> flitspace <DOT> org <DOT> uk>
AuthorDate: Tue Feb 21 08:01:47 2023 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Tue Mar 14 19:28:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33127b6d

x11-misc/slim: Added ebuilds for the resurrected upstream project

Fixed issues from pkgcheck
List myself as a proxy maintainer

Correct several issues pointed out in review by ceamac and added a -9999 ebuild
in light of discussion

Closes: https://bugs.gentoo.org/832562
Closes: https://bugs.gentoo.org/727544
Closes: https://bugs.gentoo.org/832303
Closes: https://bugs.gentoo.org/580458
Closes: https://bugs.gentoo.org/803476
Closes: https://bugs.gentoo.org/732430
Closes: https://bugs.gentoo.org/756181
Signed-off-by: Robert Pearce <gentoo <AT> flitspace.org.uk>
Closes: https://github.com/gentoo/gentoo/pull/29838
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 x11-misc/slim/Manifest                             |   2 +
 x11-misc/slim/files/slim-1.3.9-config.diff         |  49 ++++++++++
 .../slim/files/slim-1.3.9-greeter-session.diff     |  12 +++
 x11-misc/slim/files/slim-1.4.0-config.diff         |  48 ++++++++++
 x11-misc/slim/metadata.xml                         |  11 ++-
 x11-misc/slim/slim-1.3.9.ebuild                    |  98 +++++++++++++++++++
 x11-misc/slim/slim-1.4.0.ebuild                    | 104 +++++++++++++++++++++
 x11-misc/slim/slim-9999.ebuild                     | 104 +++++++++++++++++++++
 8 files changed, 426 insertions(+), 2 deletions(-)

diff --git a/x11-misc/slim/Manifest b/x11-misc/slim/Manifest
index d0638d550cf4..6290a51df48d 100644
--- a/x11-misc/slim/Manifest
+++ b/x11-misc/slim/Manifest
@@ -1 +1,3 @@
 DIST slim-1.3.6.tar.gz 232547 BLAKE2B 
3df58fa128cdf2b2ab005e8f41fccc076cfcf8adf7767075539f2b8edf51a92660b031837b3cdaccb261f1c1eb24104100317fd4e68ad0298242502d4e6bb506
 SHA512 
345b1dee5d6f0c3716dfa7c5c16274adbf18586bdaaa6af4f310e24c5a61f79a297ffac921a5ba545523317e9fe120916df226c36b9c9b49c2ac9c1ca21dee0c
+DIST slim-1.3.9.tar.gz 239609 BLAKE2B 
41eec388b0d63bc720cb51f93707f69c4765800f4e69654fe5ebdcb280eb25775c7ed951163943b6f58884b0a9fb628e049d68a2faa7516b1f884adb080953c6
 SHA512 
607366a402479381858f8193db9b4da0a40eda15f4868cad9e7313b4a084390cf3cee80958f58a56d3e4383cf2fa9069960d1b20861068f921bd9ba89da7aec1
+DIST slim-1.4.0.tar.gz 530318 BLAKE2B 
507f22d09a3449b870bb5fd5a5f0ab1002ceee5372c82f702582809a5fc442088c17d79fedff6712e198cee672696388479604a194e5729c7bc12139770c833d
 SHA512 
2ef38d39e2d5186f9342161d99740b0c8cd87f234deaf550ca1528c9a61c052d26123c7da26f4a0a5e658d01cb200b115cf7879d349ed51a6e8c729ee3fdf77f

diff --git a/x11-misc/slim/files/slim-1.3.9-config.diff 
b/x11-misc/slim/files/slim-1.3.9-config.diff
new file mode 100644
index 000000000000..da7e69f2eccd
--- /dev/null
+++ b/x11-misc/slim/files/slim-1.3.9-config.diff
@@ -0,0 +1,49 @@
+Customize the configuration file to suit Gentoo practice
+===================================================================
+--- a/slim.conf
++++ b/slim.conf
+@@ -21,7 +21,7 @@
+ 
+ # Activate numlock when slim starts. Valid values: on|off
+ # Default is to not change it
+-# numlock             on
++numlock             on
+ 
+ # Hide the mouse cursor (note: does not work with some WMs).
+ # Valid values: true|false
+@@ -36,7 +36,8 @@
+ # to adjust the command according to your preferred shell,
+ # i.e. for freebsd use:
+ # login_cmd           exec /bin/sh - ~/.xinitrc %session
+-login_cmd           exec /bin/bash -login ~/.xinitrc %session
++# login_cmd           exec /bin/bash -login ~/.xinitrc %session
++login_cmd           exec /bin/bash -login /usr/share/slim/Xsession %session
+ 
+ # Commands executed when starting and exiting a session.
+ # They can be used for registering a X11 session with
+@@ -66,12 +67,12 @@
+ # %session is the Exec= value -- note that this may provide a full
+ # path to the session executable!
+-#sessiondir     /usr/share/xsessions
++sessiondir    /usr/share/xsessions
+ 
+ 
+-# Executed when pressing F11 (requires imagemagick)
++# Executed when pressing F11 (requires media-gfx/imagemagick for import)
+ screenshot_cmd      import -window root /slim.png
+-# Alternative using scrot.
++# Alternative is media-gfx/scrot. See Gentoo bug 252241 for more info.
+ #screenshot_cmd      scrot /root/slim.png
+ 
+ # welcome message. Available variables: %host, %domain
+ welcome_msg         Welcome to %host
+@@ -111,8 +111,8 @@
+ # randomly choose from
+ current_theme       default
+ 
+-# Lock file
++# Lock file, /etc/init.d/xdm expects slim.pid
+ lockfile            /run/slim.pid
+ 
+ # Log file
+ logfile             /var/log/slim.log

diff --git a/x11-misc/slim/files/slim-1.3.9-greeter-session.diff 
b/x11-misc/slim/files/slim-1.3.9-greeter-session.diff
new file mode 100644
index 000000000000..c9e5e256850a
--- /dev/null
+++ b/x11-misc/slim/files/slim-1.3.9-greeter-session.diff
@@ -0,0 +1,12 @@
+Fix bug #727544 by telling elogind that we're a greeter
+===================================================================
+--- a/app.cpp
++++ b/app.cpp
+@@ -290,6 +290,7 @@
+               pam.start("slim");
+               pam.set_item(PAM::Authenticator::TTY, DisplayName);
+               pam.set_item(PAM::Authenticator::Requestor, "root");
++              pam.setenv("XDG_SESSION_CLASS", "greeter");
+       }
+       catch(PAM::Exception& e){
+               logStream << APPNAME << ": " << e << endl;

diff --git a/x11-misc/slim/files/slim-1.4.0-config.diff 
b/x11-misc/slim/files/slim-1.4.0-config.diff
new file mode 100644
index 000000000000..1a92a66a6f43
--- /dev/null
+++ b/x11-misc/slim/files/slim-1.4.0-config.diff
@@ -0,0 +1,48 @@
+Index: slim-fork-code/slim.conf
+Customize the configuration file to suit Gentoo practice
+===================================================================
+--- a/slim.conf        (revision 54)
++++ b/slim.conf        (working copy)
+@@ -21,7 +21,7 @@
+ 
+ # Activate numlock when slim starts. Valid values: on|off
+ # Default is to not change it
+-#numlock             on
++numlock             on
+ 
+ # Hide the mouse cursor (note: does not work with some WMs).
+ # Valid values: true|false
+@@ -35,7 +35,8 @@
+ # NOTE: if your system does not have bash you need to adjust the command
+ # according to your preferred shell, e.g. for freebsd use:
+ # login_cmd           exec /bin/sh - ~/.xinitrc %session
+-login_cmd           exec /bin/bash -login ~/.xinitrc %session
++#login_cmd           exec /bin/bash -login ~/.xinitrc %session
++login_cmd           exec /bin/bash -login /usr/share/slim/Xsession %session
+ 
+ # Commands executed when starting and exiting a session.
+ # They can be used for registering a X11 session with
+@@ -65,11 +66,12 @@
+ # %session is the Exec= value -- note that this may provide a full
+ # path to the session executable!
+ #sessiondir     /usr/share/xsessions
++sessiondir           /etc/X11/Sessions
+ 
+ 
+-# Executed when pressing F11 (requires imagemagick)
++# Executed when pressing F11 (requires media-gfx/imagemagick for import)
+ screenshot_cmd      import -window root /slim.png
+-# Alternative using scrot.
++# Alternative is media-gfx/scrot. See Gentoo bug 252241 for more info.
+ #screenshot_cmd      scrot /root/slim.png
+ 
+ # Delay after failed authentication before allowing another attempt
+@@ -102,7 +104,7 @@
+ # randomly choose from
+ current_theme       default
+ 
+-# Lock file
++# Lock file, /etc/init.d/xdm expects slim.pid
+ lockfile            /run/slim.pid
+ 
+ # Log file - full path for a file, or just stderr (or /dev/stderr) to send

diff --git a/x11-misc/slim/metadata.xml b/x11-misc/slim/metadata.xml
index d371e5ad92eb..1505068a165e 100644
--- a/x11-misc/slim/metadata.xml
+++ b/x11-misc/slim/metadata.xml
@@ -1,8 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
-       <!-- maintainer-needed -->
+       <maintainer type="person" proxied="yes">
+               <email>bugs.gen...@flitspace.org.uk</email>
+               <name>Robert Pearce</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>proxy-ma...@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
        <upstream>
-               <remote-id type="sourceforge">slim.berlios</remote-id>
+               <remote-id type="sourceforge">slim-fork</remote-id>
        </upstream>
 </pkgmetadata>

diff --git a/x11-misc/slim/slim-1.3.9.ebuild b/x11-misc/slim/slim-1.3.9.ebuild
new file mode 100644
index 000000000000..e4a798f76287
--- /dev/null
+++ b/x11-misc/slim/slim-1.3.9.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake pam readme.gentoo-r1 systemd
+
+DESCRIPTION="Simple Login Manager resurrected"
+HOMEPAGE="https://slim-fork.sourceforge.io/";
+SRC_URI="mirror://sourceforge/project/${PN}-fork/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="branding pam"
+
+RDEPEND="media-libs/libjpeg-turbo:=
+       media-libs/libpng:0=
+       x11-apps/sessreg
+       x11-libs/libX11
+       x11-libs/libXft
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXrandr
+       pam? (
+               sys-libs/pam
+               x11-libs/libXext
+       )"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+PDEPEND="branding? ( >=x11-themes/slim-themes-1.2.3a-r3 )"
+
+PATCHES=(
+       # Our Gentoo-specific config changes
+       "${FILESDIR}"/${P}-config.diff
+       "${FILESDIR}"/${P}-greeter-session.diff
+)
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="
+The configuration file is located at /etc/slim.conf.
+
+If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\"
+in /etc/conf.d/display-manager and run
+
+       # rc-update add display-manager default.
+
+See also https://wiki.gentoo.org/wiki/SLiM
+"
+
+src_prepare() {
+       cmake_src_prepare
+
+       if use branding; then
+               sed -i -e '/current_theme/s/default/slim-gentoo-simple/' 
slim.conf || die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DUSE_PAM=$(usex pam)
+               -DUSE_CONSOLEKIT=OFF
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       if use pam ; then
+               pamd_mimic system-local-login slim auth account session
+               pamd_mimic system-local-login slimlock auth
+       fi
+
+       systemd_dounit slim.service
+
+       insinto /usr/share/slim
+       newins "${FILESDIR}/Xsession-r3" Xsession
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/slim.logrotate" slim
+
+       dodoc xinitrc.sample ChangeLog README TODO THEMES
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+
+       if ! use pam; then
+               elog "You have merged ${PN} without USE=\"pam\", this will 
cause ${PN} to fall back to"
+               elog "the console when restarting your window manager. If this 
is not desired, then"
+               elog "please remerge ${PN} with USE=\"pam\""
+               elog
+       fi
+}

diff --git a/x11-misc/slim/slim-1.4.0.ebuild b/x11-misc/slim/slim-1.4.0.ebuild
new file mode 100644
index 000000000000..a48f2bde4254
--- /dev/null
+++ b/x11-misc/slim/slim-1.4.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake pam readme.gentoo-r1 systemd
+
+if [[ ${PV} == "9999" ]] ; then
+       ESVN_REPO_URI="https://svn.code.sf.net/p/slim-fork/code/trunk";
+       inherit subversion
+else
+       SRC_URI="mirror://sourceforge/project/${PN}-fork/${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Simple Login Manager resurrected"
+HOMEPAGE="https://slim-fork.sourceforge.io/";
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="branding pam"
+
+RDEPEND="media-libs/libjpeg-turbo:=
+       media-libs/libpng:0=
+       x11-apps/sessreg
+       x11-libs/libX11
+       x11-libs/libXft
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXrandr
+       pam? (
+               sys-libs/pam
+               x11-libs/libXext
+       )"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+PDEPEND="branding? ( >=x11-themes/slim-themes-1.2.3a-r3 )"
+
+PATCHES=(
+       # Our Gentoo-specific config changes
+       "${FILESDIR}"/${PN}-1.4.0-config.diff
+)
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="
+The configuration file is located at /etc/slim.conf.
+
+If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\"
+in /etc/conf.d/display-manager and run
+
+       # rc-update add display-manager default.
+
+See also https://wiki.gentoo.org/wiki/SLiM
+"
+
+src_prepare() {
+       cmake_src_prepare
+
+       if use branding; then
+               sed -i -e '/current_theme/s/default/slim-gentoo-simple/' 
slim.conf || die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DUSE_PAM=$(usex pam)
+               -DUSE_CONSOLEKIT=OFF
+               -DBUILD_SLIMLOCK=$(usex pam)
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       if use pam ; then
+               pamd_mimic system-local-login slim auth account session
+               pamd_mimic system-local-login slimlock auth
+       fi
+
+       systemd_dounit slim.service
+
+       insinto /usr/share/slim
+       newins "${FILESDIR}/Xsession-r3" Xsession
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/slim.logrotate" slim
+
+       dodoc xinitrc.sample ChangeLog README TODO THEMES
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+
+       if ! use pam; then
+               elog "You have merged ${PN} without USE=\"pam\", this will 
cause ${PN} to fall back to"
+               elog "the console when restarting your window manager. If this 
is not desired, then"
+               elog "please remerge ${PN} with USE=\"pam\""
+               elog
+       fi
+}

diff --git a/x11-misc/slim/slim-9999.ebuild b/x11-misc/slim/slim-9999.ebuild
new file mode 100644
index 000000000000..a48f2bde4254
--- /dev/null
+++ b/x11-misc/slim/slim-9999.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake pam readme.gentoo-r1 systemd
+
+if [[ ${PV} == "9999" ]] ; then
+       ESVN_REPO_URI="https://svn.code.sf.net/p/slim-fork/code/trunk";
+       inherit subversion
+else
+       SRC_URI="mirror://sourceforge/project/${PN}-fork/${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Simple Login Manager resurrected"
+HOMEPAGE="https://slim-fork.sourceforge.io/";
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="branding pam"
+
+RDEPEND="media-libs/libjpeg-turbo:=
+       media-libs/libpng:0=
+       x11-apps/sessreg
+       x11-libs/libX11
+       x11-libs/libXft
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXrandr
+       pam? (
+               sys-libs/pam
+               x11-libs/libXext
+       )"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+PDEPEND="branding? ( >=x11-themes/slim-themes-1.2.3a-r3 )"
+
+PATCHES=(
+       # Our Gentoo-specific config changes
+       "${FILESDIR}"/${PN}-1.4.0-config.diff
+)
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="
+The configuration file is located at /etc/slim.conf.
+
+If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\"
+in /etc/conf.d/display-manager and run
+
+       # rc-update add display-manager default.
+
+See also https://wiki.gentoo.org/wiki/SLiM
+"
+
+src_prepare() {
+       cmake_src_prepare
+
+       if use branding; then
+               sed -i -e '/current_theme/s/default/slim-gentoo-simple/' 
slim.conf || die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DUSE_PAM=$(usex pam)
+               -DUSE_CONSOLEKIT=OFF
+               -DBUILD_SLIMLOCK=$(usex pam)
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       if use pam ; then
+               pamd_mimic system-local-login slim auth account session
+               pamd_mimic system-local-login slimlock auth
+       fi
+
+       systemd_dounit slim.service
+
+       insinto /usr/share/slim
+       newins "${FILESDIR}/Xsession-r3" Xsession
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/slim.logrotate" slim
+
+       dodoc xinitrc.sample ChangeLog README TODO THEMES
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+
+       if ! use pam; then
+               elog "You have merged ${PN} without USE=\"pam\", this will 
cause ${PN} to fall back to"
+               elog "the console when restarting your window manager. If this 
is not desired, then"
+               elog "please remerge ${PN} with USE=\"pam\""
+               elog
+       fi
+}

Reply via email to