diff options
author | Sebastian Pipping <sping@gentoo.org> | 2021-03-12 18:10:07 +0100 |
---|---|---|
committer | Sebastian Pipping <sping@gentoo.org> | 2021-03-12 18:13:52 +0100 |
commit | e1151d3c7e9cebd14f2c8b071bf31e4737377808 (patch) | |
tree | 7c7b5b58918f6549ad96dac355745add66b3b6a3 /x11-misc/xscreensaver | |
parent | app-dicts/aspell-de-alt: Keyword ~m68k per allarches policy (diff) | |
download | gentoo-e1151d3c7e9cebd14f2c8b071bf31e4737377808.tar.gz gentoo-e1151d3c7e9cebd14f2c8b071bf31e4737377808.tar.bz2 gentoo-e1151d3c7e9cebd14f2c8b071bf31e4737377808.zip |
x11-misc/xscreensaver: 5.45
Patches are forward-ports of existing ones
Adds systemd support, optfeature, and a few new so-called XScreenSaver "hacks"
Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Diffstat (limited to 'x11-misc/xscreensaver')
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 +} |