diff options
Diffstat (limited to 'x11-wm/fvwm/fvwm-9999.ebuild')
-rw-r--r-- | x11-wm/fvwm/fvwm-9999.ebuild | 224 |
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 +} |