# 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" IUSE="bidi debug default-charset-fix doc extras 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" 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 if use default-charset-fix; then cd ${S}; epatch ${EPATCH_SOURCE}/DefaultCharset.patch fi 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 }