# SliTaz package receipt.

PACKED_SIZE="92.0K"
UNPACKED_SIZE="316.0K"
PACKAGE="slim"
VERSION="1.3.6"
CATEGORY="x-window"
SHORT_DESC="Desktop-independent graphical login manager for X11."
MAINTAINER="pankso@slitaz.org"
LICENSE="GPL2"
WEB_SITE="https://www.berlios.de/software/slim/"
REPOLOGY="slim-login-manager"

TARBALL="$PACKAGE-$VERSION.tar.gz"
WGET_URL="https://github.com/iwamatsu/$PACKAGE/archive/refs/tags/v$VERSION.tar.gz"

RELATED="slim-pam slim-theme-default"
SUGGESTED="slim-theme-default slitaz-configs"
DEPENDS="gcc-lib-base libjpeg libpng xorg-libXft xorg-libXmu"
BUILD_DEPENDS="freetype-dev jpeg-dev libpng-dev xorg-libXft-dev xorg-libXmu-dev"

CONFIG_FILES="/etc/slim.conf"

COOKOPTS="!pngquant op8"

HOST_ARCH="i486 arm"

# @maintainer:	Please update also slim-pam and slim-theme-default

# Handle cross compilation
case "$ARCH" in
	(i?86) 
		BUILD_DEPENDS="$BUILD_DEPENDS cmake" 
		INCL=/usr/include
		LIBS=/usr/lib
		;;
	(arm*)
		INCL=/cross/$ARCH/sysroot/usr/include
		LIBS=/cross/$ARCH/sysroot/usr/lib
		;;
esac

current_version()
{
	wget -O - https://github.com/iwamatsu/slim/tags 2>/dev/null | \
	sed '/archive.*tar/!d;s|.*/v*\(.*\).tar.*|\1|;q'
}

# Rules to configure and make the package.
compile_rules()
{
	patch --input=$stuff/patches/app.cpp-$VERSION || return 1
	patch --input=$stuff/patches/cfg.cpp-$VERSION || return 1
	patch --input=$stuff/patches/slim.conf-$VERSION || return 1

	# do NOT build slimlock
	sed -i	-e '/install(TARGETS slimlock/d'	CMakeLists.txt

	mkdir	_build &&
	cd	_build &&
	cmake	..					\
		-D CMAKE_INSTALL_PREFIX=/usr		\
		-D X11_Xmu_LIB="$LIBS/libXmu.so"	\
		-D X11_Xft_INCLUDE_PATH=${INCL}		\
		-D X11_Xmu_INCLUDE_PATH=${INCL} &&
	make &&
	make install DESTDIR=$DESTDIR
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
	mkdir -p $fs/usr/share/slim

	cp -a $install/etc		$fs
	cp -a $install/usr/bin		$fs/usr
	cp -a $install/usr/lib		$fs/usr
	cp -a $stuff/themes		$fs/usr/share/slim

	# rc script.
	cp -a $stuff/etc		$fs
	chown -R root.root		$fs

	# slim-theme manager and default strings
	install -m755 $stuff/slim-theme	$fs/usr/bin/slim-theme
	install -m644 $stuff/strings	$fs/usr/share/slim/strings
}

post_install()
{
	# replace default user tux by user with userid 1000 in slim.conf
	local USER
	USER=$(awk -F: '/:1000:1000:/ { print $1 }' < "$1/etc/passwd")
	[ -n "$USER" ] &&
	sed -i s/"default_user .*"/"default_user        $USER"/ "$1/etc/slim.conf"
	sed -i 's|>/tmp/X-output||' "$1/etc/slim.conf"
}

testsuite()
{
	readelf -h	$install/usr/bin/slim
}
