summaryrefslogtreecommitdiff
path: root/xscreensaver/PKGBUILD
diff options
context:
space:
mode:
authorDeposite Pirate2026-05-14 00:17:11 +0000
committerDeposite Pirate2026-05-14 00:17:11 +0000
commit132e2af9d88bfd398af914fbfb0721ab224d2360 (patch)
treec4293660a4babfd3ee6a06a8f9188bb5597a2169 /xscreensaver/PKGBUILD
parent2cd10d1962595c34df88657e4806607509d10998 (diff)
Better XScreenSaver package.HEADmaster
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
Diffstat (limited to 'xscreensaver/PKGBUILD')
-rw-r--r--xscreensaver/PKGBUILD101
1 files changed, 101 insertions, 0 deletions
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 <dpirate at metalpunks dot info>
+#
+# 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}
+}