summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Pawlik <nelchael@gentoo.org>2006-06-04 10:01:47 +0000
committerKrzysztof Pawlik <nelchael@gentoo.org>2006-06-04 10:01:47 +0000
commit45a5b6090decf74cd6c1716a4353423bbcced4ff (patch)
treed28802efd931a139efff8f7aa0217eacb5a4b96e /x11-misc
parentFix by Pablo De Nápoli to make sure all_devices is an exported symbol #13393... (diff)
downloadgentoo-2-45a5b6090decf74cd6c1716a4353423bbcced4ff.tar.gz
gentoo-2-45a5b6090decf74cd6c1716a4353423bbcced4ff.tar.bz2
gentoo-2-45a5b6090decf74cd6c1716a4353423bbcced4ff.zip
Version bump, see bug #135210. This version has changed API, all third party screen savers will not work until ported to the new API by upstream.
(Portage version: 2.1_rc4-r1)
Diffstat (limited to 'x11-misc')
-rw-r--r--x11-misc/xscreensaver/ChangeLog10
-rw-r--r--x11-misc/xscreensaver/files/digest-xscreensaver-5.003
-rw-r--r--x11-misc/xscreensaver/files/xscreensaver-5.00-gentoo.patch157
-rw-r--r--x11-misc/xscreensaver/files/xscreensaver-5.00-nsfw.patch146
-rw-r--r--x11-misc/xscreensaver/xscreensaver-5.00.ebuild192
5 files changed, 507 insertions, 1 deletions
diff --git a/x11-misc/xscreensaver/ChangeLog b/x11-misc/xscreensaver/ChangeLog
index ae16c2cd1ad4..7b2c6db13e32 100644
--- a/x11-misc/xscreensaver/ChangeLog
+++ b/x11-misc/xscreensaver/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-misc/xscreensaver
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-misc/xscreensaver/ChangeLog,v 1.137 2006/05/24 21:03:55 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/xscreensaver/ChangeLog,v 1.138 2006/06/04 10:01:47 nelchael Exp $
+
+*xscreensaver-5.00 (04 Jun 2006)
+
+ 04 Jun 2006; Krzysiek Pawlik <nelchael@gentoo.org>
+ +files/xscreensaver-5.00-gentoo.patch,
+ +files/xscreensaver-5.00-nsfw.patch, +xscreensaver-5.00.ebuild:
+ Version bump, see bug #135210. This version has changed API, all third party
+ screen savers will not work until ported to the new API by upstream.
24 May 2006; Michael Hanselmann <hansmi@gentoo.org>
xscreensaver-4.24.ebuild:
diff --git a/x11-misc/xscreensaver/files/digest-xscreensaver-5.00 b/x11-misc/xscreensaver/files/digest-xscreensaver-5.00
new file mode 100644
index 000000000000..a3b7450ad65a
--- /dev/null
+++ b/x11-misc/xscreensaver/files/digest-xscreensaver-5.00
@@ -0,0 +1,3 @@
+MD5 2c26877fb0acd508b9a726dce6a77f78 xscreensaver-5.00.tar.gz 5263478
+RMD160 7630ff42cfd24557cf1459902ddc6256004fc938 xscreensaver-5.00.tar.gz 5263478
+SHA256 976e888bead1185ce3116a92df2829f9fe93061d0539f5d8036ca0ddc016d80f xscreensaver-5.00.tar.gz 5263478
diff --git a/x11-misc/xscreensaver/files/xscreensaver-5.00-gentoo.patch b/x11-misc/xscreensaver/files/xscreensaver-5.00-gentoo.patch
new file mode 100644
index 000000000000..ace6b251d51f
--- /dev/null
+++ b/x11-misc/xscreensaver/files/xscreensaver-5.00-gentoo.patch
@@ -0,0 +1,157 @@
+diff -Nru xscreensaver-5.00.vanilla/configure.in xscreensaver-5.00/configure.in
+--- xscreensaver-5.00.vanilla/configure.in 2006-05-24 00:07:00.000000000 +0200
++++ xscreensaver-5.00/configure.in 2006-06-04 11:35:01.000000000 +0200
+@@ -717,6 +717,8 @@
+ # Look for the directory under a standard set of common directories.
+ # Check X11 before X11Rn because it's often a symlink to the current release.
+ for ac_dir in \
++ /usr/lib/X11/app-defaults \
++ \
+ /usr/X11/lib/app-defaults \
+ /usr/X11R6/lib/app-defaults \
+ /usr/X11R6/lib/X11/app-defaults \
+@@ -747,7 +749,6 @@
+ /usr/x386/lib/X11/app-defaults \
+ /usr/XFree86/lib/X11/app-defaults \
+ \
+- /usr/lib/X11/app-defaults \
+ /usr/local/lib/X11/app-defaults \
+ /usr/unsupported/lib/X11/app-defaults \
+ /usr/athena/lib/X11/app-defaults \
+@@ -4054,41 +4055,7 @@
+ # Now let's warn if there's a previous RPM version already installed.
+ # But don't bother with this test if we are currently *building* an RPM.
+
+-if test -z "$RPM_PACKAGE_VERSION" ; then
+-
+- rpmnames="xscreensaver xscreensaver-base xscreensaver-extras"
+-
+- # M4 sucks!!
+- changequote(X,Y)
+- rpmv=`(rpm -qv $rpmnames) 2>/dev/null | \
+- sed -n 's/^[-a-z]*-\([0-9][0-9]*[.][0-9][0-9a-z]*\)-.*$/\1/p' | \
+- head -1`
+- changequote([,])
+-
+- if test \! -z "$rpmv" ; then
+- rpmbdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
+- rpmhdir=`rpm -ql $rpmnames | sed -n 's@^\(.*\)/attraction$@\1@p'`
+-
+- warning=no
+- warnL "There is already an installed RPM of xscreensaver $rpmv"
+- warn2 'on this system. You might want to remove it ("rpm -ve")'
+- warn2 'before running "make install" in this directory.'
+- echo ""
+- warn2 "Alternately, you could build this version of xscreensaver"
+- warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
+- warn2 'file is included. Try "rpmbuild -v -ba xscreensaver.spec".'
+- warn2 "See the RPM documentation for more info."
+- echo ""
+-
+- if test "$rpmbdir" = "$rpmhdir" ; then
+- warn2 "The RPM version was installed in $rpmbdir/."
+- do_dir_warning=yes
+- else
+- warn2 "The RPM version was installed in $rpmbdir/,"
+- warn2 "with demos in $rpmhdir/."
+- fi
+- fi
+-fi
++# Nope - breaks compilation with sandbox violation
+
+ if test "${bindir}" = "${HACKDIR}" ; then
+ do_dir_warning=yes
+diff -Nru xscreensaver-5.00.vanilla/driver/XScreenSaver.ad.in xscreensaver-5.00/driver/XScreenSaver.ad.in
+--- xscreensaver-5.00.vanilla/driver/XScreenSaver.ad.in 2006-05-24 01:01:34.000000000 +0200
++++ xscreensaver-5.00/driver/XScreenSaver.ad.in 2006-06-04 11:36:55.000000000 +0200
+@@ -31,36 +31,36 @@
+ *mode: random
+ *timeout: 0:10:00
+ *cycle: 0:10:00
+-*lockTimeout: 0:00:00
++*lockTimeout: 0:20:00
+ *passwdTimeout: 0:00:30
+-*dpmsEnabled: False
+-*dpmsStandby: 2:00:00
+-*dpmsSuspend: 2:00:00
+-*dpmsOff: 4:00:00
+-*grabDesktopImages: True
++*dpmsEnabled: True
++*dpmsStandby: 1:00:00
++*dpmsSuspend: 1:00:00
++*dpmsOff: 2:00:00
++*grabDesktopImages: False
+ *grabVideoFrames: False
+ *chooseRandomImages: @DEFAULT_IMAGES_P@
+ *imageDirectory: @DEFAULT_IMAGE_DIRECTORY@
+ *nice: 10
+ *memoryLimit: 0
+-*lock: False
++*lock: True
+ *verbose: False
+ *timestamp: True
+ *fade: True
+ *unfade: False
+ *fadeSeconds: 0:00:03
+ *fadeTicks: 20
+-*splash: True
++*splash: False
+ *splashDuration: 0:00:05
+ *visualID: default
+ *captureStderr: True
+ *ignoreUninstalledPrograms: False
+
+-*textMode: file
+-*textLiteral: XScreenSaver
+-*textFile: @DEFAULT_TEXT_FILE@
+-*textProgram: fortune
+-*textURL: http://www.livejournal.com/stats/latest-rss.bml
++*textMode: literal
++*textLiteral: Gentoo Linux
++*textFile: /etc/gentoo-release
++*textProgram: /usr/bin/fortune
++*textURL: http://planet.gentoo.org/rss20.xml
+
+ *overlayTextForeground: #FFFF00
+ *overlayTextBackground: #000000
+@@ -117,7 +117,10 @@
+
+ ! The format used for printing the date and time in the password dialog box
+ ! (see the strftime(3) manual page for details.)
+-*dateFormat: %d-%b-%y (%a); %I:%M %p
++! Preferred time representation for the current locale
++*dateFormat: %x %X
++! Xscreensaver's default
++! *dateFormat: %d-%b-%y (%a); %I:%M %p
+ ! To show the time only:
+ ! *dateFormat: %I:%M %p
+ ! For 24 hour time:
+diff -Nru xscreensaver-5.00.vanilla/driver/xscreensaver.c xscreensaver-5.00/driver/xscreensaver.c
+--- xscreensaver-5.00.vanilla/driver/xscreensaver.c 2006-05-18 01:35:54.000000000 +0200
++++ xscreensaver-5.00/driver/xscreensaver.c 2006-06-04 11:37:16.000000000 +0200
+@@ -1626,10 +1626,12 @@
+ if (hint.res_class) XFree (hint.res_class);
+ }
+
++ /*
+ fprintf (stderr, "%s: %d: unrecognised ClientMessage \"%s\" received\n",
+ blurb(), screen, (str ? str : "(null)"));
+ fprintf (stderr, "%s: %d: for window 0x%lx (%s)\n",
+ blurb(), screen, (unsigned long) w, wdesc);
++ */
+ if (str) XFree (str);
+ }
+
+diff -Nru xscreensaver-5.00.vanilla/hacks/webcollage xscreensaver-5.00/hacks/webcollage
+--- xscreensaver-5.00.vanilla/hacks/webcollage 2006-05-18 01:58:51.000000000 +0200
++++ xscreensaver-5.00/hacks/webcollage 2006-06-04 11:37:18.000000000 +0200
+@@ -845,7 +845,8 @@
+
+
+ sub pick_dictionary() {
+- my @dicts = ("/usr/dict/words",
++ my @dicts = ("/usr/share/dict/cracklib-small",
++ "/usr/dict/words",
+ "/usr/share/dict/words",
+ "/usr/share/lib/dict/words");
+ foreach my $f (@dicts) {
diff --git a/x11-misc/xscreensaver/files/xscreensaver-5.00-nsfw.patch b/x11-misc/xscreensaver/files/xscreensaver-5.00-nsfw.patch
new file mode 100644
index 000000000000..0d1d810dba46
--- /dev/null
+++ b/x11-misc/xscreensaver/files/xscreensaver-5.00-nsfw.patch
@@ -0,0 +1,146 @@
+diff -Nru xscreensaver-5.00.vanilla/driver/XScreenSaver.ad.in xscreensaver-5.00/driver/XScreenSaver.ad.in
+--- xscreensaver-5.00.vanilla/driver/XScreenSaver.ad.in 2006-05-24 01:01:34.000000000 +0200
++++ xscreensaver-5.00/driver/XScreenSaver.ad.in 2006-06-04 11:39:04.000000000 +0200
+@@ -302,10 +302,6 @@
+ fiberlamp -root \n\
+ boxfit -root \n\
+ celtic -root \n\
+-- default-n: webcollage -root \n\
+-- default-n: "WebCollage (whacked)" \
+- webcollage -root -filter \
+- 'vidwhacker -stdin -stdout' \n\
+ - default-n: vidwhacker -root \n\
+ \
+ @GL_KLUDGE@ GL: gears -root \n\
+@@ -488,7 +484,6 @@
+ *hacks.xanalogtv.name: XAnalogTV
+ *hacks.xspirograph.name: XSpiroGraph
+ *hacks.nerverot.name: NerveRot
+-*hacks.webcollage.name: WebCollage
+ *hacks.vidwhacker.name: VidWhacker
+ *hacks.morph3d.name: Morph3D
+ *hacks.bubble3d.name: Bubble3D
+diff -Nru xscreensaver-5.00.vanilla/driver/XScreenSaver_ad.h xscreensaver-5.00/driver/XScreenSaver_ad.h
+--- xscreensaver-5.00.vanilla/driver/XScreenSaver_ad.h 2006-05-24 01:01:34.000000000 +0200
++++ xscreensaver-5.00/driver/XScreenSaver_ad.h 2006-06-04 11:39:04.000000000 +0200
+@@ -203,10 +203,6 @@
+ fiberlamp -root \\n\
+ boxfit -root \\n\
+ celtic -root \\n\
+-- default-n: webcollage -root \\n\
+-- default-n: \"WebCollage (whacked)\" \
+- webcollage -root -filter \
+- 'vidwhacker -stdin -stdout' \\n\
+ - default-n: vidwhacker -root \\n\
+ \
+ GL: gears -root \\n\
+@@ -359,7 +355,6 @@
+ "*hacks.xanalogtv.name: XAnalogTV",
+ "*hacks.xspirograph.name: XSpiroGraph",
+ "*hacks.nerverot.name: NerveRot",
+-"*hacks.webcollage.name: WebCollage",
+ "*hacks.vidwhacker.name: VidWhacker",
+ "*hacks.morph3d.name: Morph3D",
+ "*hacks.bubble3d.name: Bubble3D",
+diff -Nru xscreensaver-5.00.vanilla/hacks/Makefile.in xscreensaver-5.00/hacks/Makefile.in
+--- xscreensaver-5.00.vanilla/hacks/Makefile.in 2006-05-24 01:01:36.000000000 +0200
++++ xscreensaver-5.00/hacks/Makefile.in 2006-06-04 11:39:04.000000000 +0200
+@@ -102,7 +102,7 @@
+ blaster.c bumps.c ripples.c xspirograph.c \
+ nerverot.c xrayswarm.c hyperball.c zoom.c whirlwindwarp.c \
+ rotzoomer.c whirlygig.c speedmine.c vermiculate.c \
+- xpm-pixmap.c webcollage-helper.c twang.c apollonian.c \
++ xpm-pixmap.c twang.c apollonian.c \
+ euler2d.c juggle.c polyominoes.c thornbird.c fluidballs.c \
+ anemone.c halftone.c metaballs.c eruption.c popsquares.c \
+ barcode.c piecewise.c cloudlife.c fontglide.c apple2.c \
+@@ -111,7 +111,7 @@
+ fuzzyflakes.c anemotaxis.c memscroller.c substrate.c \
+ intermomentary.c fireworkx.c fireworkx_mmx.S fiberlamp.c \
+ boxfit.c interaggregate.c celtic.c
+-SCRIPTS = vidwhacker webcollage ljlatest
++SCRIPTS = vidwhacker ljlatest
+
+ # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
+ # but that are not shipped with xscreensaver itself.
+@@ -139,7 +139,7 @@
+ blaster.o bumps.o ripples.o xspirograph.o \
+ nerverot.o xrayswarm.o hyperball.o zoom.o whirlwindwarp.o \
+ rotzoomer.o whirlygig.o speedmine.o vermiculate.o \
+- xpm-pixmap.o webcollage-helper.o twang.o apollonian.o \
++ xpm-pixmap.o twang.o apollonian.o \
+ euler2d.o juggle.o polyominoes.o thornbird.o fluidballs.o \
+ anemone.o halftone.o metaballs.o eruption.o popsquares.o \
+ barcode.o piecewise.o cloudlife.o fontglide.o apple2.o \
+@@ -171,7 +171,7 @@
+ celtic \
+ @JPEG_EXES@
+ SEXES = sonar
+-JPEG_EXES = webcollage-helper
++JPEG_EXES =
+ EXES = $(NEXES) $(SEXES)
+
+ HACK_OBJS_1 = $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
+@@ -208,7 +208,7 @@
+ spotlight.man squiral.man starfish.man strange.man \
+ swirl.man t3d.man thornbird.man triangle.man truchet.man \
+ twang.man vermiculate.man vidwhacker.man vines.man \
+- wander.man webcollage.man whirlwindwarp.man whirlygig.man \
++ wander.man whirlwindwarp.man whirlygig.man \
+ worm.man xflame.man xjack.man xlyap.man xmatrix.man \
+ xrayswarm.man xspirograph.man xsublim.man \
+ zoom.man halftone.man eruption.man metaballs.man \
+@@ -1520,7 +1520,6 @@
+ wander.o: ../config.h
+ wander.o: $(srcdir)/screenhackI.h
+ wander.o: $(srcdir)/screenhack.h
+-webcollage-helper.o: ../config.h
+ whirlwindwarp.o: ../config.h
+ whirlwindwarp.o: $(srcdir)/screenhackI.h
+ whirlwindwarp.o: $(srcdir)/screenhack.h
+diff -Nru xscreensaver-5.00.vanilla/hacks/glx/glsnake.c xscreensaver-5.00/hacks/glx/glsnake.c
+--- xscreensaver-5.00.vanilla/hacks/glx/glsnake.c 2006-05-03 21:39:21.000000000 +0200
++++ xscreensaver-5.00/hacks/glx/glsnake.c 2006-06-04 11:40:30.000000000 +0200
+@@ -565,21 +565,6 @@
+ ZERO, PIN, ZERO, ZERO, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, ZERO,
+ ZERO, PIN, ZERO }
+ },
+- { "erect penis", /* thanks benno */
+- { PIN, ZERO, PIN, PIN, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, PIN,
+- PIN, ZERO, ZERO, ZERO, RIGHT, ZERO, ZERO, ZERO, ZERO, ZERO, ZERO,
+- ZERO, ZERO }
+- },
+- { "flaccid penis",
+- { PIN, ZERO, PIN, PIN, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, PIN,
+- PIN, ZERO, ZERO, ZERO, RIGHT, PIN, ZERO, ZERO, ZERO, ZERO, ZERO,
+- ZERO, ZERO }
+- },
+- { "vagina",
+- { RIGHT, ZERO, ZERO, ZERO, RIGHT, ZERO, ZERO, PIN, ZERO, ZERO,
+- LEFT, ZERO, ZERO, ZERO, LEFT, ZERO, LEFT, PIN, LEFT, PIN, RIGHT,
+- PIN, RIGHT, ZERO }
+- },
+ { "mask",
+ { ZERO, RIGHT, LEFT, PIN, RIGHT, RIGHT, PIN, ZERO, ZERO, PIN,
+ ZERO, ZERO, PIN, ZERO, PIN, ZERO, PIN, ZERO, ZERO, PIN, ZERO,
+@@ -995,9 +980,6 @@
+ { "Parrot",
+ { ZERO, ZERO, ZERO, ZERO, RIGHT, RIGHT, ZERO, LEFT, PIN, RIGHT, ZERO, RIGHT, ZERO, RIGHT, ZERO, RIGHT, PIN, LEFT, ZERO, RIGHT, LEFT, ZERO, PIN, ZERO }
+ },
+- { "Penis",
+- { PIN, PIN, RIGHT, ZERO, PIN, PIN, ZERO, PIN, ZERO, ZERO, RIGHT, PIN, LEFT, ZERO, ZERO, PIN, ZERO, PIN, PIN, ZERO, LEFT, PIN, PIN, ZERO }
+- },
+ { "PictureComingSoon",
+ { LEFT, LEFT, ZERO, RIGHT, LEFT, PIN, RIGHT, RIGHT, PIN, RIGHT, LEFT, PIN, LEFT, RIGHT, PIN, RIGHT, RIGHT, PIN, RIGHT, LEFT, ZERO, RIGHT, RIGHT, ZERO }
+ },
+diff -Nru xscreensaver-5.00.vanilla/po/POTFILES.in xscreensaver-5.00/po/POTFILES.in
+--- xscreensaver-5.00.vanilla/po/POTFILES.in 2006-05-24 01:01:41.000000000 +0200
++++ xscreensaver-5.00/po/POTFILES.in 2006-06-04 11:39:04.000000000 +0200
+@@ -203,7 +203,6 @@
+ hacks/config/vidwhacker.xml
+ hacks/config/vines.xml
+ hacks/config/wander.xml
+-hacks/config/webcollage.xml
+ hacks/config/whirlwindwarp.xml
+ hacks/config/whirlygig.xml
+ hacks/config/worm.xml
diff --git a/x11-misc/xscreensaver/xscreensaver-5.00.ebuild b/x11-misc/xscreensaver/xscreensaver-5.00.ebuild
new file mode 100644
index 000000000000..f5feb9d31c95
--- /dev/null
+++ b/x11-misc/xscreensaver/xscreensaver-5.00.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-misc/xscreensaver/xscreensaver-5.00.ebuild,v 1.1 2006/06/04 10:01:47 nelchael Exp $
+
+inherit eutils flag-o-matic pam fixheadtails autotools
+
+IUSE="gnome jpeg kerberos krb4 insecure-savers new-login nls offensive opengl pam xinerama"
+
+DESCRIPTION="A modular screen saver and locker for the X Window System"
+SRC_URI="http://www.jwz.org/xscreensaver/${P}.tar.gz"
+HOMEPAGE="http://www.jwz.org/xscreensaver/"
+
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+
+RDEPEND="|| ( (
+ x11-libs/libXxf86misc
+ x11-apps/xwininfo
+ x11-apps/appres
+ xinerama? ( x11-libs/libXinerama ) )
+ virtual/x11 )
+ media-libs/netpbm
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/libxml2-2.5
+ >=x11-libs/gtk+-2
+ >=gnome-base/libglade-1.99
+ >=dev-libs/glib-2
+ pam? ( virtual/pam )
+ kerberos? ( krb4? ( >=app-crypt/mit-krb5-1.2.5 ) )
+ jpeg? ( media-libs/jpeg )
+ opengl? ( virtual/opengl
+ >=media-libs/gle-3.0.1 )
+ !arm? ( new-login? ( gnome-base/gdm ) )"
+
+DEPEND="${RDEPEND}
+ || ( ( x11-proto/xf86vidmodeproto
+ x11-proto/xextproto
+ x11-proto/scrnsaverproto
+ x11-proto/recordproto
+ x11-proto/xf86miscproto
+ xinerama? ( x11-proto/xineramaproto ) )
+ virtual/x11 )
+ sys-devel/bc
+ dev-util/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+# simple workaround for the flurry screensaver
+filter-flags -mabi=altivec
+filter-flags -maltivec
+append-flags -U__VEC__
+
+pkg_setup() {
+
+ if use kerberos && ! use krb4 ; then
+ ewarn
+ ewarn "You have enabled kerberos without krb4 support. Kerberos will be"
+ ewarn "disabled unless kerberos 4 support has been compiled with your"
+ ewarn "kerberos libraries. To do that, you should abort now and do:"
+ ewarn
+ ewarn " USE=\"krb4\" emerge mit-krb5"
+ ewarn
+ epause
+ fi
+
+ if use arm && use new-login; then
+ ewarn "gnome-base/gdm is required for USE=\"new-login\", and is not"
+ ewarn "available for the arm platform. please disable this use flag"
+ die "new-login USE is not supported on arm"
+ fi
+
+}
+
+src_unpack() {
+
+ unpack "${A}"
+ cd "${S}"
+
+ # Bug fixes:
+ epatch "${FILESDIR}/${P}-gentoo.patch"
+
+ # disable not-safe-for-work xscreensavers
+ use offensive || epatch "${FILESDIR}/${P}-nsfw.patch"
+
+ eautoreconf
+
+ # change old head/tail to POSIX ones
+ ht_fix_all
+
+}
+
+src_compile() {
+
+ local myconf
+ use kerberos && use krb4 \
+ && myconf="${myconf} --with-kerberos" \
+ || myconf="${myconf} --without-kerberos"
+
+ unset BC_ENV_ARGS
+ econf \
+ --with-hackdir=/usr/lib/misc/xscreensaver \
+ --with-configdir=/usr/share/xscreensaver/config \
+ --x-libraries=/usr/$(get_libdir) \
+ --x-includes=/usr/include \
+ --with-mit-ext \
+ --with-dpms-ext \
+ --with-xf86vmode-ext \
+ --with-xf86gamma-ext \
+ --with-proc-interrupts \
+ --with-xpm \
+ --with-xshm-ext \
+ --with-xdbe-ext \
+ --enable-locking \
+ --with-gtk \
+ --with-xml \
+ $(use_with insecure-savers setuid-hacks) \
+ $(use_with new-login login-manager) \
+ $(use_with xinerama xinerama-ext) \
+ $(use_with pam) \
+ $(use_with opengl gl) $(use_with opengl gle) \
+ $(use_with jpeg) \
+ $(use_enable nls) \
+ ${myconf} || die "econf failed"
+
+ emake || die "emake failed"
+
+}
+
+src_install() {
+
+ [[ -n "${KDEDIR}" ]] && dodir "${KDEDIR}/bin"
+
+ make install_prefix="${D}" install || die "make install failed"
+
+ dodoc README
+
+ # install correctly in gnome, including info about configuration preferences
+ if use gnome ; then
+
+ dodir /usr/share/gnome/capplets
+ insinto /usr/share/gnome/capplets
+ doins driver/screensaver-properties.desktop
+
+ dodir /usr/share/pixmaps
+ insinto /usr/share/pixmaps
+ newins "${S}/utils/images/logo-50.xpm"
+ xscreensaver.xpm
+
+ dodir /usr/share/control-center-2.0/capplets
+ insinto /usr/share/control-center-2.0/capplets
+ newins "${FILESDIR}/desktop_entries/screensaver-properties.desktop"
+
+ fi
+
+ # Remove "extra" capplet
+ rm -f "${D}/usr/share/applications/gnome-screensaver-properties.desktop"
+
+ use pam && fperms 755 /usr/bin/xscreensaver
+ pamd_mimic_system xscreensaver auth
+
+}
+
+pkg_postinst() {
+
+ if ! use new-login; then
+ einfo
+ einfo "You have chosen to not use the new-login USE flag."
+ einfo "This is a new USE flag which enables individuals to"
+ einfo "create new logins when the screensaver is active,"
+ einfo "allowing others to use their account, even though the"
+ einfo "screen is locked to another account. If you want this"
+ einfo "feature, please recompile with USE=\"new-login\"."
+ einfo
+ fi
+
+ if use insecure-savers;then
+ ewarn
+ ewarn "You have chosen USE=insecure-savers. While upstream"
+ ewarn "has made every effort to make sure these savers do not"
+ ewarn "abuse their setuid root status, the possibilty exists that"
+ ewarn "someone will exploit xscreensaver and will be able to gain"
+ ewarn "root privledges. You have been warned."
+ ewarn
+ fi
+
+ ewarn
+ ewarn "In XScreenSaver 5.00 API was changed. All third party screen savers"
+ ewarn "need to be ported to the new API. Until then they will not work."
+ ewarn
+ epause
+
+}