summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/fvwm/fvwm-9999.ebuild')
-rw-r--r--x11-wm/fvwm/fvwm-9999.ebuild195
1 files changed, 102 insertions, 93 deletions
diff --git a/x11-wm/fvwm/fvwm-9999.ebuild b/x11-wm/fvwm/fvwm-9999.ebuild
index aaf18bc..943352b 100644
--- a/x11-wm/fvwm/fvwm-9999.ebuild
+++ b/x11-wm/fvwm/fvwm-9999.ebuild
@@ -1,21 +1,19 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit autotools cvs eutils flag-o-matic
-PATCHSET="fvwm-patchset-20070901-r2.tar.bz2"
+PATCHSET="fvwm-2.5.26-patchset.tar.bz2"
DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager - Live CVS version"
HOMEPAGE="http://www.fvwm.org/"
SRC_URI="http://jesgue.homelinux.org/fvwm-files/${PATCHSET}"
-RESTRICT="nomirror"
LICENSE="GPL-2 FVWM"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-# extras use flag disabled until I can check the whole patchset again
-IUSE="bidi debug doc gtk imlib nls perl png readline rplay session shape svg stroke tk translucency truetype xinerama xpm"
+IUSE="bidi debug doc extras gtk gtk2-perl imlib netpbm nls perl png readline rplay session shape svg stroke tk translucency truetype xinerama xpm"
ECVS_SERVER="cvs.fvwm.org:/home/cvs/fvwm"
ECVS_MODULE="fvwm"
@@ -24,66 +22,90 @@ ECVS_PASS="guest"
ECVS_TOPDIR="${DISTDIR}/cvs-src/${ECVS_MODULE}"
S="${WORKDIR}/${ECVS_MODULE}"
-RDEPEND="readline? ( sys-libs/readline sys-libs/ncurses )
- gtk? ( =x11-libs/gtk+-1.2* imlib? ( media-libs/imlib ) )
- rplay? ( media-sound/rplay )
- bidi? ( dev-libs/fribidi )
- png? ( media-libs/libpng )
- svg? ( gnome-base/librsvg )
- stroke? ( dev-libs/libstroke )
- perl? ( tk? (
- dev-lang/tk
- dev-perl/perl-tk
- >=dev-perl/X11-Protocol-0.56 ) )
- truetype? ( virtual/xft media-libs/fontconfig )
- userland_GNU? ( sys-apps/debianutils )
- dev-lang/perl
- sys-libs/zlib
- x11-libs/libXpm
- x11-libs/libXft
- xinerama? ( x11-libs/libXinerama )
- svg? ( gnome-base/librsvg )"
-# XXX: gtk2 perl bindings require dev-perl/gtk2-perl, worth a dependency?
-# XXX: gtk perl bindings require dev-perl/gtk-perl, worth a dependency?
-# XXX: netpbm is used by FvwmScript-ScreenDump, worth a dependency?
+RDEPEND="dev-lang/perl
+ bidi? ( dev-libs/fribidi )
+ gtk2-perl? (
+ dev-perl/gtk2-perl
+ )
+ netpbm? ( media-libs/netpbm )
+ perl? ( tk? (
+ dev-lang/tk
+ dev-perl/perl-tk
+ >=dev-perl/X11-Protocol-0.56
+ )
+ )
+ rplay? ( media-sound/rplay )
+ userland_GNU? ( sys-apps/debianutils )"
+
DEPEND="${RDEPEND}
- dev-util/pkgconfig
- x11-libs/libXrandr
- x11-proto/xextproto
- x11-proto/xproto
- !x11-wm/fvwm
- xinerama? ( x11-proto/xineramaproto )
- dev-libs/libxslt"
+ dev-libs/libxslt
+ dev-libs/libxml2
+ dev-util/pkgconfig
+ 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
+ x11-proto/xextproto
+ x11-proto/xproto
+ doc? ( dev-libs/libxslt )
+ gtk? (
+ =x11-libs/gtk+-1.2*
+ imlib? ( media-libs/imlib )
+ )
+ png? ( media-libs/libpng )
+ readline? (
+ sys-libs/ncurses
+ sys-libs/readline
+ )
+ stroke? ( dev-libs/libstroke )
+ svg? ( gnome-base/librsvg )
+ truetype? (
+ media-libs/fontconfig
+ virtual/xft
+ )
+ xinerama? (
+ x11-proto/xineramaproto
+ x11-libs/libXinerama
+ )"
src_unpack() {
cvs_src_unpack
- cd ${WORKDIR}; unpack ${A}
+ cd "${WORKDIR}"; unpack ${A}
# Those patches have not effects until they're not used in the
# configuration
- EPATCH_SOURCE="${WORKDIR}/patchset"
- EPATCH_SUFFIX="patch"
- EXTRAS="${WORKDIR}/patchset/extras"
- EPATCH_FORCE="yes"
-
- cd ${S}; epatch "${FILESDIR}/VerticalSeparatorMargins.patch"
- cd ${S}; epatch "${FILESDIR}/04-FlatSeparators-r5.patch"
-# extras use flag disabled until I can check the whole patchset again
-# if use extras; then
-# cd ${S}; epatch ${EXTRAS}
-# fi
+ #EPATCH_SOURCE="${WORKDIR}/patchset"
+ #EPATCH_SUFFIX="patch"
+ #EXTRAS="${WORKDIR}/patchset"
+ #EPATCH_FORCE="yes"
+
+ cd "${S}"; epatch "${FILESDIR}/VerticalSeparatorMargins.patch"
+
+ if use extras; then
+ cd "${S}"; epatch "${WORKDIR}/patchset"
+ fi
+
# this patch enables fast translucent menus in fvwm
# taken from: https://bugs.gentoo.org/show_bug.cgi?id=156240
if use translucency; then
- cd ${S}; epatch ${EPATCH_SOURCE}/fvwm-translucent-menus.patch
+ cd "${S}"; epatch "${FILESDIR}/fvwm-2.5.23-translucent-menus.diff"
fi
# fixing #51287, the fvwm-menu-xlock script is not compatible
# with the xlockmore implementation in portage.
# This is now unconditional, since it is trivial and there is
# no sense in not applying it.
- cd ${S}; epatch ${EPATCH_SOURCE}/fvwm-menu-xlock-xlockmore-compat.diff
+ cd "${S}"; epatch "${FILESDIR}/fvwm-menu-xlock-xlockmore-compat.diff"
cd "${S}"; eautoreconf
}
@@ -126,7 +148,7 @@ src_compile() {
append-flags -fsigned-char
fi
- cd ${S}
+ cd "${S}"
econf ${myconf} \
`use_enable truetype xft` \
`use_with stroke stroke-library` \
@@ -149,65 +171,52 @@ src_compile() {
}
src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
- 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 perl; then
-
- local toolkits="gtk tcltk"
-
if ! use tk; then
- # Remove the Tk bindings (requires perl-tk)
- rm -f ${D}/usr/share/fvwm/perllib/FVWM/Module/Tk.pm
- toolkits=${toolkits/tcltk/}
- fi
- if ! use gtk; then
- # Remove gtk bindings (requires gtk-perl/gtk2-perl)
- rm -f ${D}/usr/share/fvwm/perllib/FVWM/Module/Gtk.pm \
- ${D}/usr/share/fvwm/perllib/FVWM/Module/Gtk2.pm
- toolkits=${toolkits/gtk/}
+ 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
- toolkits=${toolkits// /}
- if ! test "${toolkits}"; then
- # No perl toolkit bindings wanted, remove the unneeded files
- # and empty directories.
- 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
+
+ # 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
- # Remove useless script if perllib isnt required.
- rm -rf ${D}/usr/bin/fvwm-perllib ${D}/usr/share/man/man1/fvwm-perllib.1
+ # Compretely wipe it if ! use perl
+ rm -rf "${D}/usr/bin/fvwm-perllib" \
+ "${D}/usr/share/man/man1/fvwm-perllib.1"
fi
- # neat utility for testing fvwm behaviour on applications setting various
- # hints, creates a simple black window with configurable hints set.
+ # 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
+ dobin "${S}/tests/hints/hints_test"
+ newdoc "${S}/tests/hints/README" README.hints
fi
- # fvwm-convert-2.6 is just a stub, contains no code - remove it for now.
- # fvwm-convert-2.2 has a man page, but the script is no longer distributed.
- rm -f ${D}/usr/bin/fvwm-convert-2.6 ${D}/usr/share/man/man1/fvwm-convert-2.6.1
- rm -f ${D}/usr/share/man/man1/fvwm-convert-2.2.1
-
- # ive included `exec` to save a few bytes of memory.
- echo "#!/bin/bash" > fvwm2
- echo "exec /usr/bin/fvwm2" >> fvwm2
-
- exeinto /etc/X11/Sessions
- doexe fvwm2
+ # 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"
- # desktop entry for gdm, kdm, ...
- dodir /usr/share/xsessions
- insinto /usr/share/xsessions
- doins ${FILESDIR}/${PN}.desktop
+ echo "/usr/bin/fvwm" > "${D}/etc/X11/Sessions/${PN}"
- dodoc AUTHORS ChangeLog COPYING README NEWS docs/ANNOUNCE docs/BUGS \
- docs/COMMANDS docs/DEVELOPERS docs/FAQ docs/error_codes docs/TODO \
- docs/fvwm.lsm
+ dodoc AUTHORS ChangeLog NEWS README \
+ docs/{ANNOUNCE,BUGS,COMMANDS,CONVENTIONS} \
+ docs/{DEVELOPERS,error_codes,FAQ,TODO,fvwm.lsm}
- dodoc ${FILESDIR}/README.translucency
+ # README file for translucent menus patch.
+ use vanilla || dodoc "${FILESDIR}/README.translucency"
}
pkg_postinst() {