From 0387e24909540420a6d0b516758eca44ac46d6c3 Mon Sep 17 00:00:00 2001 From: Robert Pearce Date: Tue, 21 Feb 2023 08:01:47 +0000 Subject: [PATCH] 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 --- x11-misc/slim/Manifest | 2 + x11-misc/slim/files/slim-1.3.9-config.diff | 49 +++++++++ .../files/slim-1.3.9-greeter-session.diff | 12 ++ x11-misc/slim/files/slim-1.4.0-config.diff | 48 ++++++++ x11-misc/slim/files/slim-9999-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 ++++++++++++++++++ 9 files changed, 474 insertions(+), 2 deletions(-) create mode 100644 x11-misc/slim/files/slim-1.3.9-config.diff create mode 100644 x11-misc/slim/files/slim-1.3.9-greeter-session.diff create mode 100644 x11-misc/slim/files/slim-1.4.0-config.diff create mode 100644 x11-misc/slim/files/slim-9999-config.diff create mode 100644 x11-misc/slim/slim-1.3.9.ebuild create mode 100644 x11-misc/slim/slim-1.4.0.ebuild create mode 100644 x11-misc/slim/slim-9999.ebuild diff --git a/x11-misc/slim/Manifest b/x11-misc/slim/Manifest index d0638d550cf4c..6290a51df48db 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 0000000000000..da7e69f2eccd1 --- /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 0000000000000..c9e5e256850ae --- /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 0000000000000..1a92a66a6f435 --- /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/files/slim-9999-config.diff b/x11-misc/slim/files/slim-9999-config.diff new file mode 100644 index 0000000000000..1a92a66a6f435 --- /dev/null +++ b/x11-misc/slim/files/slim-9999-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 d371e5ad92eba..1505068a165e5 100644 --- a/x11-misc/slim/metadata.xml +++ b/x11-misc/slim/metadata.xml @@ -1,8 +1,15 @@ - + + bugs.gentoo@flitspace.org.uk + Robert Pearce + + + proxy-maint@gentoo.org + Proxy Maintainers + - slim.berlios + slim-fork 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 0000000000000..e4a798f76287e --- /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 0000000000000..8c5100fe677f5 --- /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}"/${P}-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 0000000000000..8c5100fe677f5 --- /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}"/${P}-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 +}