description="Library for Graphical logins and managing local and remote displays."
url="http://www.gnome.org/"

license="GPL2"

packager="tnut <tnut@nutyx.org>"
contributors="Fanch,Schrodinger72,Spiky"

makedepends=(pam accountsservice nss libcanberra
             gnome-session gnome-shell libdaemon
             libhandy gtk3)
run=(xorg-xinit xorg-xhost xorg-xrdb upower iso-codes)

set=(gnome)

name=gdm
version=46.2
release=2

source=(https://download.gnome.org/sources/$name/${version:0:2}/$name-$version.tar.xz)

prepare() {
getent group gdm || groupadd -g 21 gdm
getent passwd gdm || ( useradd -c "GDM Daemon Owner" \
        -d /var/lib/gdm -u 21 \
        -g gdm -s /bin/false gdm )
passwd -ql gdm
}
build() {

cd $name-$version

sed -e 's@systemd@elogind@'                                \
    -e 's@-session@session @' \
    -i data/pam-lfs/gdm-launch-environment.pam

mkdir build
cd    build
meson setup .. \
      --prefix=/usr               \
      --localstatedir=/var        \
      --libdir=/usr/lib           \
      -Ddefault-pam-config=lfs    \
      -Dplymouth=disabled         \
      -Dgdm-xsession=true         \
      -Dpam-mod-dir=/lib/security

ninja
DESTDIR=$PKG ninja install

# service
SERVICE=/lib/init/services/$name
mkdir -p $PKG/$SERVICE
cat > $PKG/$SERVICE/run << "EOF"
#!/bin/sh
[ -e /run/dbus/system_bus_socket ] || exit 1
exec /usr/sbin/gdm
EOF
chmod 755 $PKG/$SERVICE/run
mkdir -p $PKG/etc/init/multi
ln -sv $SERVICE $PKG/etc/init/multi

install -Dm644 ../COPYING $PKG/usr/share/licenses/$name/COPYING
}
