rpms/compat-wxGTK26/F-7 wxGTK-2.6.3-expat2.patch, NONE, 1.1 wxGTK-2.6.3-g_thread_init.patch, NONE, 1.1 wxGTK-2.6.3-gtk-crash.patch, NONE, 1.1 wxGTK-2.6.3-strconv.patch, NONE, 1.1 wxGTK-2.6.4-config-script.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 compat-wxGTK26.spec, 1.1, 1.2 sources, 1.2, 1.3 wxGTK-2.6.3.2-cvs.patch, 1.1, NONE

Michael Schwendt (mschwendt) fedora-extras-commits at redhat.com
Thu Nov 8 12:38:24 UTC 2007


Author: mschwendt

Update of /cvs/extras/rpms/compat-wxGTK26/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv32748

Modified Files:
	.cvsignore compat-wxGTK26.spec sources 
Added Files:
	wxGTK-2.6.3-expat2.patch wxGTK-2.6.3-g_thread_init.patch 
	wxGTK-2.6.3-gtk-crash.patch wxGTK-2.6.3-strconv.patch 
	wxGTK-2.6.4-config-script.patch 
Removed Files:
	wxGTK-2.6.3.2-cvs.patch 
Log Message:
* Wed Nov 07 2007 Michael Schwendt <mschwendt[AT]users.sf.net> - 2.6.4-0.7
- Update to 2.6.4.
- Sync with Fedora 8 (the following entries):
- Patch the wx-2.6-config script and move the common files to /usr/lib.
  This shall fix the multiarch conflict in compat-wxGTK26-devel (#340931).
- Patch some dangerous pointer dereferences in src/common/strconv.cpp.
- Call g_thread_init early (#244542).
- Avoid g_free related crashes in gtk.


wxGTK-2.6.3-expat2.patch:

--- NEW FILE wxGTK-2.6.3-expat2.patch ---
diff -Nur wxGTK-2.6.3-orig/src/xml/xml.cpp wxGTK-2.6.3/src/xml/xml.cpp
--- wxGTK-2.6.3-orig/src/xml/xml.cpp	2006-03-22 00:42:05.000000000 +0100
+++ wxGTK-2.6.3/src/xml/xml.cpp	2007-08-28 12:20:28.000000000 +0200
@@ -559,9 +559,9 @@
         {
             wxString error(XML_ErrorString(XML_GetErrorCode(parser)),
                            *wxConvCurrent);
-            wxLogError(_("XML parsing error: '%s' at line %d"),
+            wxLogError(_("XML parsing error: '%s' at line %lu"),
                        error.c_str(),
-                       XML_GetCurrentLineNumber(parser));
+                       (long unsigned int)XML_GetCurrentLineNumber(parser));
             ok = false;
             break;
         }

wxGTK-2.6.3-g_thread_init.patch:

--- NEW FILE wxGTK-2.6.3-g_thread_init.patch ---
diff -Nur wxGTK-2.6.3-orig/src/gtk/app.cpp wxGTK-2.6.3/src/gtk/app.cpp
--- wxGTK-2.6.3-orig/src/gtk/app.cpp	2006-03-22 00:42:16.000000000 +0100
+++ wxGTK-2.6.3/src/gtk/app.cpp	2007-07-08 12:52:15.000000000 +0200
@@ -442,12 +442,26 @@
 
     m_idleTag = 0;
     g_isIdle = TRUE;
-    wxapp_install_idle_handler();
 
 #if wxUSE_THREADS
+    // GTK 1.2 up to version 1.2.3 has broken threads
+    if ((gtk_major_version == 1) &&
+        (gtk_minor_version == 2) &&
+        (gtk_micro_version < 4))
+    {
+        printf( "wxWidgets warning: GUI threading disabled due to outdated GTK version\n" );
+    }
+    else
+    {
+        if (!g_thread_supported())
+            g_thread_init(NULL);
+    }
+
     g_main_set_poll_func( wxapp_poll_func );
 #endif
 
+    wxapp_install_idle_handler();
+
     m_colorCube = (unsigned char*) NULL;
 
     // this is NULL for a "regular" wxApp, but is set (and freed) by a wxGLApp
@@ -580,21 +594,6 @@
 {
     bool init_result;
     
-#if wxUSE_THREADS
-    // GTK 1.2 up to version 1.2.3 has broken threads
-    if ((gtk_major_version == 1) &&
-        (gtk_minor_version == 2) &&
-        (gtk_micro_version < 4))
-    {
-        printf( "wxWidgets warning: GUI threading disabled due to outdated GTK version\n" );
-    }
-    else
-    {
-        if (!g_thread_supported())
-            g_thread_init(NULL);
-    }
-#endif // wxUSE_THREADS
-
     gtk_set_locale();
 
     // We should have the wxUSE_WCHAR_T test on the _outside_

wxGTK-2.6.3-gtk-crash.patch:

--- NEW FILE wxGTK-2.6.3-gtk-crash.patch ---
diff -Nur wxGTK-2.6.3-orig/src/gtk/button.cpp wxGTK-2.6.3/src/gtk/button.cpp
--- wxGTK-2.6.3-orig/src/gtk/button.cpp	2006-03-22 00:42:16.000000000 +0100
+++ wxGTK-2.6.3/src/gtk/button.cpp	2007-07-08 01:03:24.000000000 +0200
@@ -89,7 +89,7 @@
             right_border += default_border->right;
             top_border += default_border->top;
             bottom_border += default_border->bottom;
-            g_free( default_border );
+            gtk_border_free( default_border );
         }
 #else
         left_border = 6;
diff -Nur wxGTK-2.6.3-orig/src/gtk/window.cpp wxGTK-2.6.3/src/gtk/window.cpp
--- wxGTK-2.6.3-orig/src/gtk/window.cpp	2006-03-22 00:42:17.000000000 +0100
+++ wxGTK-2.6.3/src/gtk/window.cpp	2007-07-08 01:03:13.000000000 +0200
@@ -3279,7 +3279,7 @@
                 right_border += default_border->right;
                 top_border += default_border->top;
                 bottom_border += default_border->bottom;
-                g_free( default_border );
+                gtk_border_free( default_border );
             }
 #else
             left_border = 6;

wxGTK-2.6.3-strconv.patch:

--- NEW FILE wxGTK-2.6.3-strconv.patch ---
diff -Nur wxGTK-2.6.3-orig/src/common/strconv.cpp wxGTK-2.6.3/src/common/strconv.cpp
--- wxGTK-2.6.3-orig/src/common/strconv.cpp	2006-03-22 00:42:11.000000000 +0100
+++ wxGTK-2.6.3/src/common/strconv.cpp	2007-09-14 12:08:01.000000000 +0200
@@ -194,7 +194,7 @@
         }
     }
 
