blob: 5d1e41f3e99422018702f1bf21a66e4e284eecca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/xscreensaver/xscreensaver-5.04.ebuild,v 1.2 2007/12/30 20:06:21 drac Exp $
inherit autotools eutils fixheadtails flag-o-matic pam
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"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="jpeg new-login offensive opengl pam suid xinerama"
RDEPEND="x11-libs/libXxf86misc
x11-apps/xwininfo
x11-apps/appres
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 )
jpeg? ( media-libs/jpeg )
opengl? ( virtual/opengl )
xinerama? ( x11-libs/libXinerama )
new-login? ( gnome-base/gdm )"
DEPEND="${RDEPEND}
x11-proto/xf86vidmodeproto
x11-proto/xextproto
x11-proto/scrnsaverproto
x11-proto/recordproto
x11-proto/xf86miscproto
sys-devel/bc
dev-util/pkgconfig
sys-devel/gettext
dev-util/intltool
xinerama? ( x11-proto/xineramaproto )"
src_unpack() {
unpack ${A}
cd "${S}"
# Gentoo specific hacks and settings.
epatch "${FILESDIR}"/${P}-gentoo.patch
use offensive || epatch "${FILESDIR}"/${P}-nsfw.patch
# TODO. Get this fixed upstream.
epatch "${FILESDIR}"/${P}-desktop-entry.patch
eautoreconf
# TODO. Get this fixed upstream.
ht_fix_all
}
src_compile() {
# Simple workaround for the flurry screensaver.
# TODO. Figure out if this is still needed?
filter-flags -mabi=altivec
filter-flags -maltivec
append-flags -U__VEC__
unset BC_ENV_ARGS
econf \
--with-x-app-defaults=/usr/share/X11/app-defaults \
--with-hackdir=/usr/lib/misc/xscreensaver \
--with-configdir=/usr/share/xscreensaver/config \
--x-libraries=/usr/$(get_libdir) \
--x-includes=/usr/include \
--with-dpms-ext \
--with-xf86vmode-ext \
--with-xf86gamma-ext \
--with-proc-interrupts \
--with-xpm \
--with-xshm-ext \
--with-xdbe-ext \
--enable-locking \
--with-gtk \
--without-kerberos \
--without-gle \
$(use_with suid setuid-hacks) \
$(use_with new-login login-manager) \
$(use_with xinerama xinerama-ext) \
$(use_with pam) \
$(use_with opengl gl) \
$(use_with jpeg)
# Bug 155049.
emake -j1 || die "emake failed."
}
src_install() {
emake install_prefix="${D}" install || die "emake install failed."
dodoc README*
use pam && fperms 755 /usr/bin/xscreensaver
pamd_mimic_system xscreensaver auth
# Bug 135549.
rm -f "${D}"/usr/share/xscreensaver/config/electricsheep.xml
rm -f "${D}"/usr/share/xscreensaver/config/fireflies.xml
dodir /usr/share/man/man6x
mv "${D}"/usr/share/man/man6/worm.6 \
"${D}"/usr/share/man/man6x/worm.6x
}
pkg_postinst() {
if ! use new-login; then
elog
elog "You have chosen to not use the new-login USE flag."
elog "This is a new USE flag which enables individuals to"
elog "create new logins when the screensaver is active,"
elog "allowing others to use their account, even though the"
elog "screen is locked to another account. If you want this"
elog "feature, please recompile with USE=\"new-login\"."
elog
fi
}
|