#!/usr/bin/env bash
name='sddm'
release='2'
version='0.21.0'
url='https://github.com/sddm/sddm'
description='Simple Desktop Display Manager'
email='akarsu@protonmail.com'
maintainer='akarsu'
license=('GPL')
source=("https://github.com/sddm/sddm/archive/v${version}/sddm-v${version}.tar.gz"
	"sddm.initd"
	"sddm.confd"
	"sddm.pam")
depends=(qt6-base qt6-declarative xauth xorg-server elogind libXau libxcb)
makedepends=(extra-cmake-modules py3-docutils qt6-tools)
sha256sums=('f895de2683627e969e4849dbfbbb2b500787481ca5ba0de6d6dfdae5f1549abf' 'SKIP' 'SKIP' 'SKIP')
group=(x11.misc)
uses=()
arch=('x86_64')

cd $name-$version

export CXXFLAGS="$CXXFLAGS -flto=auto"

setup () {
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib64 \
		-DBUILD_MAN_PAGES=ON \
		-DBUILD_WITH_QT6=ON \
		-DENABLE_JOURNALD=OFF \
		-DNO_SYSTEMD=ON \
		-DUSE_ELOGIND=ON \
		-DUID_MIN=999 \
		-DUID_MAX=60513 \
		-DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d \
        -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf
}

build () {
	ninja -C build
}

package () {
    ninja -C build install
    install -Dm755 ../sddm.initd "$DESTDIR"/etc/init.d/sddm
	install -Dm644 ../sddm.confd "$DESTDIR"/etc/conf.d/sddm
	# replace pam script
	install -Dm644 ../sddm.pam "$DESTDIR"/etc/pam.d/sddm
	mkdir -p $DESTDIR/etc/passwd.d/ $DESTDIR/etc/group.d/
	echo "sddm:x:109:119:Simple Desktop Display Manager:/var/lib/sddm/:/bin/false" > $DESTDIR/etc/passwd.d/sddm
    echo "sddm:x:119:" > $DESTDIR/etc/group.d/sddm
    
    install -d "$DESTDIR"/usr/lib/sddm/sddm.conf.d
    "$DESTDIR"/usr/bin/sddm --example-config > "$DESTDIR"/usr/lib/sddm/sddm.conf.d/default.conf
    # Unset InputMethod https://github.com/sddm/sddm/issues/952
    sed -e "/^InputMethod/s/qtvirtualkeyboard//" \
        -i "$DESTDIR"/usr/lib/sddm/sddm.conf.d/default.conf

}
