diff --git a/icewm-configure.patch b/icewm-configure.patch index 6e20a5f..e4a3d10 100644 --- a/icewm-configure.patch +++ b/icewm-configure.patch @@ -15,27 +15,6 @@ GNOME2_PREFIX=`pkg-config --variable=prefix gnome-desktop-2.0` GWMDIR="${GNOME2_PREFIX}/share/gnome/wm-properties/" - CONFIG_GNOME2_MENU_DIR="${GNOME2_PREFIX}/share/gnome/vfolders/" -+ CONFIG_GNOME2_MENU_DIR="${GNOME2_PREFIX}/share/desktop-directories/ - fi - - if test "${GNOME2_CFLAGS}" = ""; then ---- icewm-1.2.30/configure.old 2007-01-16 17:44:10.000000000 +0200 -+++ icewm-1.2.30/configure 2007-01-16 17:44:31.000000000 +0200 -@@ -12564,7 +12564,8 @@ - if test "${PKG_CONFIG}" != ""; then - GNOME_VER=2 - GNOME2_CFLAGS=`pkg-config --cflags gnome-desktop-2.0` -- GNOME2_LIBS=`pkg-config --libs gnome-desktop-2.0` -+ GNOME2_CFLAGS=`pkg-config --cflags gnome-desktop-2.0 libgnomeui-2.0` -+ GNOME2_LIBS=`pkg-config --libs gnome-desktop-2.0 libgnomeui-2.0` - - - cat >>confdefs.h <<\_ACEOF -@@ -12575,7 +12576,7 @@ - APPLICATIONS="${APPLICATIONS} icewm-menu-gnome2" - GNOME2_PREFIX=`pkg-config --variable=prefix gnome-desktop-2.0` - GWMDIR="${GNOME2_PREFIX}/share/gnome/wm-properties/" -- CONFIG_GNOME2_MENU_DIR="${GNOME2_PREFIX}/share/gnome/vfolders/" + CONFIG_GNOME2_MENU_DIR="${GNOME2_PREFIX}/share/desktop-directories/" fi diff --git a/icewm-fribidi.patch b/icewm-fribidi.patch new file mode 100644 index 0000000..66691d7 --- /dev/null +++ b/icewm-fribidi.patch @@ -0,0 +1,83 @@ +--- src/yfontxft.cc.old 2009-09-25 00:07:51.000000000 +0300 ++++ src/yfontxft.cc 2009-09-25 00:18:09.000000000 +0300 +@@ -6,6 +6,11 @@ + #include "ypaint.h" + #include "yxapp.h" + #include "intl.h" ++#include ++ ++#ifdef CONFIG_FRIBIDI ++ #include ++#endif + + /******************************************************************************/ + +@@ -68,10 +73,45 @@ + char_t * str, size_t len) + { + XftColor *c = *g.color(); ++ ++#ifdef CONFIG_FRIBIDI ++ ++#define STATIS_STRING_SIZE 256 ++ ++ // Based around upstream (1.3.2) patch with some optimization ++ // on my end. (reduce unnecessary memory allocation) ++ // - Gilboa ++ ++ char_t static_str[STATIS_STRING_SIZE]; ++ char_t *vis_str = static_str; ++ ++ if (len >= STATIS_STRING_SIZE) ++ { ++ vis_str = new char_t[len+1]; ++ if (!vis_str) ++ return; ++ } ++ ++ FriBidiCharType pbase_dir = FRIBIDI_TYPE_N; ++ fribidi_log2vis(str, len, &pbase_dir, //input ++ vis_str, // output ++ NULL, NULL, NULL // "statistics" that we don't need ++ ); ++ str = vis_str; ++#endif ++ + XftDrawString(g.handleXft(), c, font, + x - g.xorigin(), + y - g.yorigin(), + str, len); ++ ++#ifdef CONFIG_FRIBIDI ++ ++ if (vis_str != static_str) ++ delete[] str; ++ ++#endif ++ + } + + static void textExtents(XftFont * font, char_t * str, size_t len, +--- configure.in.old 2009-09-25 00:05:08.000000000 +0300 ++++ configure.in 2009-09-25 00:07:14.000000000 +0300 +@@ -307,6 +307,20 @@ + features="${features} i18n" + fi + ++dnl =================================================== Right to left support === ++dnl ++AC_ARG_ENABLE(fribidi, ++ [ --disable-fribidi Disable right to left support]) ++ ++if test "$enable_fribidi" != "no" && test "$enable_i18n" != "no"; then ++ PKG_CHECK_MODULES(FRIBIDI, fribidi) ++ ++ AC_DEFINE(CONFIG_FRIBIDI,1, [Define to enable fribidi support]) ++ ++ CORE_CFLAGS="${CORE_CFLAGS} ${FRIBIDI_CFLAGS}" ++ CORE_LIBS="${CORE_LIBS} ${FRIBIDI_LIBS}" ++fi ++ + dnl ============================================================ NLS Support === + dnl + AC_ARG_ENABLE(nls, diff --git a/icewm.spec b/icewm.spec index 1317701..e250ba6 100644 --- a/icewm.spec +++ b/icewm.spec @@ -1,6 +1,6 @@ Name: icewm Version: 1.2.37 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Light and configurable window manager Group: User Interface/Desktops @@ -206,7 +206,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Wed Sep 24 2009 Gilboa Davara - 1.2.37-3 +* Wed Sep 24 2009 Gilboa Davara - 1.2.37-5 - Patch in missing fribidi support. (#515134) * Fri Jul 24 2009 Fedora Release Engineering - 1.2.37-2