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