-    wxWCharBuffer buf((wchar_t *)NULL);
+    wxWCharBuffer buf((size_t)0);
 
     return buf;
 }
@@ -215,7 +215,7 @@
         }
     }
 
-    wxCharBuffer buf((char *)NULL);
+    wxCharBuffer buf((size_t)0);
 
     return buf;
 }
@@ -773,7 +773,7 @@
             len++;
         }
         else if ( (m_options & MAP_INVALID_UTF8_TO_OCTAL)
-                    && cc == L'\\' && psz[0] == L'\\' )
+                    && cc == L'\\' && *psz && psz[0] == L'\\' )
         {
             if (buf)
                 *buf++ = (char)cc;
@@ -782,6 +782,7 @@
         }
         else if ( (m_options & MAP_INVALID_UTF8_TO_OCTAL) &&
                     cc == L'\\' &&
+                  *psz && *(psz+1) && *(psz+2) &&
                         isoctal(psz[0]) && isoctal(psz[1]) && isoctal(psz[2]) )
         {
             if (buf)

wxGTK-2.6.4-config-script.patch:

--- NEW FILE wxGTK-2.6.4-config-script.patch ---
diff -Nur wxGTK-2.6.4-orig/wx-config.in wxGTK-2.6.4/wx-config.in
--- wxGTK-2.6.4-orig/wx-config.in	2007-03-20 16:49:55.000000000 +0100
+++ wxGTK-2.6.4/wx-config.in	2007-11-08 12:57:33.000000000 +0100
@@ -334,11 +334,11 @@
 # Determine the base directories we require.
 prefix=${input_option_prefix-${this_prefix:- at prefix@}}
 exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:- at exec_prefix@}}}
