summaryrefslogtreecommitdiff
path: root/gnome-unstable/gdm
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-unstable/gdm')
-rw-r--r--gnome-unstable/gdm/PKGBUILD58
-rw-r--r--gnome-unstable/gdm/fix_external_program_directories.patch12
-rw-r--r--gnome-unstable/gdm/gdm.install30
3 files changed, 100 insertions, 0 deletions
diff --git a/gnome-unstable/gdm/PKGBUILD b/gnome-unstable/gdm/PKGBUILD
new file mode 100644
index 000000000..b5f9b5f14
--- /dev/null
+++ b/gnome-unstable/gdm/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 167181 2012-09-26 20:17:35Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gdm
+pkgver=3.6.0
+pkgrel=1
+pkgdesc="Gnome Display Manager"
+arch=(i686 x86_64)
+license=(GPL)
+url="http://www.gnome.org"
+backup=(etc/pam.d/gdm-autologin etc/pam.d/gdm-fingerprint etc/pam.d/gdm-launch-environment
+ etc/pam.d/gdm-password etc/pam.d/gdm-smartcard etc/gdm/custom.conf)
+groups=(gnome)
+options=('!libtool')
+depends=(libcanberra gnome-session gnome-settings-daemon metacity upower accountsservice systemd
+ xorg-xrdb nss polkit-gnome)
+makedepends=(itstool intltool gnome-doc-utils xorg-server gobject-introspection)
+optdepends=('gnome-shell: new login interface'
+ 'fprintd: fingerprint authentication')
+install=gdm.install
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ fix_external_program_directories.patch)
+sha256sums=('ea63736fc8f7234aca442f4e99b3ba9cc29dce5e464ed93f7bf7eb8c49abd60b'
+ 'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2')
+
+build() {
+ cd "$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/fix_external_program_directories.patch"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gdm \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-schemas-compile \
+ --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \
+ --with-check-accelerated-directory=/usr/lib/gnome-session \
+ --with-authentication-agent-directory=/usr/lib/polkit-gnome \
+ --without-tcp-wrappers \
+ --without-console-kit \
+ --with-systemd \
+ --with-default-pam-config=exherbo
+
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+
+ make -j1 # race condition building gdm-client.c, does not wait for gdm-client-glue.h
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ chmod 1770 "$pkgdir/var/log/gdm"
+ chmod 700 "$pkgdir/var/lib/gdm/.config/dconf"
+ rm -r "$pkgdir/var/run" "$pkgdir/var/gdm"
+}
diff --git a/gnome-unstable/gdm/fix_external_program_directories.patch b/gnome-unstable/gdm/fix_external_program_directories.patch
new file mode 100644
index 000000000..5e51a776f
--- /dev/null
+++ b/gnome-unstable/gdm/fix_external_program_directories.patch
@@ -0,0 +1,12 @@
+diff -Nur gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c
+--- gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:05.304823391 +0000
++++ gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:17.004732251 +0000
+@@ -131,7 +131,7 @@
+ ret = FALSE;
+
+ error = NULL;
+- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error);
++ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error);
+ if (error != NULL) {
+ g_warning ("Error starting settings daemon: %s", error->message);
+ g_error_free (error);
diff --git a/gnome-unstable/gdm/gdm.install b/gnome-unstable/gdm/gdm.install
new file mode 100644
index 000000000..c48faf4ae
--- /dev/null
+++ b/gnome-unstable/gdm/gdm.install
@@ -0,0 +1,30 @@
+pkgname=gdm
+
+post_install() {
+ getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm
+ getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
+ passwd -l gdm > /dev/null
+ chown -R gdm:gdm /var/lib/gdm > /dev/null
+
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ dconf update
+}
+
+pre_upgrade() {
+ if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ dconf update
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ getent passwd gdm >/dev/null 2>&1 && userdel gdm
+ getent group gdm >/dev/null 2>&1 && groupdel gdm
+}