You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-wm/fvwm/fvwm-2.6.5-r3.ebuild

170 lines
4.7 KiB

# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit autotools 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 ~arm ~ia64 ppc ~ppc64 ~sparc x86"
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:0= )
readline? (
sys-libs/ncurses:0=
sys-libs/readline:0=
)
stroke? ( dev-libs/libstroke )
svg? ( gnome-base/librsvg )
truetype? (
media-libs/fontconfig
x11-libs/libXft
)
xinerama? ( x11-libs/libXinerama )
"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
gtk2-perl? ( dev-perl/Gtk2 )
perl? ( tk? (
dev-lang/tk
dev-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}
virtual/pkgconfig
x11-base/xorg-proto
doc? ( dev-libs/libxslt )
"
src_prepare() {
if ! use vanilla; then
# Enables fast translucent menus; patch from fvwm-user mailing list.
epatch "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
# Allow more mouse buttons, bug #411811
epatch "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
# Apply user-provided patches to the source tree, bug #411811
epatch_user
fi
epatch "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
epatch "${FILESDIR}/${PN}-2.6.8-perl528.patch" #674742
eautoreconf
}
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
myconf="${myconf} --disable-gtk"
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) \
--docdir="/usr/share/doc/${P}"
}
src_install() {
emake DESTDIR="${D}" docdir="/usr/share/doc/${P}" install
# 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
# 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
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.
if ! use vanilla; then
dodoc "${FILESDIR}"/README.translucency
ewarn "You are using a patched build, so, please, don't"
ewarn "report bugs at the fvwm-workers list unless you are"
ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
fi
}