polynomial-c    14/11/07 08:09:14

  Modified:             icewm-1.3.9-fribidi.patch
  Log:
  Fixed fribidi patch (bug #528254) and adjusted dependency on gettext (bug 
#528318)
  
  (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 
0x981CA6FC)

Revision  Changes    Path
1.2                  x11-wm/icewm/files/icewm-1.3.9-fribidi.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch?rev=1.2&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch?rev=1.2&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch?r1=1.1&r2=1.2

Index: icewm-1.3.9-fribidi.patch
===================================================================
RCS file: /var/cvsroot/gentoo-x86/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- icewm-1.3.9-fribidi.patch   2 Nov 2014 19:13:45 -0000       1.1
+++ icewm-1.3.9-fribidi.patch   7 Nov 2014 08:09:14 -0000       1.2
@@ -1,38 +1,95 @@
---- icewm-1.3.9/configure.ac
-+++ icewm-1.3.9/configure.ac
-@@ -53,6 +53,17 @@
-     features="$features i18n"
+From 800fc7caa9728cebafee86d841ac23b6ffaa896b Mon Sep 17 00:00:00 2001
+From: Brian Bidulock <[email protected]>
+Date: Wed, 5 Nov 2014 03:25:44 -0700
+Subject: [PATCH] fribidi support (gentoo icewm-1.3.9-fribidi.patch)
+
+  Also fixes several problems with the gentoo patch:
+
+  1) the patch modifies CORE_CFLAGS and CORE_LIBS before they
+     are first defined, confusing later PKG_CONFIG([CORE], ...)
+     so I moved it later in configure.ac
+
+  2) the patch uses the deprecated fribidi_log2vis, so I modified
+     src/yfontxft.cc to disabled deprecated symbols (because I
+     always test build with -Werror).
+
+  3) the patch ignores the return value of fribidi_log2vis()
+     causing another warning which -Werror turns into an error.
+     Changed to "if (fribidi_log2vis(...)) ;" to disable that.
+
+  4) fixed the configure.ac macro check for fribidi to only warn
+     when the library is not present but the feature has not
+     been disabled
+
+  5) add fribidi to configure.ac features list shown at end of
+     ./configure run (added xrandr and xinerama too...)
+---
+ configure.ac    | 17 +++++++++++++++--
+ src/yfontxft.cc | 47 +++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 62 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dce4f1e..63d362f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -158,7 +158,8 @@ if test x$enable_xrandr != xno; then
+     PKG_CHECK_MODULES([XRANDR],[xrandr],[
+       CORE_CFLAGS="$XRANDR_CFLAGS $CORE_CFLAGS"
+       CORE_LIBS="$XRANDR_LIBS $CORE_LIBS"
+-      AC_DEFINE([CONFIG_XRANDR],[1],[Define to enable XRANDR extension.])],
++      AC_DEFINE([CONFIG_XRANDR],[1],[Define to enable XRANDR extension.])
++      features="$features xrandr"],
+       [AC_MSG_WARN([XRANDR not supported.])])
+ fi
+ 
+@@ -270,10 +271,22 @@ if test x$enable_xinerama != xno ; then
+     PKG_CHECK_MODULES([XINERAMA],[xinerama],[
+       CORE_CFLAGS="$XINERAMA_CFLAGS $CORE_CFLAGS"
+       CORE_LIBS="$XINERAMA_LIBS $CORE_LIBS"
+-      AC_DEFINE([XINERAMA],[1],[Define to enable Xinerama support.])],
++      AC_DEFINE([XINERAMA],[1],[Define to enable Xinerama support.])
++      features="$features xinerama"],
+       [AC_MSG_WARN([XINERAMA is not supported.])])
  fi
  
 +AC_ARG_ENABLE([fribidi],
-+    AC_HELP_STRING([--disable-fribidi],[Disable right to left support]))
++    AC_HELP_STRING([--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}"
++    PKG_CHECK_MODULES([FRIBIDI], [fribidi],[
++      CORE_CFLAGS="$FRIBIDI_CFLAGS $CORE_CFLAGS"
++      CORE_LIBS="$FRIBIDI_LIBS $CORE_LIBS"
++      AC_DEFINE([CONFIG_FRIBIDI],[1],[Define to enable fribidi support.])
++      features="$features fribidi"],
++      [AC_MSG_WARN([FRIBIDI is not supported.])])
 +fi
 +
- AC_ARG_WITH([unicode-set],
-     AC_HELP_STRING([--with-unicode-set=CODESET],[Your iconv unicode set in
-       machine endian encoding (e.g. WCHAR_T, UCS-4-INTERNAL, UCS-4LE,
---- icewm-1.3.9/src/yfontxft.cc
-+++ icewm-1.3.9/src/yfontxft.cc
-@@ -6,6 +6,11 @@
+ AC_ARG_ENABLE([prefs],
+     AC_HELP_STRING([--disable-prefs],[Disable configurable preferences.]))
+ if test x$enable_prefs = xno ; then
+diff --git a/src/yfontxft.cc b/src/yfontxft.cc
+index c200dc6..01b52f9 100644
+--- a/src/yfontxft.cc
++++ b/src/yfontxft.cc
+@@ -6,6 +6,18 @@
  #include "ypaint.h"
  #include "yxapp.h"
  #include "intl.h"
 +#include <stdio.h>
 +
 +#ifdef CONFIG_FRIBIDI
-+    #include <fribidi/fribidi.h>
++      // remove deprecated warnings for now...
++      #include <fribidi/fribidi-config.h>
++      #if FRIBIDI_USE_GLIB+0
++              #include <glib.h>
++              #undef G_GNUC_DEPRECATED
++              #define G_GNUC_DEPRECATED
++      #endif
++      #include <fribidi/fribidi.h>
 +#endif
  
  
/******************************************************************************/
  
-@@ -69,10 +74,45 @@
+@@ -69,10 +81,45 @@ class XftGraphics {
                             char_t * str, size_t len)
      {
          XftColor *c = *g.color();
@@ -56,10 +113,10 @@
 +              }
 +
 +              FriBidiCharType pbase_dir = FRIBIDI_TYPE_N;
-+              fribidi_log2vis(str, len, &pbase_dir, //input
++              if (fribidi_log2vis(str, len, &pbase_dir, //input
 +                                              vis_str, // output
 +                                              NULL, NULL, NULL // 
"statistics" that we don't need
-+                                              );
++                                              )) ;
 +              str = vis_str;
 +#endif
 +




Reply via email to