# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xscreensaver
pkgver=5.36
pkgrel=0
pkgdesc="screensavers for X11 environment"
url="https://www.jwz.org/xscreensaver/"
license="GPL"
depends="bc"
makedepends="gtk+-dev libjpeg-turbo-dev mesa-dev gettext-dev libxmu-dev perl
	libxml2-dev libglade-dev libxinerama-dev libxrandr-dev glu-dev sed"
install=
subpackages="$pkgname-doc $pkgname-gl-extras:gl $pkgname-extras $pkgname-lang"
source="http://www.jwz.org/$pkgname/$pkgname-$pkgver.tar.gz
	intl-libs.patch"
arch="all"
options="suid"

_builddir="$srcdir"/$pkgname-$pkgver
_libexecdir=/usr/lib/xscreensaver
_confdir=/usr/share/xscreensaver/config

prepare() {
	cd "$_builddir"
	update_config_sub || return 1
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--with-gtk \
		--libexecdir=$_libexecdir \
		--with-xinerama-ext \
		--with-xf86vmode-ext \
		--with-randr-ext \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make install_prefix="$pkgdir" install
}

gl() {
	local _conf
	pkgdesc="An enhanced set of screensavers that require OpenGL"
	cd "$pkgdir"
	mkdir -p "$subpkgdir"/$_confdir
	scanelf -Rn . | awk '$2 ~ /libGL/ { print $3}' | while read f; do
		mkdir -p "$subpkgdir"/${f%/*}
		mv "$f" "$subpkgdir"/${f%/*}

		_conf=usr/share/xscreensaver/config/${f##*/}.xml
		if [ -f "$_conf" ]; then
			mv "$_conf" "$subpkgdir"/$_confdir
		fi
	done
}

extras() {
	pkgdesc="An enhanced set of screensavers"
	mkdir -p "$subpkgdir"/$_libexecdir \
		"$subpkgdir"/$_confdir
	mv "$pkgdir"/$_libexecdir/* "$subpkgdir"/$_libexecdir
	mv "$pkgdir"/$_confdir/* "$subpkgdir"/$_confdir
}

md5sums="79dc3349df1fe978825991ce71a4a220  xscreensaver-5.36.tar.gz
7ab63bb0d5b5d043c94128dbd98cf311  intl-libs.patch"
sha256sums="6b8b5238047f1613d99149bb02d5ed3384675f3ce74a0a8ba25290bd61abc06c  xscreensaver-5.36.tar.gz
d13e51b406e84f02901bd16f401c9ae897400b0567182f4b8092df1fcd51e754  intl-libs.patch"
sha512sums="4f476135bbfdce0593bb6e5a6a48dd474fcce6031214ffbb3d43dc91bb8e1a28b3e59fc960d5f1a9ac0bdd3dc4531da26679bffbe47b7fb00b67ad74295b40f7  xscreensaver-5.36.tar.gz
3a4d750350bb1e5248fb03ea094001797e0628fb38c0ef854b9d30efd5d7a7f5a5b31fbac73816ae26a221201119be954c74fddbb863216ced4a5a63609720a2  intl-libs.patch"
