blob: 7913e48c043ce5a82135d9a419ff3cf55a3f6f8a [file] [log] [blame]
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/fvwm-2.5.27-r1.ebuild,v 1.5 2009/11/24 16:28:52 ssuominen Exp $
EAPI=2
inherit eutils flag-o-matic
DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
HOMEPAGE="http://www.fvwm.org/"
SRC_URI="ftp://ftp.fvwm.org/pub/fvwm/version-2/${P}.tar.bz2"
LICENSE="GPL-2 FVWM"
SLOT="0"
KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd"
IUSE="bidi debug doc gtk2-perl netpbm nls perl png readline rplay stroke svg tk truetype vanilla xinerama lock"
COMMON_DEPEND="
sys-libs/zlib
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXau
x11-libs/libxcb
x11-libs/libXcursor
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXpm
x11-libs/libXrandr
x11-libs/libXrender
bidi? ( dev-libs/fribidi )
png? ( media-libs/libpng )
readline? (
sys-libs/ncurses
sys-libs/readline
)
stroke? ( dev-libs/libstroke )
svg? ( gnome-base/librsvg )
truetype? (
media-libs/fontconfig
x11-libs/libXft
)
xinerama? (
x11-proto/xineramaproto
x11-libs/libXinerama
)"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
gtk2-perl? ( dev-perl/gtk2-perl )
perl? ( tk? (
dev-lang/tk
dev-perl/perl-tk
>=dev-perl/X11-Protocol-0.56
)
)
rplay? ( media-sound/rplay )
lock? ( x11-misc/xlockmore )
userland_GNU? ( sys-apps/debianutils )
!x86-fbsd? ( netpbm? ( media-libs/netpbm ) )"
DEPEND="${COMMON_DEPEND}
dev-util/pkgconfig
doc? ( dev-libs/libxslt )
x11-proto/xextproto
x11-proto/xproto"
src_prepare() {
if ! use vanilla; then
# Enables fast translucent menus; patch from fvwm-user mailing list.
epatch "${FILESDIR}/${P}-translucent-menus.diff"
# A Gentoo-specific compatibility patch.
epatch "${FILESDIR}/fvwm-menu-xlock-xlockmore-compat.diff"
fi
}
src_configure() {
local myconf="--libexecdir=/usr/lib --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm --enable-package-subdirs --without-gnome"
# Non-upstream email where bugs should be sent; used in fvwm-bug.
export FVWM_BUGADDR="desktop-wm@gentoo.org"
# Recommended by upstream.
append-flags -fno-strict-aliasing
# Signed chars are required.
use ppc && append-flags -fsigned-char
use readline && myconf="${myconf} --without-termcap-library"
econf ${myconf} \
$(use_enable bidi) \
$(use_enable debug debug-msgs) \
$(use_enable debug command-log) \
$(use_enable doc htmldoc) \
$(use_enable nls) \
$(use_enable nls iconv) \
$(use_enable perl perllib) \
$(use_with png png-library) \
$(use_with readline readline-library) \
$(use_with rplay rplay-library) \
$(use_with stroke stroke-library) \
$(use_enable svg rsvg) \
$(use_enable truetype xft) \
$(use_enable xinerama) \
|| die
}
src_install() {
emake DESTDIR="${D}" install || die
# These are always removed, because gentoo doesn't have anymore
# a dev-perl/gtk-perl package, so, these modules are pointless.
rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Gtk.pm"
find "${D}" -name '*FvwmGtkDebug*' -exec rm -f '{}' \; 2>/dev/null
if ! use lock; then
find "${D}" -name '*fvwm-menu-xlock' -exec rm -f '{}' \; 2>/dev/null
fi
if use perl; then
if ! use tk; then
rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Tk.pm"
if ! use gtk2-perl; then # no tk and no gtk2 bindings
rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm"
find "${D}/usr/share/fvwm/perllib" -depth -type d -exec rmdir '{}' \; 2>/dev/null
fi
fi
# Now, the Gtk2.pm file, it will require dev-perl/gtk2-perl
# so it implies gtk2 as well. That's why we need another use flag.
if ! use gtk2-perl; then
rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Gtk2.pm"
fi
else
# Completely wipe it if ! use perl
rm -rf "${D}/usr/bin/fvwm-perllib" \
"${D}/usr/share/man/man1/fvwm-perllib.1"
fi
# Utility for testing FVWM behaviour by creating a simple window with
# configurable hints.
if use debug; then
dobin "${S}/tests/hints/hints_test"
newdoc "${S}/tests/hints/README" README.hints
fi
# Remove fvwm-convert-2.6 as it does not contain any code.
rm -f "${D}/usr/bin/fvwm-convert-2.6" \
"${D}/usr/share/man/man1/fvwm-convert-2.6.1"
dodir /etc/X11/Sessions
echo "/usr/bin/fvwm" > "${D}/etc/X11/Sessions/${PN}" || die
fperms a+x /etc/X11/Sessions/${PN} || die
dodoc AUTHORS ChangeLog NEWS README \
docs/{ANNOUNCE,BUGS,COMMANDS,CONVENTIONS} \
docs/{DEVELOPERS,error_codes,FAQ,TODO,fvwm.lsm}
# README file for translucent menus patch.
use vanilla || dodoc "${FILESDIR}"/README.translucency
}