# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=xscreensaver
pkgver=5.38
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"
arch="all"
options="suid"

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

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
	make
}

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
}

sha512sums="9014571505afd3a116f541334ea37737659f63f4cbb267a56be451e2c353d9e57218119670a44297d36d140672ea423d0682433401b17749138ab6baf6507561  xscreensaver-5.38.tar.gz"
