summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-misc/xscreensaver/Manifest1
-rw-r--r--x11-misc/xscreensaver/files/xscreensaver-5.45-gcc.patch16
-rw-r--r--x11-misc/xscreensaver/files/xscreensaver-5.45-interix.patch32
-rw-r--r--x11-misc/xscreensaver/files/xscreensaver-5.45-remove-libXxf86misc-dep.patch49
-rw-r--r--x11-misc/xscreensaver/xscreensaver-5.45.ebuild168
5 files changed, 266 insertions, 0 deletions
diff --git a/x11-misc/xscreensaver/Manifest b/x11-misc/xscreensaver/Manifest
index 790b47cc1b76..9483460aca9e 100644
--- a/x11-misc/xscreensaver/Manifest
+++ b/x11-misc/xscreensaver/Manifest
@@ -1,3 +1,4 @@
DIST xscreensaver-5.38.tar.gz 10712548 BLAKE2B 02630aa7daa3faf8aa7ff453218bed5e3db287b7c4d9b564a6d8822db8b2e1ae6be7843342d585f2d2900d2bd0e7fd2a12d49748d81bf10818fa5bc4254f6ef8 SHA512 9014571505afd3a116f541334ea37737659f63f4cbb267a56be451e2c353d9e57218119670a44297d36d140672ea423d0682433401b17749138ab6baf6507561
DIST xscreensaver-5.43-r1.tar.gz 26973508 BLAKE2B 67b57214e8a41ba895df6e9efcac3e712f24be06ee7914b38d3a8e639d4945c927c4ac28469d2180bc4a3999a4b89d2a60e633799ac5204c42fa17ad76dd21fc SHA512 7ccaf30fb05ae2110f742f1a5c99f83cd4c8e6749124066b5a418cf3e0ba1b8ff09858eeec29c11b0c8ea428b95b2916481c50cee6a5d952ec941b3ad1b6adcd
DIST xscreensaver-5.44.tar.gz 27001826 BLAKE2B 102025aa2f57672ed3547f0e9bab989566fb8e50ecae8b9e4078ec5ee5de3cad09fec107695335ef236ad9fe19b2638978366a180a998d77b0ce8a2a5d1ebde3 SHA512 9d9144dec6f075c2d6a1c3cd45123a98d6d0cd732d6c3e3389e97b3f802b8f8765a188d1e35f97f123ca0a64661ea616b7b710577063c311da3d99d8439f1dae
+DIST xscreensaver-5.45.tar.gz 27729147 BLAKE2B 132301dd6645a21e04cd6f8b2f85e4b2454f5281e8cca3c5a89d50e16fee7f7e79d0b323e639bf7a18ddbcae0b4c8e7e5c9a84409bfe9f57253062cdaab30880 SHA512 1b21418c591fd99f3caaea9d31ca49abdb94b8e89f33e661c464299bc81bf4ff13fd99a187070fce19b3843c28a1f2a2a7b94bd6949d2b3b06bba730cae59f14
diff --git a/x11-misc/xscreensaver/files/xscreensaver-5.45-gcc.patch b/x11-misc/xscreensaver/files/xscreensaver-5.45-gcc.patch
new file mode 100644
index 000000000000..b62fd1f309e3
--- /dev/null
+++ b/x11-misc/xscreensaver/files/xscreensaver-5.45-gcc.patch
@@ -0,0 +1,16 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -468,11 +468,11 @@
+
+ AC_DEFUN([AC_CHECK_GCC_ARG],
+ [if test -n "$GCC"; then
+- AC_CACHE_CHECK([whether gcc accepts [$2]],
++ AC_CACHE_CHECK([whether [$CC] accepts [$2]],
+ ac_cv_gcc_accepts_[$1],
+ [rm -rf conftest.$ac_ext
+ touch conftest.$ac_ext
+- if ( ( gcc -c [$2] conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
++ if ( ( $CC -c [$2] conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
+ grep unrecognized >/dev/null ); then
+ ac_cv_gcc_accepts_[$1]=no
+ else
diff --git a/x11-misc/xscreensaver/files/xscreensaver-5.45-interix.patch b/x11-misc/xscreensaver/files/xscreensaver-5.45-interix.patch
new file mode 100644
index 000000000000..f9841a49b74a
--- /dev/null
+++ b/x11-misc/xscreensaver/files/xscreensaver-5.45-interix.patch
@@ -0,0 +1,32 @@
+diff --git a/driver/prefs.c b/driver/prefs.c
+index ab97ffa..cc04cc9 100644
+--- a/driver/prefs.c
++++ b/driver/prefs.c
+@@ -969,7 +969,10 @@ write_init_file (Display *dpy,
+ sure that the bits actually land on the disk right away. */
+ /* Update 2020: Apparently here in the future, this sometimes takes
+ 3+ seconds, so let's not. */
++/* Interix has no sync() or alike. */
++#ifndef __INTERIX
+ /* sync(); */
++#endif
+
+ status = 0; /* wrote and renamed successfully! */
+ }
+diff --git a/driver/setuid.c b/driver/setuid.c
+index 3ac78e4..a2b9e15 100644
+--- a/driver/setuid.c
++++ b/driver/setuid.c
+@@ -136,9 +136,12 @@ set_ids_by_number (uid_t uid, gid_t gid, char **message_ret)
+ if (uid == (uid_t) -1) uid = (uid_t) -2;
+
+ errno = 0;
++
++#ifndef __INTERIX
+ if (setgroups_needed_p (gid) &&
+ setgroups (1, &gid) < 0)
+ sgs_errno = errno ? errno : -1;
++#endif
+
+ errno = 0;
+ if (setgid (gid) != 0)
diff --git a/x11-misc/xscreensaver/files/xscreensaver-5.45-remove-libXxf86misc-dep.patch b/x11-misc/xscreensaver/files/xscreensaver-5.45-remove-libXxf86misc-dep.patch
new file mode 100644
index 000000000000..9a2ac62036a9
--- /dev/null
+++ b/x11-misc/xscreensaver/files/xscreensaver-5.45-remove-libXxf86misc-dep.patch
@@ -0,0 +1,49 @@
+libXxf86misc is the client-side code of an X extension that has not been
+supported by the Xserver in more than 10 years. Since xscreensaver's dependency
+on it is automagic, we have to patch configure.in to safely remove it.
+
+https://bugs.gentoo.org/720158
+
+diff -ruN xscreensaver.orig/configure.ac xscreensaver/configure.ac
+--- xscreensaver.orig/configure.ac 2020-05-02 18:09:23.169324761 -0700
++++ xscreensaver/configure.ac 2020-05-02 18:09:52.578233240 -0700
+@@ -104,12 +104,6 @@
+ (It's available if the file /usr/include/X11/extensions/XInput.h
+ exists.)])
+
+-AH_TEMPLATE([HAVE_XF86MISCSETGRABKEYSSTATE],
+- [Define this if you have the XF86MiscSetGrabKeysState function
+- (which allows the Ctrl-Alt-KP_star and Ctrl-Alt-KP_slash key
+- sequences to be temporarily disabled. Sadly, it doesn't affect
+- Ctrl-Alt-BS or Ctrl-Alt-F1.)])
+-
+ AH_TEMPLATE([HAVE_RANDR],
+ [Define this if you have the Resize and Rotate extension.
+ This is standard on sufficiently-recent XFree86 systems, and
+@@ -1888,25 +1882,6 @@
+ fi
+
+
+-###############################################################################
+-#
+-# Check for XF86MiscSetGrabKeysState (but only bother if we are already
+-# using other XF86 stuff.)
+-#
+-###############################################################################
+-
+-have_xf86miscsetgrabkeysstate=no
+-if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then
+- AC_CHECK_X_LIB(Xxf86misc, XF86MiscSetGrabKeysState,
+- [have_xf86miscsetgrabkeysstate=yes],
+- [true], -lXext -lX11)
+- if test "$have_xf86miscsetgrabkeysstate" = yes ; then
+- SAVER_LIBS="$SAVER_LIBS -lXxf86misc"
+- AC_DEFINE(HAVE_XF86MISCSETGRABKEYSSTATE)
+- fi
+-fi
+-
+-
+ ###############################################################################
+ #
+ # Check for HP XHPDisableReset and XHPEnableReset.
+
diff --git a/x11-misc/xscreensaver/xscreensaver-5.45.ebuild b/x11-misc/xscreensaver/xscreensaver-5.45.ebuild
new file mode 100644
index 000000000000..0cb931ea7de0
--- /dev/null
+++ b/x11-misc/xscreensaver/xscreensaver-5.45.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools desktop eutils flag-o-matic multilib optfeature pam
+
+DESCRIPTION="A modular screen saver and locker for the X Window System"
+HOMEPAGE="https://www.jwz.org/xscreensaver/"
+SRC_URI="
+ https://www.jwz.org/xscreensaver/${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="caps +gdk-pixbuf gdm +gtk jpeg +locking new-login offensive opengl pam +perl selinux suid systemd xinerama"
+REQUIRED_USE="
+ gdk-pixbuf? ( gtk )
+"
+
+COMMON_DEPEND="
+ >=gnome-base/libglade-2
+ dev-libs/libxml2
+ media-libs/netpbm
+ x11-apps/appres
+ x11-apps/xwininfo
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXft
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ x11-libs/libXt
+ x11-libs/libXxf86vm
+ caps? ( sys-libs/libcap )
+ gdk-pixbuf? (
+ x11-libs/gdk-pixbuf-xlib
+ >=x11-libs/gdk-pixbuf-2.42.0:2
+ )
+ gtk? ( x11-libs/gtk+:2 )
+ jpeg? ( virtual/jpeg:0 )
+ new-login? (
+ gdm? ( gnome-base/gdm )
+ !gdm? ( || ( x11-misc/lightdm lxde-base/lxdm ) )
+ )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ pam? ( sys-libs/pam )
+ systemd? ( >=sys-apps/systemd-221 )
+ xinerama? ( x11-libs/libXinerama )
+"
+# For USE="perl" see output of `qlist xscreensaver | grep bin | xargs grep '::'`
+RDEPEND="
+ ${COMMON_DEPEND}
+ perl? (
+ dev-lang/perl
+ dev-perl/libwww-perl
+ virtual/perl-Digest-MD5
+ )
+ selinux? ( sec-policy/selinux-xscreensaver )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-util/intltool
+ sys-devel/bc
+ sys-devel/gettext
+ virtual/pkgconfig
+ x11-base/xorg-proto
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.45-remove-libXxf86misc-dep.patch
+ "${FILESDIR}"/${PN}-5.45-interix.patch
+ "${FILESDIR}"/${PN}-5.31-pragma.patch
+ "${FILESDIR}"/${PN}-5.44-blurb-hndl-test-passwd.patch
+ "${FILESDIR}"/${PN}-5.44-gentoo.patch
+ "${FILESDIR}"/${PN}-5.45-gcc.patch
+)
+
+src_prepare() {
+ sed -i configure.ac -e '/^ALL_LINGUAS=/d' || die
+ strip-linguas -i po/
+ export ALL_LINGUAS="${LINGUAS}"
+
+ if use new-login && ! use gdm; then #392967
+ sed -i \
+ -e "/default_l.*1/s:gdmflexiserver -ls:${EPREFIX}/usr/libexec/lightdm/&:" \
+ configure{,.ac} || die
+ fi
+
+ default
+
+ if ! use offensive; then
+ sed -i \
+ -e '/boobies/d;/boobs/d;/cock/d;/pussy/d;/viagra/d;/vibrator/d' \
+ hacks/barcode.c || die
+ sed -i \
+ -e 's|erect penis|shuffle board|g' \
+ -e 's|flaccid penis|flaccid anchor|g' \
+ -e 's|vagina|engagement ring|g' \
+ -e 's|Penis|Shuttle|g' \
+ hacks/glx/glsnake.c || break
+ fi
+
+ eapply_user
+
+ eautoconf
+ eautoheader
+}
+
+src_configure() {
+ if use ppc || use ppc64; then
+ filter-flags -maltivec -mabi=altivec
+ append-flags -U__VEC__
+ fi
+
+ unset BC_ENV_ARGS #24568
+ export RPM_PACKAGE_VERSION=no #368025
+
+ econf \
+ $(use_enable locking) \
+ $(use_with caps setcap-hacks) \
+ $(use_with gdk-pixbuf pixbuf) \
+ $(use_with gtk) \
+ $(use_with jpeg) \
+ $(use_with new-login login-manager) \
+ $(use_with opengl gl) \
+ $(use_with pam) \
+ $(use_with suid setuid-hacks) \
+ $(use_with systemd) \
+ $(use_with xinerama xinerama-ext) \
+ --with-app-defaults="${EPREFIX}"/usr/share/X11/app-defaults \
+ --with-configdir="${EPREFIX}"/usr/share/${PN}/config \
+ --with-dpms-ext \
+ --with-hackdir="${EPREFIX}"/usr/$(get_libdir)/misc/${PN} \
+ --with-proc-interrupts \
+ --with-randr-ext \
+ --with-text-file="${EPREFIX}"/etc/gentoo-release \
+ --with-xdbe-ext \
+ --with-xf86gamma-ext \
+ --with-xf86vmode-ext \
+ --with-xinput-ext \
+ --with-xshm-ext \
+ --without-gle \
+ --without-kerberos \
+ --without-motif \
+ --x-includes="${EPREFIX}"/usr/include \
+ --x-libraries="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_install() {
+ emake install_prefix="${D}" install
+
+ dodoc README{,.hacking}
+
+ if use pam; then
+ fperms 755 /usr/bin/${PN}
+ pamd_mimic_system ${PN} auth
+ fi
+
+ rm -f "${ED}"/usr/share/${PN}/config/{electricsheep,fireflies}.xml
+}
+
+pkg_postinst() {
+ optfeature 'Bitmap fonts 75dpi' media-fonts/font-adobe-75dpi
+ optfeature 'Bitmap fonts 100dpi' media-fonts/font-adobe-100dpi
+}