Skip to content

Commit

Permalink
Added ebuilds for the resurrected upstream project's latest releases
Browse files Browse the repository at this point in the history
  • Loading branch information
RobPearce committed Feb 28, 2023
1 parent 6e59760 commit ae1b809
Show file tree
Hide file tree
Showing 7 changed files with 359 additions and 0 deletions.
2 changes: 2 additions & 0 deletions x11-misc/slim/Manifest
Original file line number Diff line number Diff line change
@@ -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
47 changes: 47 additions & 0 deletions x11-misc/slim/files/slim-1.3.9-config.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
--- a/slim.conf.orig 2010-08-25 11:52:23.000000000 -0400
+++ b/slim.conf 2010-08-25 11:58:58.000000000 -0400
@@ -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
10 changes: 10 additions & 0 deletions x11-misc/slim/files/slim-1.3.9-greeter-session.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--- 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;
47 changes: 47 additions & 0 deletions x11-misc/slim/files/slim-1.4.0-config.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Index: slim-fork-code/slim.conf
===================================================================
--- slim-fork-code/slim.conf (revision 54)
+++ slim-fork-code/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
3 changes: 3 additions & 0 deletions x11-misc/slim/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,7 @@
<upstream>
<remote-id type="sourceforge">slim.berlios</remote-id>
</upstream>
<upstream>
<remote-id type="sourceforge">slim-fork</remote-id>
</upstream>
</pkgmetadata>
122 changes: 122 additions & 0 deletions x11-misc/slim/slim-1.3.9-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit cmake pam 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 ~sparc ~x86"

LICENSE="GPL-2"
SLOT="0"
IUSE="branding pam"

RDEPEND="x11-libs/libXmu
x11-libs/libX11
x11-libs/libXpm
x11-libs/libXft
x11-libs/libXrandr
media-libs/libpng:0=
virtual/jpeg:=
x11-apps/sessreg
pam? ( sys-libs/pam )"
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
)

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
}

pkg_postinst() {
# massage ${REPLACING_VERSIONS} to come up with whether or not it's a
# new install or if it's older than 1.3.2-r7
# Note - there should only ever be zero or one version as this package
# isn't slotted, so the logic doesn't worry about what happens if there
# are two, due to the case where a previous emerge attempt failed in
# the middle of qmerge.
local rv=none
for rv in ${REPLACING_VERSIONS} ; do
if ver_test "1.3.2-r7" -le "${rv}" ; then
rv=newer
break;
fi

if ver_test "1.0" -le "${rv}" ; then
rv=older
break;
fi
done

if [[ ${rv} == none ]]; then
elog
elog "The configuration file is located at /etc/slim.conf."
elog
elog "If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\" "
elog "in /etc/conf.d/xdm and run \"rc-update add xdm default\"."
fi
if [[ ${rv} != newer ]]; then
elog
elog "By default, ${PN} is set up to do proper X session selection, including ~/.xsession"
elog "support, as well as selection between sessions available in"
elog "/etc/X11/Sessions/ at login by pressing [F1]."
elog
elog "The XSESSION environment variable is still supported as a default"
elog "if no session has been specified by the user."
elog
elog "If you want to use .xinitrc in the user's home directory for session"
elog "management instead, see README and xinitrc.sample in"
elog "/usr/share/doc/${PF} and change your login_cmd in /etc/slim.conf"
elog "accordingly."
elog
fi

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
}
128 changes: 128 additions & 0 deletions x11-misc/slim/slim-1.4.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit cmake pam 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 ~sparc ~x86"
fi

DESCRIPTION="Simple Login Manager resurrected"
HOMEPAGE="https://slim-fork.sourceforge.io/"

LICENSE="GPL-2"
SLOT="0"
IUSE="branding pam"

RDEPEND="x11-libs/libXmu
x11-libs/libX11
x11-libs/libXpm
x11-libs/libXft
x11-libs/libXrandr
media-libs/libpng:0=
virtual/jpeg:=
x11-apps/sessreg
pam? ( sys-libs/pam )"
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
)

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
}

pkg_postinst() {
# massage ${REPLACING_VERSIONS} to come up with whether or not it's a
# new install or if it's older than 1.3.2-r7
# Note - there should only ever be zero or one version as this package
# isn't slotted, so the logic doesn't worry about what happens if there
# are two, due to the case where a previous emerge attempt failed in
# the middle of qmerge.
local rv=none
for rv in ${REPLACING_VERSIONS} ; do
if ver_test "1.3.2-r7" -le "${rv}" ; then
rv=newer
break;
fi

if ver_test "1.0" -le "${rv}" ; then
rv=older
break;
fi
done

if [[ ${rv} == none ]]; then
elog
elog "The configuration file is located at /etc/slim.conf."
elog
elog "If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\" "
elog "in /etc/conf.d/xdm and run \"rc-update add xdm default\"."
fi
if [[ ${rv} != newer ]]; then
elog
elog "By default, ${PN} is set up to do proper X session selection, including ~/.xsession"
elog "support, as well as selection between sessions available in"
elog "/etc/X11/Sessions/ at login by pressing [F1]."
elog
elog "The XSESSION environment variable is still supported as a default"
elog "if no session has been specified by the user."
elog
elog "If you want to use .xinitrc in the user's home directory for session"
elog "management instead, see README and xinitrc.sample in"
elog "/usr/share/doc/${PF} and change your login_cmd in /etc/slim.conf"
elog "accordingly."
elog
fi

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
}

0 comments on commit ae1b809

Please sign in to comment.