summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-wm/fvwm/Manifest4
-rw-r--r--x11-wm/fvwm/files/04-FlatSeparators-r5.patch216
-rw-r--r--x11-wm/fvwm/files/VerticalSeparatorMargins.patch97
-rw-r--r--x11-wm/fvwm/fvwm-9999.ebuild224
4 files changed, 541 insertions, 0 deletions
diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index 6cb3ba7..c6a7749 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1,5 +1,9 @@
+AUX 04-FlatSeparators-r5.patch 7674 RMD160 3142c9e9954f6fd8206409e22dc69011dd7292f4 SHA1 015dce08cc3ed451b7499037723367c9c71f9e0e SHA256 b4ee1429a4591144987b2daadfc468537e9e1186e7cc1f04efe0c1519098acdc
AUX README.translucency 8910 RMD160 417b3416aef5ddd4b13672a2760d3736cac6f900 SHA1 c1cd348840df7774f62f67aa9e1b1e2ea78219de SHA256 0a4b3f143ee0b6fc32098cbd556b25fdc695a980bc8b4cf032b1dad4a4952ddb
+AUX VerticalSeparatorMargins.patch 3456 RMD160 95e2134f8596b1e73b3f09a92e635c9bc585b26a SHA1 d569de32acea88597ad8c6614b30566690d60f88 SHA256 7b79ab675277e3532a394a4b5b6192a989aa93ec244d4612d3a0804c84f7d848
AUX fvwm-2.5.23-translucent-menus.diff 15765 RMD160 5629e1fcd6d41e7c9f5cfa0a62204d33d83d5c6f SHA1 2ff0c394e1e393cab8249efeeddf917d07a7ba78 SHA256 ad59f0aa1b73fb128143bf5a390185289c296e0d31a4e6e6ca5f046f414752cf
AUX fvwm-menu-xlock-xlockmore-compat.patch 550 RMD160 72af6f306e5869581fcd48c84edfe00adea4a5b9 SHA1 0eccf83c3046e3822737c5facb23f547a062bff8 SHA256 5db8bc279f618096b23fed04b70b626c6ff50c104283d5ece505200db1e5a8af
DIST fvwm-2.5.25.tar.bz2 2516717 RMD160 bf77786a071838304eb4bf8cc14960196c235506 SHA1 8e0f0b1eb888f7fcc27a0dbcc32a5b0f2895df2b SHA256 212dafb5fbace4a72d7a2d2dd6df7445709bad6739162a72879e4a6e942d69fc
+DIST fvwm-patchset-20070901-r2.tar.bz2 37255 RMD160 787fe6f49e497a225648dbdd30b0636d3416a5b0 SHA1 9d56b1f2703feb52987e6aeb22dc151bc0e10d67 SHA256 9342142d216ca5b89c161a9796a08c4effc1b3d8dd41090e3419b051fac639fa
EBUILD fvwm-2.5.25.ebuild 5112 RMD160 9826532c93c02842e5f11b77ddfe70a084ca543e SHA1 d0943d4587c4ee597a3714139158d78662581213 SHA256 59a074f72050e856d649a86e893df93f431fed5265136cad74848df2d80674f3
+EBUILD fvwm-9999.ebuild 6985 RMD160 fadfaa9ca384911f2a5930991a494c7ea80754ca SHA1 60c6c84d287b3c6c4fa2249bc8b7e1c816f8d0f2 SHA256 b7a725d6bd63582a89cfde414263acdf9b2c1709180039fce96d2273176e63a2
diff --git a/x11-wm/fvwm/files/04-FlatSeparators-r5.patch b/x11-wm/fvwm/files/04-FlatSeparators-r5.patch
new file mode 100644
index 0000000..71f0adf
--- /dev/null
+++ b/x11-wm/fvwm/files/04-FlatSeparators-r5.patch
@@ -0,0 +1,216 @@
+diff -r -U3 fvwm/doc/commands/MenuStyle.xml fvwm/doc/commands/MenuStyle.xml
+--- fvwm/doc/commands/MenuStyle.xml 2008-04-18 23:24:45.000000000 +0200
++++ fvwm/doc/commands/MenuStyle.xml 2008-04-18 23:25:57.000000000 +0200
+@@ -58,7 +58,7 @@
+ PopupOffset,
+ TitleWarp / !TitleWarp,
+ TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2,
+-SeparatorsLong / SeparatorsShort,
++SeparatorsLong / SeparatorsShort / FlatSeparators,
+ TrianglesSolid / TrianglesRelief,
+ PopupImmediately / PopupDelayed,
+ PopdownImmediately / PopdownDelayed,
+@@ -432,6 +432,11 @@
+ few pixels to the edges of the menu.</para>
+
+ <para>
++<fvwmopt cmd="MenuStyle" opt="FlatSeparators"/>
++changes the separators so that they are a single pixel thick and
++colored the same as the text.</para>
++
++<para>
+ <fvwmopt cmd="MenuStyle" opt="TrianglesSolid"/> and
+ <fvwmopt cmd="MenuStyle" opt="TrianglesRelief"/>
+ affect how the small triangles for sub menus is drawn. Solid
+diff -r -U3 fvwm/fvwm/menuitem.c fvwm/fvwm/menuitem.c
+--- fvwm/fvwm/menuitem.c 2008-04-18 23:24:45.000000000 +0200
++++ fvwm/fvwm/menuitem.c 2008-04-18 23:27:04.000000000 +0200
+@@ -82,10 +82,14 @@
+ *
+ */
+ static void draw_separator(
+- Window w, GC TopGC, GC BottomGC, int x1, int y, int x2)
++ Window w, GC TopGC, GC BottomGC, GC ForeGC, int x1, int y, int x2,
++ Bool do_flat_separators)
+ {
+ XDrawLine(dpy, w, TopGC , x1, y, x2, y);
+- XDrawLine(dpy, w, BottomGC, x1-1, y+1, x2+1, y+1);
++ if (!do_flat_separators)
++ {
++ XDrawLine(dpy, w, BottomGC, x1-1, y+1, x2+1, y+1);
++ }
+
+ return;
+ }
+@@ -381,6 +385,7 @@
+ /*Pixel fg, fgsh;*/
+ int relief_thickness = ST_RELIEF_THICKNESS(ms);
+ Bool is_item_selected;
++ Bool do_flat_separators;
+ Bool item_cleared = False;
+ Bool xft_clear = False;
+ Bool empty_inter = False;
+@@ -599,6 +604,8 @@
+ * Draw the item itself.
+ */
+
++ do_flat_separators = ST_DO_FLAT_SEPARATOR(ms);
++
+ /* Calculate the separator offsets. */
+ if (ST_HAS_LONG_SEPARATORS(ms))
+ {
+@@ -619,9 +626,9 @@
+ {
+ /* It's a separator. */
+ draw_separator(
+- mpip->w, gcs.shadow_gc, gcs.hilight_gc, sx1,
+- y_offset + y_height - MENU_SEPARATOR_HEIGHT,
+- sx2);
++ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc,
++ sx1, y_offset + y_height - MENU_SEPARATOR_HEIGHT,
++ sx2, do_flat_separators);
+ /* Nothing else to do. */
+ }
+ return;
+@@ -661,8 +668,8 @@
+ if (sx1 < sx2)
+ {
+ draw_separator(
+- mpip->w, gcs.shadow_gc, gcs.hilight_gc,
+- sx1, y, sx2);
++ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc,
++ sx1, y, sx2, do_flat_separators);
+ }
+ }
+ /* Underline the title. */
+@@ -675,8 +682,8 @@
+ {
+ y = y_offset + y_height - MENU_SEPARATOR_HEIGHT;
+ draw_separator(
+- mpip->w, gcs.shadow_gc, gcs.hilight_gc,
+- sx1, y, sx2);
++ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc,
++ sx1, y, sx2, do_flat_separators);
+ }
+ break;
+ default:
+diff -r -U3 fvwm/fvwm/menus.c fvwm/fvwm/menus.c
+--- fvwm/fvwm/menus.c 2008-04-18 23:25:00.000000000 +0200
++++ fvwm/fvwm/menus.c 2008-04-18 23:25:57.000000000 +0200
+@@ -1634,6 +1634,10 @@
+ separator_height = (last_item_has_relief) ?
+ MENU_SEPARATOR_HEIGHT + relief_thickness :
+ MENU_SEPARATOR_TOTAL_HEIGHT;
++ if (MST_DO_FLAT_SEPARATOR(msp->menu))
++ {
++ separator_height += 1;
++ }
+ MI_Y_OFFSET(mi) = y;
+ if (MI_IS_TITLE(mi))
+ {
+diff -r -U3 fvwm/fvwm/menustyle.c fvwm/fvwm/menustyle.c
+--- fvwm/fvwm/menustyle.c 2008-04-18 23:25:00.000000000 +0200
++++ fvwm/fvwm/menustyle.c 2008-04-18 23:25:57.000000000 +0200
+@@ -428,6 +428,7 @@
+ "TitleColorset", "HilightTitleBack",
+ "TitleFont",
+ "VerticalMargins", "VerticalSeparatorMargins",
++ "FlatSeparators",
+ NULL
+ };
+
+@@ -902,6 +903,7 @@
+ ST_SCROLL_OFF_PAGE(tmpms) = 1;
+ ST_DO_HILIGHT_TITLE_BACK(tmpms) = 0;
+ ST_USING_DEFAULT_TITLEFONT(tmpms) = True;
++ ST_DO_FLAT_SEPARATOR(tmpms) = 0;
+ has_gc_changed = True;
+ option = "fvwm";
+ }
+@@ -1605,6 +1607,9 @@
+ &ST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(tmpms),
+ 0, 0);
+ break;
++ case 64: /* FlatSeparators */
++ ST_DO_FLAT_SEPARATOR(tmpms) = on;
++ break;
+
+ #if 0
+ case 99: /* PositionHints */
+@@ -1864,6 +1869,8 @@
+ ST_TRIANGLES_USE_FORE(destms) = ST_TRIANGLES_USE_FORE(origms);
+ /* Title */
+ ST_DO_HILIGHT_TITLE_BACK(destms) = ST_DO_HILIGHT_TITLE_BACK(origms);
++ /* FlatSeparators */
++ ST_DO_FLAT_SEPARATOR(destms) = ST_DO_FLAT_SEPARATOR(origms);
+
+ menustyle_update(destms);
+
+diff -r -U3 fvwm/fvwm/menustyle.h fvwm/fvwm/menustyle.h
+--- fvwm/fvwm/menustyle.h 2008-04-18 23:25:00.000000000 +0200
++++ fvwm/fvwm/menustyle.h 2008-04-18 23:25:57.000000000 +0200
+@@ -23,6 +23,8 @@
+ #define MST_FACE(m) ((m)->s->ms->look.face)
+ #define ST_DO_HILIGHT_BACK(s) ((s)->look.flags.do_hilight_back)
+ #define MST_DO_HILIGHT_BACK(m) ((m)->s->ms->look.flags.do_hilight_back)
++#define ST_DO_FLAT_SEPARATOR(s) ((s)->look.flags.do_flat_separator)
++#define MST_DO_FLAT_SEPARATOR(m) ((m)->s->ms->look.flags.do_flat_separator)
+ #define ST_DO_HILIGHT_FORE(s) ((s)->look.flags.do_hilight_fore)
+ #define MST_DO_HILIGHT_FORE(m) ((m)->s->ms->look.flags.do_hilight_fore)
+ #define ST_DO_HILIGHT_TITLE_BACK(s) ((s)->look.flags.do_hilight_title_back)
+@@ -283,6 +285,7 @@
+ unsigned has_title_cset : 1;
+ unsigned do_hilight_title_back : 1;
+ unsigned using_default_titlefont : 1;
++ unsigned do_flat_separator : 1;
+ } flags;
+ unsigned char ReliefThickness;
+ unsigned char TitleUnderlines;
+diff -r -U3 fvwm/tests/menus/menus.read fvwm/tests/menus/menus.read
+--- fvwm/tests/menus/menus.read 2008-04-18 23:24:46.000000000 +0200
++++ fvwm/tests/menus/menus.read 2008-04-18 23:25:57.000000000 +0200
+@@ -8,7 +8,7 @@
+ #
+ # - SidePic
+ # - SideColor
+-# - SeparatorsLong / SeparatorsShort
++# - SeparatorsLong / SeparatorsShort / FlatSeparators
+ # - TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2
+ # - VerticalItemSpacing
+ # - VerticalTitleSpacing
+@@ -90,6 +90,9 @@
+ NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", separatorsshort" "separatorsshort" "separatorsshort"
+ UseDefaultItems
+ DoTest
++NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", flatseparators" "flatseparators" "flatseparators"
++UseDefaultItems
++DoTest
+ NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines0" "titleunderlines0" "titleunderlines0"
+ UseDefaultItems
+ DoTest
+diff -r -U3 fvwm/tests/menus/README fvwm/tests/menus/README
+--- fvwm/tests/menus/README 2008-04-18 23:24:46.000000000 +0200
++++ fvwm/tests/menus/README 2008-04-18 23:25:57.000000000 +0200
+@@ -19,7 +19,7 @@
+ - MenuStyle options:
+ SidePic
+ SideColor
+- SeparatorsLong / SeparatorsShort
++ SeparatorsLong / SeparatorsShort / FlatSeparators
+ TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2
+ VerticalItemSpacing
+ VerticalTitleSpacing
+diff -r -U3 fvwm/tests/purify/purify.fvwm2rc fvwm/tests/purify/purify.fvwm2rc
+--- fvwm/tests/purify/purify.fvwm2rc 2008-04-18 23:24:46.000000000 +0200
++++ fvwm/tests/purify/purify.fvwm2rc 2008-04-18 23:25:57.000000000 +0200
+@@ -359,8 +359,8 @@
+ + I MenuStyle FvwmStyle VerticalMargins 1 -1
+ + I MenuStyle FvwmStyle PopupImmediately, PopdownImmediately
+ + I MenuStyle FvwmStyle VerticalMargins -1 -1
+- + I MenuStyle FvwmStyle TitleUnderlines0, SeparatorsLong, TrianglesSolid
+- + I MenuStyle FvwmStyle AutomaticHotkeys, PopupAsRootMenu, RemoveSubmenus
++ + I MenuStyle FvwmStyle TitleUnderlines0, SeparatorsLong, TrianglesSolid, FlatSeparators
++ + I MenuStyle FvwmStyle AutomaticHotkeys, PopupAsRootMenu, RemoveSubmenus, !FlatSeparators
+ + I MenuStyle FvwmStyle SubmenusRight, SelectOnRelease Alt, VerticalItemSpacing -2
+
+ + I MenuStyle MwmStyle Mwm, HilightBackOff, ActiveForeOff, Hilight3DThin
diff --git a/x11-wm/fvwm/files/VerticalSeparatorMargins.patch b/x11-wm/fvwm/files/VerticalSeparatorMargins.patch
new file mode 100644
index 0000000..3f0249f
--- /dev/null
+++ b/x11-wm/fvwm/files/VerticalSeparatorMargins.patch
@@ -0,0 +1,97 @@
+diff -U3 -r fvwm/fvwm/menus.c fvwm/fvwm/menus.c
+--- fvwm/fvwm/menus.c 2008-03-18 13:17:40.000000000 +0100
++++ fvwm/fvwm/menus.c 2008-04-16 22:40:48.000000000 +0200
+@@ -1644,7 +1644,8 @@
+ else if (MI_IS_SEPARATOR(mi))
+ {
+ /* Separator */
+- MI_HEIGHT(mi) = separator_height;
++ MI_HEIGHT(mi) = separator_height +
++ MST_VERTICAL_SEPARATOR_MARGIN_TOP(msp->menu);
+ }
+ else if (MI_IS_TEAR_OFF_BAR(mi))
+ {
+@@ -1716,6 +1717,13 @@
+ }
+ }
+ y += MI_HEIGHT(mi);
++ /* Adds the separator magin below the current element
++ if it's a separator, but also if it's a title element,
++ not sure if this is always desiderable though...*/
++ if (MI_IS_SEPARATOR(mi) || MI_IS_TITLE(mi))
++ {
++ y += MST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(msp->menu);
++ }
+ /* this item would have to be the last item, or else
+ * we need to add a "More..." entry pointing to a new menu */
+ menu_height =
+diff -U3 -r fvwm/fvwm/menustyle.c fvwm/fvwm/menustyle.c
+--- fvwm/fvwm/menustyle.c 2008-03-17 00:01:03.000000000 +0100
++++ fvwm/fvwm/menustyle.c 2008-04-16 21:20:47.000000000 +0200
+@@ -427,7 +427,7 @@
+ "TrianglesUseFore",
+ "TitleColorset", "HilightTitleBack",
+ "TitleFont",
+- "VerticalMargins",
++ "VerticalMargins", "VerticalSeparatorMargins",
+ NULL
+ };
+
+@@ -983,6 +983,8 @@
+ /* common settings */
+ ST_VERTICAL_MARGIN_TOP(tmpms) = 0;
+ ST_VERTICAL_MARGIN_BOTTOM(tmpms) = 0;
++ ST_VERTICAL_SEPARATOR_MARGIN_TOP(tmpms) = 0;
++ ST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(tmpms) = 0;
+ ST_CSET_MENU(tmpms) = 0;
+ ST_HAS_MENU_CSET(tmpms) = 0;
+ ST_CSET_ACTIVE(tmpms) = 0;
+@@ -1597,6 +1599,12 @@
+ &ST_VERTICAL_MARGIN_BOTTOM(tmpms),
+ 0, 0);
+ break;
++ case 63: /* VerticalSeparatorMargins */
++ parse_vertical_margins_line(
++ args, &ST_VERTICAL_SEPARATOR_MARGIN_TOP(tmpms),
++ &ST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(tmpms),
++ 0, 0);
++ break;
+
+ #if 0
+ case 99: /* PositionHints */
+@@ -1775,6 +1783,9 @@
+ /* VerticalMargins */
+ ST_VERTICAL_MARGIN_TOP(destms) = ST_VERTICAL_MARGIN_TOP(origms);
+ ST_VERTICAL_MARGIN_BOTTOM(destms) = ST_VERTICAL_MARGIN_BOTTOM(origms);
++ /* VerticalSeparatorMargins */
++ ST_VERTICAL_SEPARATOR_MARGIN_TOP(destms) = ST_VERTICAL_SEPARATOR_MARGIN_TOP(origms);
++ ST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(destms) = ST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(origms);
+
+ /* SidePic */
+ if (ST_SIDEPIC(destms))
+diff -U3 -r fvwm/fvwm/menustyle.h fvwm/fvwm/menustyle.h
+--- fvwm/fvwm/menustyle.h 2008-03-17 00:01:03.000000000 +0100
++++ fvwm/fvwm/menustyle.h 2008-04-16 21:17:06.000000000 +0200
+@@ -177,6 +177,10 @@
+ #define MST_VERTICAL_MARGIN_TOP(m) ((m)->s->ms->look.vertical_margins.top)
+ #define ST_VERTICAL_MARGIN_BOTTOM(s) ((s)->look.vertical_margins.bottom)
+ #define MST_VERTICAL_MARGIN_BOTTOM(m) ((m)->s->ms->look.vertical_margins.bottom)
++#define ST_VERTICAL_SEPARATOR_MARGIN_TOP(s) ((s)->look.vertical_separator_margins.top)
++#define MST_VERTICAL_SEPARATOR_MARGIN_TOP(m) ((m)->s->ms->look.vertical_separator_margins.top)
++#define ST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(s) ((s)->look.vertical_separator_margins.bottom)
++#define MST_VERTICAL_SEPARATOR_MARGIN_BOTTOM(m) ((m)->s->ms->look.vertical_separator_margins.bottom)
+
+ /* ---------------------------- type definitions --------------------------- */
+
+@@ -299,6 +303,11 @@
+ } vertical_margins;
+ struct
+ {
++ unsigned char top;
++ unsigned char bottom;
++ } vertical_separator_margins;
++ struct
++ {
+ int menu;
+ int active;
+ int greyed;
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
+}