summaryrefslogtreecommitdiff
path: root/extra/gdm/PKGBUILD
blob: 28d2617b35d530185f067a781b88a461cc529e85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# $Id: PKGBUILD 200818 2013-12-05 23:40:49Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Maintainer: Jan de Groot <jgc@archlinux.org>

pkgbase=gdm
pkgname=(gdm libgdm)
pkgver=3.10.0.1
pkgrel=2
pkgdesc="Gnome Display Manager"
arch=(i686 x86_64)
license=(GPL)
url="http://www.gnome.org"
depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server xorg-xhost)
makedepends=(itstool intltool yelp-tools gobject-introspection)
checkdepends=('check')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz
        fix_external_program_directories.patch arch-pam.patch)
sha256sums=('549a42009af9c79a4e07632e405dcb71ba2e876e766cff02471511ad641b6ae7'
            'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2'
            'b5c225784c3107564cb9685e41dfecdb20b8ea2415905c4119c96748c4e68003')

prepare() {
  cd $pkgbase-$pkgver
  patch -Np1 -i ../fix_external_program_directories.patch
  patch -Np1 -i ../arch-pam.patch
  AUTOPOINT='intltoolize --automake -c' autoreconf -fi
}

build() {
  cd $pkgbase-$pkgver
  ./configure \
    --prefix=/usr \
    --sbindir=/usr/bin \
    --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=arch

  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
}

check() {
  cd $pkgbase-$pkgver
  make check
}

package_gdm() {
  depends+=(libgdm)
  optdepends=('fprintd: fingerprint authentication')
  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
          etc/gdm/Xsession
          etc/gdm/PostSession/Default etc/gdm/PreSession/Default)
  groups=(gnome)
  install=gdm.install

  cd $pkgbase-$pkgver
  make DESTDIR="$pkgdir" install

  chmod 711 "$pkgdir/var/log/gdm"
  rm -r "$pkgdir/var/run"

### Split libgdm
  make -C gui/libgdm DESTDIR="$pkgdir" uninstall
  mv "$pkgdir/usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.xml" "$srcdir"
}

package_libgdm() {
  pkgdesc="GDM support library"
  depends=(systemd glib2)
  install=libgdm.install

  cd $pkgbase-$pkgver
  make -C gui/libgdm DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/org.gnome.login-screen.gschema.xml" \
    "$pkgdir/usr/share/glib-2.0/schemas/org.gnome.login-screen.gschema.xml"
}