From 132e2af9d88bfd398af914fbfb0721ab224d2360 Mon Sep 17 00:00:00 2001 From: Deposite Pirate Date: Thu, 14 May 2026 00:17:11 +0000 Subject: Better XScreenSaver package. new file: xscreensaver/.SRCINFO new file: xscreensaver/PKGBUILD new file: xscreensaver/license-from-upstream new file: xscreensaver/migrate-xscreensaver-config.sh new file: xscreensaver/xscreensaver-config.xsl --- xscreensaver/.SRCINFO | 31 +++++++++ xscreensaver/PKGBUILD | 101 ++++++++++++++++++++++++++++ xscreensaver/license-from-upstream | 10 +++ xscreensaver/migrate-xscreensaver-config.sh | 34 ++++++++++ xscreensaver/xscreensaver-config.xsl | 30 +++++++++ 5 files changed, 206 insertions(+) create mode 100644 xscreensaver/.SRCINFO create mode 100644 xscreensaver/PKGBUILD create mode 100644 xscreensaver/license-from-upstream create mode 100755 xscreensaver/migrate-xscreensaver-config.sh create mode 100644 xscreensaver/xscreensaver-config.xsl diff --git a/xscreensaver/.SRCINFO b/xscreensaver/.SRCINFO new file mode 100644 index 0000000..62eab5a --- /dev/null +++ b/xscreensaver/.SRCINFO @@ -0,0 +1,31 @@ +pkgbase = xscreensaver-backends + pkgdesc = Screensavers from XScreenSaver for common frontends + pkgver = 6.06 + pkgrel = 2 + url = http://www.jwz.org/xscreensaver/ + arch = i686 + arch = x86_64 + license = BSD + makedepends = bc + makedepends = intltool + makedepends = libxslt + makedepends = openmotif + depends = gtk3 + depends = gdk-pixbuf2 + depends = libxt + depends = glu + depends = perl + conflicts = xscreensaver + conflicts = xscreensaver-hacks + conflicts = mate-screensaver-hacks + noextract = xscreensaver-6.06.tar.gz + source = http://www.jwz.org/xscreensaver/xscreensaver-6.06.tar.gz + source = LICENSE + source = migrate-xscreensaver-config.sh + source = xscreensaver-config.xsl + sha1sums = fa7e1da709972c640a913d42039ba8609ed6218e + sha1sums = 3eedb8b91b13c29df9b1fe5cbb027e1470b802d2 + sha1sums = 19195ef59f0dbc61c6ed599a968213a8f0a7a5d4 + sha1sums = e561e36c7bae61c3f5da65e4fb19a22e698f4584 + +pkgname = xscreensaver-backends diff --git a/xscreensaver/PKGBUILD b/xscreensaver/PKGBUILD new file mode 100644 index 0000000..cfa3afb --- /dev/null +++ b/xscreensaver/PKGBUILD @@ -0,0 +1,101 @@ +# 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} +} diff --git a/xscreensaver/license-from-upstream b/xscreensaver/license-from-upstream new file mode 100644 index 0000000..406467c --- /dev/null +++ b/xscreensaver/license-from-upstream @@ -0,0 +1,10 @@ +/* xscreensaver, Copyright (c) 1991-2013 Jamie Zawinski + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ diff --git a/xscreensaver/migrate-xscreensaver-config.sh b/xscreensaver/migrate-xscreensaver-config.sh new file mode 100755 index 0000000..860a0d5 --- /dev/null +++ b/xscreensaver/migrate-xscreensaver-config.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +DIST_BIN=`dirname "$0"` + +CMD=xsltproc +XSL=${DIST_BIN}/xscreensaver-config.xsl + +if test "x$1" = "x" -o "x$1" = "x-h" -o "x$1" = "x--help"; then + echo "usage: $0 [file] ..." + exit 1 +fi + +if [ ! -r ${XSL} ]; then + echo "Cannot find XSLT file" + exit 1 +fi + +FILES="$@" +for FILE in $FILES; do + echo "${FILE}" | grep ".xml$" > /dev/null + if [ $? -ne 0 ]; then + echo "Skipping non-xml file: ${FILE}" + continue + fi + + d=`dirname ${FILE}` + b=`basename ${FILE} .xml` + + outfile="${b}.desktop" + echo "Creating: ${outfile}" + ${CMD} -o ${outfile} ${XSL} ${FILE} +done + + exit 0 diff --git a/xscreensaver/xscreensaver-config.xsl b/xscreensaver/xscreensaver-config.xsl new file mode 100644 index 0000000..b5bc445 --- /dev/null +++ b/xscreensaver/xscreensaver-config.xsl @@ -0,0 +1,30 @@ + + + + + + +[Desktop Entry] +Encoding=UTF-8 +Name= +Comment= + + +TryExec= +Exec= + + + +TryExec= +Exec= + +StartupNotify=false +Terminal=false +Type=Application +Categories=Screensaver; +OnlyShowIn=MATE;GNOME;XFCE; +Hidden=true + + + -- cgit v1.3.1