diff options
author | Jesús Guerrero <i92guboj@gentoo.org> | 2008-04-24 21:21:51 +0000 |
---|---|---|
committer | Jesús Guerrero <i92guboj@gentoo.org> | 2008-04-24 21:21:51 +0000 |
commit | 0935c278130f4ac42fff706b3ad1528654dfa5f7 (patch) | |
tree | b0841e3749985332a2d2cb364c0ad399f3aa65d2 | |
parent | First commit (diff) | |
download | omp-0935c278130f4ac42fff706b3ad1528654dfa5f7.tar.gz omp-0935c278130f4ac42fff706b3ad1528654dfa5f7.tar.bz2 omp-0935c278130f4ac42fff706b3ad1528654dfa5f7.zip |
live ebuild added
svn path=/; revision=3
-rw-r--r-- | x11-wm/fvwm/Manifest | 4 | ||||
-rw-r--r-- | x11-wm/fvwm/files/04-FlatSeparators-r5.patch | 216 | ||||
-rw-r--r-- | x11-wm/fvwm/files/VerticalSeparatorMargins.patch | 97 | ||||
-rw-r--r-- | x11-wm/fvwm/fvwm-9999.ebuild | 224 |
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 +} |