blob: 3dbc469970411c52b17005b1beb1dc92480d5038 (
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# Maintainer: Robin Lange <robin dot langenc at gmail dot com>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgbase=gdm-prime
pkgname=(gdm-prime libgdm-prime)
pkgver=3.34.1
pkgrel=2
url="https://wiki.gnome.org/Projects/GDM"
arch=(x86_64)
license=(GPL)
depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server xorg-xhost)
makedepends=(yelp-tools gobject-introspection git docbook-xsl)
checkdepends=(check)
_commit=80e010198217284d3cf52e8b334862a80b00cbd1 # tags/3.34.1^0
source=("git+https://gitlab.gnome.org/GNOME/gdm.git#commit=$_commit"
0001-Xsession-Don-t-start-ssh-agent-by-default.patch
0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
0004-nvidia-prime.patch)
sha256sums=('SKIP'
'098ffb1cdc0232f014e5fe5fb8d268b752afc54d6ee661664036879acd075b22'
'2e2b12d4609004a010245de51a8c017b164e84f249cd19706d020cb599d2d7e7'
'3fa02eb7bbbe1586eae4ae98221a284251ca2869dc731c80b753e7effc443379'
'f2ac60c8e4d62805dc2f441a8754f1c15e12c64ec0dbb1031dbd91dd47df52d9')
prepare() {
mkdir build
cd gdm
patch -Np1 -i ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
# https://bugs.archlinux.org/task/63706
patch -Np1 -i ../0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
patch -Np1 -i ../0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
patch -Np1 -i ../0004-nvidia-prime.patch
NOCONFIGURE=1 ./autogen.sh
}
build() {
cd build
../gdm/configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--sbindir=/usr/bin \
--libexecdir=/usr/lib \
with_dbus_sys=/usr/share/dbus-1/system.d \
--disable-schemas-compile \
--disable-static \
--enable-gdm-xsession \
--enable-ipv6 \
--with-default-pam-config=arch \
--with-default-path=/usr/local/bin:/usr/local/sbin:/usr/bin \
--without-plymouth \
--without-tcp-wrappers
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
make -C build check
}
package_gdm-prime() {
provides=(gdm)
conflicts=(gdm)
pkgdesc="Display manager and login screen - patched with Prime support for Optimus laptops"
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-prime.install
DESTDIR="$pkgdir" make -C build install
chown -Rc 120:120 "$pkgdir/var/lib/gdm"
# Unused or created at start
rm -r "$pkgdir"/var/{cache,log,run}
install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/gdm.conf" <<END
g gdm 120 -
u gdm 120 "Gnome Display Manager" /var/lib/gdm
END
### Split libgdm
mkdir -p libgdm/{lib,share}
mv -t libgdm "$pkgdir"/usr/include
mv -t libgdm/lib "$pkgdir"/usr/lib/{girepository-1.0,libgdm*,pkgconfig}
mv -t libgdm/share "$pkgdir"/usr/share/{gir-1.0,glib-2.0}
}
package_libgdm-prime() {
provides=(libgdm)
conflicts=(libgdm)
pkgdesc="GDM support library - patched with Prime support for Optimus laptops"
depends=(systemd glib2 dconf)
mv libgdm "$pkgdir/usr"
}
|