-wxconfdir="@libdir@/wx/config"
+wxconfdir="/usr/lib/wx/config"
 
 installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"`
 
-is_cross && target="@host_alias@"
+is_cross && true
 
 # Define a pseudo-hash to contain the specification of this wx-config
 # instance and its associated library.
@@ -856,7 +856,7 @@
 exec_prefix=${this_exec_prefix-$exec_prefix}
 
 includedir="@includedir@"
-libdir="@libdir@"
+libdir="/usr/lib"
 bindir="@bindir@"
 
 # Trivial queries we can answer now.
@@ -1129,7 +1129,7 @@
     _include_cppflags="-I${includedir} -I${prefix}/contrib/include"
 fi
 
-_cppflags=`echo "-I${libdir}/wx/include/@TOOLCHAIN_FULLNAME@" $_include_cppflags "@WXDEBUG_DEFINE@" "@TOOLCHAIN_DEFS@" "@TOOLCHAIN_DLL_DEFS@" $_gui_cppflags "@WXCONFIG_INCLUDE@" "@WX_LARGEFILE_FLAGS@" "@GCC_PRAGMA_FLAGS@"`
+_cppflags=`echo "-I/usr/lib/wx/include/@TOOLCHAIN_FULLNAME@" $_include_cppflags "@WXDEBUG_DEFINE@" "@TOOLCHAIN_DEFS@" "@TOOLCHAIN_DLL_DEFS@" $_gui_cppflags "@WXCONFIG_INCLUDE@" "@WX_LARGEFILE_FLAGS@" "@GCC_PRAGMA_FLAGS@"`
 
 # now without further ado, we can answer these too.
 [ -z "$output_option_cppflags" ] || echo $_cppflags


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/compat-wxGTK26/F-7/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore	23 Feb 2007 14:34:31 -0000	1.2
+++ .cvsignore	8 Nov 2007 12:37:51 -0000	1.3
@@ -1 +1 @@
-wxGTK-2.6.3.tar.bz2
+wxGTK-2.6.4.tar.bz2


Index: compat-wxGTK26.spec
===================================================================
RCS file: /cvs/extras/rpms/compat-wxGTK26/F-7/compat-wxGTK26.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- compat-wxGTK26.spec	23 Feb 2007 14:34:31 -0000	1.1
+++ compat-wxGTK26.spec	8 Nov 2007 12:37:51 -0000	1.2
@@ -1,6 +1,6 @@
 Name:           compat-wxGTK26
-Version:        2.6.3
-Release:        2
+Version:        2.6.4
+Release:        0.7
 Summary:        GTK2 port of the wxWidgets GUI library
 # The wxWindows licence is the LGPL with a specific exemption allowing
 # distribution of derived binaries under any terms. (This will eventually
@@ -9,8 +9,12 @@
 Group:          System Environment/Libraries
 URL:            http://www.wxwidgets.org/
 Source0:        http://dl.sf.net/wxwindows/wxGTK-%{version}.tar.bz2
-Patch0:         wxGTK-2.6.3.2-cvs.patch
 Patch1:         wxGTK-2.6.3-locale-compat.patch
