# Maintainer: Deposite Pirate # # Upstream: https://git.metalpunks.info/arch-ports _pkgname='xscreensaver' pkgname=("${_pkgname}" "${_pkgname}-hacks") pkgver=6.12 pkgrel=2 pkgdesc="Screen saver and locker for the X Window System" url="http://www.jwz.org/xscreensaver/" arch=('i686' 'x86_64') license=('BSD') makedepends=('bc' 'intltool' 'libxpm' 'gdm' 'systemd' 'systemd-libs') source=(https://www.jwz.org/xscreensaver/${_pkgname}-${pkgver}.tar.gz license-from-upstream migrate-xscreensaver-config.sh xscreensaver-config.xsl) noextract=("${_pkgname}-${pkgver}.tar.gz") sha256sums=('4ff6798217e3bbbc3c7336beeda7e83eafbf03301ac29b2236da66a0f1317643' 'c0247a0328f07656f6b7a5854f57fe735579f161b6f40df967cf9a5eab772d63' '44afb1c918e61f63606175fcbb2fc25a45bca80e9341acc77d66a79809b05671' 'a0c183a515c15b1a911c295e3ffbe96fa8a70444e2f1becc21c772e1608de7be') prepare() { # xscreensaver-6.12 fails to extract with bsdtar because of some hard link # nonsense. tar zxvf "${srcdir}/${_pkgname}-${pkgver}.tar.gz" -C "${srcdir}" } build() { cd ${_pkgname}-${pkgver} ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib \ --without-setuid-hacks \ --with-pam \ --with-login-manager \ --with-gtk \ --with-gl \ --without-gle \ --with-pixbuf \ --with-jpeg \ --with-systemd \ --enable-pam-check-account-type make } package_xscreensaver() { pkgdesc="Screen saver and locker for the X Window System" depends=('xscreensaver-hacks' 'gtk3' 'libsystemd.so' 'pam' 'libpam.so' 'libxcrypt' 'libcrypt.so' 'libxmu' 'libxt') optdepends=('gdm: for login manager support') backup=('etc/pam.d/xscreensaver') cd "${srcdir}/${_pkgname}-${pkgver}" install -d "${pkgdir}/etc/pam.d" make install_prefix="${pkgdir}" install # Files that belong in xscreensaver-hacks rm -rf "${pkgdir}/usr/share/fonts" find "${pkgdir}/usr/lib/xscreensaver" -maxdepth 1 -type f \ ! -name "xscreensaver-auth" ! -name "xscreensaver-systemd" -delete find "${pkgdir}/usr/share/man/man6" -maxdepth 1 -type f \ ! -name "xscreensaver-auth.6" ! -name "xscreensaver-systemd.6" -delete } package_xscreensaver-hacks() { pkgdesc="Collection of XScreenSaver hacks" depends=('glibc' 'glib2' 'gdk-pixbuf2' 'libglvnd' 'glu' 'libx11' 'libxext' 'libxft' 'libxi' 'libxt' 'libxrandr' 'libxxf86vm' 'libxinerama' 'libjpeg-turbo' 'libjpeg.so' 'perl-libwww' 'xorg-appres') cd "${srcdir}/${_pkgname}-${pkgver}" make install_prefix="${pkgdir}" install install -Dm644 "${srcdir}/license-from-upstream" -T \ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" # Create the .desktop files used by xfce4-screensaver install -dm755 "${pkgdir}/usr/share/applications/screensavers" ( cd "${pkgdir}/usr/share/applications/screensavers" sh "${srcdir}/migrate-xscreensaver-config.sh" \ "${pkgdir}/usr/share/xscreensaver/config/*.xml" ) # Files that belong in xscreensaver # xfce4-screensaver already has popsquares rm -rf \ "${pkgdir}/etc" \ "${pkgdir}/usr/bin" \ ${pkgdir}/usr/share/{pixmaps,xscreensaver,man/man1} \ ${pkgdir}/usr/share/applications/*.desktop \ ${pkgdir}/usr/share/applications/screensavers/popsquares.desktop \ ${pkgdir}/usr/share/man/man1/xscreensaver{,-{demo,settings,command}}.1 \ ${pkgdir}/usr/share/man/man6/xscreensaver-{auth,systemd}.6 \ "${pkgdir}/usr/lib/X11" \ ${pkgdir}/usr/lib/xscreensaver/xscreensaver-{auth,systemd} }