summaryrefslogtreecommitdiff
path: root/extra/slim
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-04-24 03:30:57 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-04-24 03:30:57 +0000
commit431023a318e680258f02c1fb5fdca176c68e5cb7 (patch)
treecedbdd37d2a93310636cf71c781041a2b5ee68a3 /extra/slim
parent0459e6459ee534bf22ab8a5381cd485e6035e9e2 (diff)
Thu Apr 24 03:25:33 UTC 2014
Diffstat (limited to 'extra/slim')
-rw-r--r--extra/slim/PKGBUILD17
-rw-r--r--extra/slim/slim-1.3.6-systemd-session.patch29
2 files changed, 39 insertions, 7 deletions
diff --git a/extra/slim/PKGBUILD b/extra/slim/PKGBUILD
index a638ad442..0b39d24e0 100644
--- a/extra/slim/PKGBUILD
+++ b/extra/slim/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 202652 2013-12-23 08:42:02Z foutrelis $
+# $Id: PKGBUILD 211705 2014-04-23 16:59:49Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Thayer Williams <thayer@archlinux.org>
@@ -7,7 +7,7 @@
pkgname=slim
pkgver=1.3.6
-pkgrel=3
+pkgrel=4
pkgdesc="Desktop-independent graphical login manager for X11"
arch=('i686' 'x86_64')
url="http://slim.berlios.de/"
@@ -19,26 +19,29 @@ backup=('etc/slim.conf' 'etc/logrotate.d/slim' 'etc/pam.d/slim'
source=(http://download.berlios.de/$pkgname/$pkgname-$pkgver.tar.gz
slim-1.3.6-fix-libslim-libraries.patch
slim-1.3.6-add-sessiondir.patch
+ slim-1.3.6-systemd-session.patch
slim.pam
slim.logrotate)
sha256sums=('21defeed175418c46d71af71fd493cd0cbffd693f9d43c2151529125859810df'
'3dfa697f8c058390c7e02e7aba769475057ef8ddde945dc43b8cb7f9724dbda0'
'0dffd53a69eb9033a67fad964df6fc150ee7a483e29d8eb8b559010fbd14e5fd'
+ '900b7ffe723b741c05bcc0ca857f300a2131a0029c6532eb17be935451bf2c70'
'b9a77a614c451287b574c33d41e28b5b149c6d2464bdb3a5274799842bca51a4'
'5bf44748b5003f2332d8b268060c400120b9100d033fa9d35468670d827f6def')
prepare() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
# Fix installation path of slim.service
sed -i 's|set(LIBDIR "/lib")|set(LIBDIR "/usr/lib")|' CMakeLists.txt
- patch -Np1 -i "$srcdir/slim-1.3.6-fix-libslim-libraries.patch"
- patch -Np1 -i "$srcdir/slim-1.3.6-add-sessiondir.patch"
+ patch -Np1 -i ../slim-1.3.6-fix-libslim-libraries.patch
+ patch -Np1 -i ../slim-1.3.6-add-sessiondir.patch
+ patch -Np1 -i ../slim-1.3.6-systemd-session.patch
}
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -50,7 +53,7 @@ build() {
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
diff --git a/extra/slim/slim-1.3.6-systemd-session.patch b/extra/slim/slim-1.3.6-systemd-session.patch
new file mode 100644
index 000000000..be5f52982
--- /dev/null
+++ b/extra/slim/slim-1.3.6-systemd-session.patch
@@ -0,0 +1,29 @@
+--- a/app.cpp 2013-10-23 16:19:57.074100282 -0400
++++ b/app.cpp 2013-10-23 16:33:13.302122574 -0400
+@@ -829,8 +829,13 @@
+
+ StopServer();
+ RemoveLock();
+- while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
+- Run();
++ if (force_nodaemon) {
++ delete LoginPanel;
++ exit(ERR_EXIT); /* use ERR_EXIT so that systemd's RESTART=on-failure works */
++ } else {
++ while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
++ Run();
++ }
+ }
+
+ void App::KillAllClients(Bool top) {
+--- a/slim.service 2013-10-23 16:19:57.074100282 -0400
++++ b/slim.service 2013-10-23 16:45:14.901142776 -0400
+@@ -4,6 +4,7 @@
+
+ [Service]
+ ExecStart=/usr/bin/slim -nodaemon
++Restart=on-failure
+
+ [Install]
+ Alias=display-manager.service
+Common subdirectories: slim-1.3.6/themes and slim-1.3.6.new/themes