diff --git a/wesnoth-1.6.4-fribidi.patch b/wesnoth-1.6.4-fribidi.patch new file mode 100644 index 0000000..2a7c029 --- /dev/null +++ b/wesnoth-1.6.4-fribidi.patch @@ -0,0 +1,56 @@ +--- configure.ac 2009-06-08 00:24:52.604753218 +0300 ++++ configure.ac 2009-06-08 00:25:05.257753171 +0300 +@@ -404,19 +404,7 @@ fi + + # fribidi-config + +-AC_PATH_PROGS([FRIBIDI_CONFIG], [fribidi-config], [none]) +- +-if test "x$FRIBIDI_CONFIG" = "xnone"; then +- fribidifound=no +- AC_MSG_WARN([*** FRIBIDI not found.]) +-else +- fribidifound=yes +- FRIBIDI_CFLAGS=`$FRIBIDI_CONFIG --cflags` +- FRIBIDI_LIBS=`$FRIBIDI_CONFIG --libs` +-fi +- +-AC_SUBST([FRIBIDI_CFLAGS]) +-AC_SUBST([FRIBIDI_LIBS]) ++PKG_CHECK_MODULES([FRIBIDI], [fribidi],[fribidifound=yes],[fribidifound=no]) + AM_CONDITIONAL([FRIBIDI], [test "x$fribidifound" = xyes -a "x$fribidi" = xyes ]) + + # python +--- src/font.cpp 2009-03-15 18:50:42.000000000 +0200 ++++ src/font.cpp 2009-06-08 00:19:56.884753434 +0300 +@@ -50,9 +50,6 @@ + + #ifdef HAVE_FRIBIDI + #include +- +-#else +- + #endif + + namespace { +@@ -467,16 +464,16 @@ private: + void text_surface::bidi_cvt() + { + char *c_str = const_cast(str_.c_str()); // fribidi forgot const... +- int len = str_.length(); ++ FriBidiStrIndex len = str_.length(); + FriBidiChar *bidi_logical = new FriBidiChar[len + 2]; + FriBidiChar *bidi_visual = new FriBidiChar[len + 2]; + char *utf8str = new char[4*len + 1]; //assume worst case here (all 4 Byte characters) + FriBidiCharType base_dir = FRIBIDI_TYPE_ON; +- int n; ++ FriBidiStrIndex n; + +- n = fribidi_utf8_to_unicode (c_str, len, bidi_logical); ++ n = fribidi_charset_to_unicode(FRIBIDI_CHAR_SET_UTF8, c_str, len, bidi_logical); + fribidi_log2vis(bidi_logical, n, &base_dir, bidi_visual, NULL, NULL, NULL); +- fribidi_unicode_to_utf8 (bidi_visual, n, utf8str); ++ fribidi_unicode_to_charset(FRIBIDI_CHAR_SET_UTF8, bidi_visual, n, utf8str); + is_rtl_ = base_dir == FRIBIDI_TYPE_RTL; + str_ = std::string(utf8str); + delete[] bidi_logical; diff --git a/wesnoth.spec b/wesnoth.spec index b3027a8..23ec9b2 100644 --- a/wesnoth.spec +++ b/wesnoth.spec @@ -1,6 +1,6 @@ Name: wesnoth Version: 1.6.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Turn-based strategy game with a fantasy theme Group: Amusements/Games @@ -11,6 +11,7 @@ Source1: wesnothd.init Source2: %{name}.sysconfig Patch0: %{name}-1.2.8-gcc43.patch Patch1: wesnoth-1.5.11-remove-ogg-test.patch +Patch2: wesnoth-1.6.4-fribidi.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: wesnoth-data = %{version} @@ -86,6 +87,7 @@ This package contains the data files for Wesnoth. %setup -qn wesnoth-%{version} %patch0 -p1 -b .gcc43 %patch1 -p0 +%patch2 -p0 autoreconf @@ -251,6 +253,9 @@ fi #%endif %changelog +* Fri Jul 10 2009 Jon Ciesla - 1.6.4-2 +- Fribidi patch, BZ 504526. + * Sun Jul 05 2009 Warren Togami - 1.6.4-1 - 1.6.4 maintenance release