summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/fvwm/fvwm-9999.ebuild')
-rw-r--r--x11-wm/fvwm/fvwm-9999.ebuild224
1 files changed, 224 insertions, 0 deletions
diff --git a/x11-wm/fvwm/fvwm-9999.ebuild b/x11-wm/fvwm/fvwm-9999.ebuild
new file mode 100644
index 0000000..7d7cdfc
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-9999.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2007 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"
+
+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"
+
+ECVS_SERVER="cvs.fvwm.org:/home/cvs/fvwm"
+ECVS_MODULE="fvwm"
+ECVS_USER="anonymous"
+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?
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ x11-libs/libXrandr
+ x11-proto/xextproto
+ x11-proto/xproto
+ !x11-wm/fvwm
+ xinerama? ( x11-proto/xineramaproto )
+ dev-libs/libxslt"
+
+src_unpack() {
+
+ cvs_src_unpack
+ 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
+ # 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
+ 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.patch
+
+ cd "${S}"; eautoreconf
+}
+
+src_compile() {
+ local myconf="--libexecdir=/usr/lib --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm --enable-package-subdirs"
+
+ # use readline in FvwmConsole.
+ if use readline; then
+ myconf="${myconf} --without-termcap-library"
+ fi
+
+ local myconf="--libexecdir=/usr/lib --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm --enable-package-subdirs"
+
+ # use readline in FvwmConsole.
+ if use readline; then
+ myconf="${myconf} --without-termcap-library"
+ fi
+
+ # FvwmGtk can be built as a gnome application, or a Gtk+ application.
+ if ! use gtk; then
+ myconf="${myconf} --disable-gtk --without-gnome"
+ else
+ if ! use imlib; then
+ einfo "ATTN: You can safely ignore any imlib related configure errors."
+ myconf="${myconf} --with-imlib-prefix=${T}"
+ fi
+ myconf="${myconf} --without-gnome"
+ fi
+
+ # taviso IS NOT maintainer of this ebuild
+ # dont bother him about this
+ export FVWM_BUGADDR="i92guboj@terra.es"
+
+ # reccommended by upstream
+ append-flags -fno-strict-aliasing
+
+ # signed chars are required
+ if use ppc; then
+ append-flags -fsigned-char
+ fi
+
+ cd ${S}
+ econf ${myconf} \
+ `use_enable truetype xft` \
+ `use_with stroke stroke-library` \
+ `use_with xpm xpm-library` \
+ `use_enable nls` \
+ `use_enable nls iconv` \
+ `use_with png png-library` \
+ `use_enable bidi` \
+ `use_enable xinerama` \
+ `use_enable debug debug-msgs` \
+ `use_enable debug command-log` \
+ `use_enable perl perllib` \
+ `use_with readline readline-library` \
+ `use_enable svg rsvg` \
+ `use_enable session sm` \
+ `use_enable shape` \
+ `use_enable doc htmldoc` \
+ `use_with rplay rplay-library` || die
+ emake || die
+}
+
+src_install() {
+
+ emake DESTDIR=${D} install || die
+
+ 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/}
+ 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
+ fi
+ else
+ # Remove useless script if perllib isnt required.
+ 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.
+ if use debug; then
+ 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
+
+ # desktop entry for gdm, kdm, ...
+ dodir /usr/share/xsessions
+ insinto /usr/share/xsessions
+ doins ${FILESDIR}/${PN}.desktop
+
+ 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 ${FILESDIR}/README.translucency
+}
+
+pkg_postinst() {
+ ewarn
+ ewarn "This is a live CVS ebuild, it is unstable by nature, and is"
+ ewarn "not related to the Gentoo Developers in any way, so don't"
+ ewarn "ever report a bug about x11-wm/fvwm if you are using this"
+ ewarn "ebuild. If you need support try here:"
+ ewarn "http://forums.gentoo.org/viewtopic-t-465973-highlight-.html"
+ ewarn
+ ewarn "For information about the changes in this release, please"
+ ewarn "refer to the NEWS file."
+ ewarn
+}