+Patch2:         wxGTK-2.6.3-gtk-crash.patch
+Patch3:         wxGTK-2.6.3-g_thread_init.patch
+Patch5:         wxGTK-2.6.3-expat2.patch
+Patch6:         wxGTK-2.6.3-strconv.patch
+Patch7:         wxGTK-2.6.4-config-script.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  gtk2-devel, zlib-devel >= 1.1.4
@@ -44,10 +48,14 @@
 %prep
 %setup -q -n wxGTK-%{version}
 
-%patch0 -p1 -b .2.6.3.2
 %patch1 -p1 -b .locale-compat
+%patch2 -p1 -b .gtk-crash
+%patch3 -p1 -b .g_thread_init
+%patch5 -p1 -b .expat2
+%patch6 -p1 -b .strconv
+%patch7 -p1 -b .config-script
 
-sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
+sed -i -e 's|/usr/lib\b|%{_libdir}|' configure
 
 # Avoid executable source files in debuginfo package.
 find . -perm /+x -a \( -name \*.cpp -o -name \*.h \) | xargs chmod -x
@@ -72,6 +80,9 @@
   --enable-unicode \
   --enable-compat22
 
+# Work around sdl-config returning: -L%_libdir
+sed -i -e 's!\(^s, at .*\)-L%{_libdir} \(.*-lSDL.*\)!\1 \2!' config.status ; ./config.status
+
 make %{?_smp_mflags}
 make %{?_smp_mflags} -C contrib/src/stc
 make %{?_smp_mflags} -C contrib/src/ogl
@@ -98,6 +109,12 @@
 done
 %find_lang compat-wxstd26
 
+# Move wx/{config/,include/} from %_libdir to /usr/lib.
+if [ "%{_libdir}" != "%{_prefix}/lib" ] ; then
+  mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/lib
+  mv ${RPM_BUILD_ROOT}%{_libdir}/wx ${RPM_BUILD_ROOT}%{_prefix}/lib
+fi
+
 # Deal with conflicting files.
 cd ${RPM_BUILD_ROOT}%{_bindir}
 rm -f wx-config wxrc
@@ -142,16 +159,21 @@
 %{_bindir}/wxrc*
 %{_includedir}/wx-2.6
 %{_libdir}/libwx_*.so
-%dir %{_libdir}/wx
-%dir %{_libdir}/wx/include
-%{_libdir}/wx/include/gtk2*
-%dir %{_libdir}/wx/config
-%{_libdir}/wx/config/gtk2*
+%{_prefix}/lib/wx/
 %{_datadir}/aclocal/*
 #{_datadir}/bakefile/presets/
 
 
 %changelog
+* Wed Nov 07 2007 Michael Schwendt <mschwendt[AT]users.sf.net> - 2.6.4-0.7
+- Update to 2.6.4.
+- Sync with Fedora 8 (the following entries):
+- Patch the wx-2.6-config script and move the common files to /usr/lib.
+  This shall fix the multiarch conflict in compat-wxGTK26-devel (#340931).
+- Patch some dangerous pointer dereferences in src/common/strconv.cpp.
+- Call g_thread_init early (#244542).
+- Avoid g_free related crashes in gtk.
+
 * Tue Feb 20 2007 Michael Schwendt <mschwendt[AT]users.sf.net> - 2.6.3-2
 - Avoid executable source files in debuginfo package.
 - Make wx-2.6-config symlink relative.


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/compat-wxGTK26/F-7/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources	23 Feb 2007 14:34:31 -0000	1.2
+++ sources	8 Nov 2007 12:37:51 -0000	1.3
@@ -1 +1 @@
-3cd76c3c47913e52a3175dd47239c6ec  wxGTK-2.6.3.tar.bz2
+ce0fd2b425bc98957cf70eea5f154b49  wxGTK-2.6.4.tar.bz2


--- wxGTK-2.6.3.2-cvs.patch DELETED ---




More information about the fedora-extras-commits mailing list