145 lines
4.3 KiB
Bash
145 lines
4.3 KiB
Bash
# Copyright 1999-2011 Gentoo Foundation
|
||
# Distributed under the terms of the GNU General Public License v2
|
||
# $Header: /var/cvsroot/gentoo-x86/gnome-extra/gnome-screensaver/gnome-screensaver-2.30.2-r1.ebuild,v 1.8 2011/11/28 18:38:09 tetromino Exp $
|
||
|
||
EAPI="2"
|
||
|
||
inherit eutils gnome2 multilib autotools
|
||
|
||
DESCRIPTION="Replaces xscreensaver, integrating with the desktop."
|
||
HOMEPAGE="http://live.gnome.org/GnomeScreensaver"
|
||
SRC_URI="${SRC_URI}
|
||
branding? ( http://www.gentoo.org/images/gentoo-logo.svg )"
|
||
|
||
LICENSE="GPL-2"
|
||
SLOT="0"
|
||
KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd"
|
||
KERNEL_IUSE="kernel_linux"
|
||
IUSE="branding debug doc libnotify opengl pam $KERNEL_IUSE"
|
||
|
||
RDEPEND=">=gnome-base/gconf-2.6.1:2
|
||
>=x11-libs/gtk+-2.14.0:2
|
||
>=gnome-base/gnome-desktop-2.29.0:2
|
||
>=gnome-base/gnome-menus-2.12:0
|
||
>=dev-libs/glib-2.15:2
|
||
>=gnome-base/libgnomekbd-0.1
|
||
>=dev-libs/dbus-glib-0.71
|
||
libnotify? ( x11-libs/libnotify )
|
||
opengl? ( virtual/opengl )
|
||
pam? ( virtual/pam )
|
||
!pam? ( kernel_linux? ( sys-apps/shadow ) )
|
||
x11-libs/libX11
|
||
x11-libs/libXext
|
||
x11-libs/libXrandr
|
||
x11-libs/libXScrnSaver
|
||
x11-libs/libXxf86misc
|
||
x11-libs/libXxf86vm"
|
||
DEPEND="${RDEPEND}
|
||
>=dev-util/pkgconfig-0.9
|
||
>=dev-util/intltool-0.40
|
||
doc? (
|
||
app-text/xmlto
|
||
~app-text/docbook-xml-dtd-4.1.2
|
||
~app-text/docbook-xml-dtd-4.4 )
|
||
x11-proto/xextproto
|
||
x11-proto/randrproto
|
||
x11-proto/scrnsaverproto
|
||
x11-proto/xf86miscproto
|
||
gnome-base/gnome-common"
|
||
|
||
DOCS="AUTHORS ChangeLog HACKING NEWS README TODO"
|
||
|
||
pkg_setup() {
|
||
G2CONF="${G2CONF}
|
||
$(use_enable doc docbook-docs)
|
||
$(use_enable debug)
|
||
$(use_with libnotify)
|
||
$(use_with opengl gl)
|
||
$(use_enable pam)
|
||
--enable-locking
|
||
--with-xf86gamma-ext
|
||
--with-kbd-layout-indicator
|
||
--with-xscreensaverdir=/usr/share/xscreensaver/config
|
||
--with-xscreensaverhackdir=/usr/$(get_libdir)/misc/xscreensaver"
|
||
}
|
||
|
||
src_prepare() {
|
||
gnome2_src_prepare
|
||
|
||
# libnotify support was removed from trunk, so not needed for next release
|
||
epatch "${FILESDIR}/${P}-libnotify-0.7.patch"
|
||
|
||
# The dialog uses libxklavier directly, so link against it, upstream bug #634949
|
||
epatch "${FILESDIR}/${P}-libxklavier-configure.patch"
|
||
|
||
# Fix QA warning, upstream bug #637676
|
||
epatch "${FILESDIR}/${P}-popsquares-header.patch"
|
||
|
||
# Fix fading on nvidia setups, upstream bugs #610294 and #618932
|
||
epatch "${FILESDIR}/${P}-nvidia-fade.patch"
|
||
epatch "${FILESDIR}/${P}-nvidia-fade2.patch"
|
||
|
||
# Don't run twice, upstream bug #642462
|
||
epatch "${FILESDIR}/${P}-prevent-twice.patch"
|
||
|
||
# Don't user name owner proxies for SessionManager, upstream bug #611207
|
||
epatch "${FILESDIR}/${P}-name-manager.patch"
|
||
|
||
# Fix intltoolize broken file, see upstream #577133
|
||
sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in \
|
||
|| die "sed failed"
|
||
|
||
intltoolize --force --copy --automake || die "intltoolize failed"
|
||
eautoreconf
|
||
}
|
||
|
||
src_install() {
|
||
gnome2_src_install
|
||
|
||
# Install the conversion script in the documentation
|
||
dodoc "${S}/data/migrate-xscreensaver-config.sh"
|
||
dodoc "${S}/data/xscreensaver-config.xsl"
|
||
|
||
# Conversion information
|
||
sed -e "s:\${PF}:${PF}:" < "${FILESDIR}/xss-conversion-2.txt" \
|
||
> "${S}/xss-conversion.txt" || die "sed failed"
|
||
|
||
dodoc "${S}/xss-conversion.txt"
|
||
|
||
# Non PAM users will need this suid to read the password hashes.
|
||
# OpenPAM users will probably need this too when
|
||
# http://bugzilla.gnome.org/show_bug.cgi?id=370847
|
||
# is fixed.
|
||
if ! use pam ; then
|
||
fperms u+s /usr/libexec/gnome-screensaver-dialog
|
||
fi
|
||
|
||
if use branding ; then
|
||
insinto /usr/share/pixmaps/
|
||
doins "${DISTDIR}/gentoo-logo.svg" || die "doins 1 failed"
|
||
insinto /usr/share/applications/screensavers/
|
||
doins "${FILESDIR}/gentoologo-floaters.desktop" || die "doins 2 failed"
|
||
fi
|
||
}
|
||
|
||
pkg_postinst() {
|
||
gnome2_pkg_postinst
|
||
|
||
if has_version "<x11-base/xorg-server-1.5.3-r4" ; then
|
||
ewarn "You have a too old xorg-server installation. This will cause"
|
||
ewarn "gnome-screensaver to eat up your CPU. Please consider upgrading."
|
||
echo
|
||
fi
|
||
|
||
if has_version "<x11-misc/xscreensaver-4.22-r2" ; then
|
||
ewarn "You have xscreensaver installed, you probably want to disable it."
|
||
ewarn "To prevent a duplicate screensaver entry in the menu, you need to"
|
||
ewarn "build xscreensaver with -gnome in the USE flags."
|
||
ewarn "echo \"x11-misc/xscreensaver -gnome\" >> /etc/portage/package.use"
|
||
|
||
echo
|
||
fi
|
||
|
||
elog "Information for converting screensavers is located in "
|
||
elog "/usr/share/doc/${PF}/xss-conversion.txt.${PORTAGE_COMPRESS}"
|
||
}
|