Accepting request 306598 from M17N

- Update patch xemacs-21.5.34-Xaw3D_I18N.patch from upstream for
  xemacs-21.5.34 

- Add patch xemacs-21.5.34-Xaw3D_I18N.patch to fix bsc#930170 with
  xemacs segmentation fault on syntax highlighting

OBS-URL: https://build.opensuse.org/request/show/306598
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xemacs?expand=0&rev=81
This commit is contained in:
Stephan Kulow 2015-05-15 05:43:39 +00:00 committed by Git OBS Bridge
commit cb39fd7a5c
4 changed files with 187 additions and 5 deletions

View File

@ -0,0 +1,167 @@
---
configure | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
configure.ac | 33 ++++++++++++++++++++++++++++++++-
lwlib/ChangeLog | 8 ++++++++
lwlib/xt-wrappers.h | 5 +++++
src/config.h.in | 1 +
5 files changed, 96 insertions(+), 2 deletions(-)
--- configure
+++ configure 2015-05-12 00:00:00.000000000 +0000
@@ -16754,6 +16754,52 @@ fi
if test -n "$athena_lib" -a -n "$athena_h_path"; then
have_xaw=yes
+ have_athena_i18n=unset
+ if test "$athena_variant" = "Xaw3d"; then
+ save_libs_x=$libs_x
+ libs_x="-lXaw3d $libs_x" && if test "$verbose" = "yes"; then echo " Prepending \"-lXaw3d\" to \$libs_x"; fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"international\" resource in Xaw3d SimpleWidget" >&5
+$as_echo_n "checking for \"international\" resource in Xaw3d SimpleWidget... " >&6; }
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ #include <string.h>
+ #undef XAW_INTERNATIONALIZATION
+ #include <$athena_h_path/Simple.h>
+
+int
+main ()
+{
+int i = simpleWidgetClass->core_class.num_resources;
+ while (i-- > 0)
+ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name,
+ "international"))
+ exit(0);
+ exit(253);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ have_athena_i18n=yes
+else
+ have_athena_i18n=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ libs_x=$save_libs_x
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_athena_i18n" >&5
+$as_echo "$have_athena_i18n" >&6; }
+ fi
else
have_xaw=no
fi
@@ -16958,10 +17004,13 @@ _ACEOF
$as_echo "#define NEED_ATHENA 1" >>confdefs.h
need_athena="yes"
-
if test "$athena_3d" = "yes"; then
$as_echo "#define HAVE_ATHENA_3D 1" >>confdefs.h
+ if test "$have_athena_i18n" = "yes"; then
+ $as_echo "#define HAVE_ATHENA_I18N 1" >>confdefs.h
+
+ fi
fi
;;
esac
--- configure.ac
+++ configure.ac 2015-05-12 00:00:00.000000000 +0000
@@ -4028,6 +4028,35 @@ if test "$with_x11" = "yes" -a "$detect_
dnl Do we actually have a usable Athena widget set? Please?
if test -n "$athena_lib" -a -n "$athena_h_path"; then
have_xaw=yes
+ have_athena_i18n=unset
+ dnl X.org at some point added .international to SimplePart, protected
+ dnl by #ifdef XAW_INTERNATIONALIZATION in Xaw3d (only?). Unfortunately,
+ dnl the distributed headers for Xaw3d don't set this to correspond to
+ dnl the distributed library. (pkg-config does, if present.)
+ if test "$athena_variant" = "Xaw3d"; then
+ save_libs_x=$libs_x
+ XE_PREPEND(-lXaw3d, libs_x)
+ dnl The test below was provided by Ralf Soergel.
+ AC_MSG_CHECKING([for "international" resource in Xaw3d SimpleWidget])
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <stdlib.h>
+ #include <string.h>
+ #undef XAW_INTERNATIONALIZATION
+ #include <$athena_h_path/Simple.h>
+ ],
+ [[int i = simpleWidgetClass->core_class.num_resources;
+ while (i-- > 0)
+ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name,
+ "international"))
+ exit(0);
+ exit(253);
+ ]])],
+ [have_athena_i18n=yes],
+ [have_athena_i18n=no])
+ libs_x=$save_libs_x
+ AC_MSG_RESULT([$have_athena_i18n])
+ fi
else
have_xaw=no
fi
@@ -4160,9 +4189,11 @@ case "$all_widgets" in
AC_DEFINE(LWLIB_USES_ATHENA)
AC_DEFINE(NEED_ATHENA)
need_athena="yes"
-
if test "$athena_3d" = "yes"; then
AC_DEFINE(HAVE_ATHENA_3D)
+ if test "$have_athena_i18n" = "yes"; then
+ AC_DEFINE(HAVE_ATHENA_I18N)
+ fi
fi
;;
esac
--- lwlib/ChangeLog
+++ lwlib/ChangeLog 2015-05-12 00:00:00.000000000 +0000
@@ -1,3 +1,11 @@
+2015-01-08 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Fix progress bar crashes.
+ Thanks to Ralf Soergel for diagnosis and a patch.
+
+ * xt-wrappers.h (HAVE_ATHENA_I18N):
+ Define XAW_INTERNATIONALIZATION when needed.
+
2013-06-23 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.5.34 "kale" is released.
--- lwlib/xt-wrappers.h
+++ lwlib/xt-wrappers.h 2015-05-12 00:00:00.000000000 +0000
@@ -21,6 +21,11 @@ along with XEmacs. If not, see <http://
/* Original author: Stephen J. Turnbull for 21.5.29 */
+/* #### Factor out into xaw-wrappers (which would #include this file)? */
+#ifdef HAVE_ATHENA_I18N
+#define XAW_INTERNATIONALIZATION 1
+#endif
+
/* Generic utility macros, including coping with G++ whining.
Used in lwlib via lwlib.h and X consoles via console-x.h.
--- src/config.h.in
+++ src/config.h.in 2015-05-12 00:00:00.000000000 +0000
@@ -860,6 +860,7 @@ things are arranged in config.h.in. In
#undef LWLIB_WIDGETS_MOTIF
#undef LWLIB_WIDGETS_ATHENA
#undef HAVE_ATHENA_3D
+#undef HAVE_ATHENA_I18N
/* Other things that can be disabled by configure. */
#undef HAVE_MENUBARS

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue May 12 16:21:05 UTC 2015 - werner@suse.de
- Update patch xemacs-21.5.34-Xaw3D_I18N.patch from upstream for
xemacs-21.5.34
-------------------------------------------------------------------
Tue May 12 14:48:57 UTC 2015 - werner@suse.de
- Add patch xemacs-21.5.34-Xaw3D_I18N.patch to fix bsc#930170 with
xemacs segmentation fault on syntax highlighting
-------------------------------------------------------------------
Tue Feb 10 16:58:28 UTC 2015 - werner@suse.de

View File

@ -882,13 +882,13 @@ Index: xemacs-21.5.29/src/regex.c
reg_syntax_t re_syntax_options;
Index: xemacs-21.5.29/suse/README.SuSE
Index: xemacs-21.5.29/suse/README.SUSE
===================================================================
--- /dev/null
+++ xemacs-21.5.29/suse/README.SuSE
+++ xemacs-21.5.29/suse/README.SUSE
@@ -0,0 +1,18 @@
+
+ XEmacs-21.5.31
+ XEmacs-21.5.34
+
+ * Sie finden eine Referenz-Karte im Verzeichnis etc/
+ in der Datei refcard.ps, die Sie ausdrucken können.

View File

@ -88,6 +88,8 @@ Patch53: xemacs-21.5.31-array.patch
Patch56: xemacs-libpng15.patch
Patch292811: bugzilla-292811-make-x-make-font-bold-italic-xft-work.patch
Patch301352: bugzilla-301352-fix-wrong-incrementing-in-macros.patch
# PATCH-FIC-UPSTREAM bsc#930170
Patch57: xemacs-21.5.34-Xaw3D_I18N.patch
Requires(pre): permissions
Requires: ctags
Requires: efont-unicode
@ -176,6 +178,7 @@ echo Use xfs, that is XFontSet support for internationalized menubar.
%patch56 -p1
%patch292811 -p1
%patch301352 -p1
%patch57 -p0
%patch0 -p1
find lisp/ etc/ -name '*.elc' | xargs -r rm -f
find . -name CVS -type d | xargs rm -rf
@ -456,7 +459,7 @@ install -m 0644 site-packages/lisp/term/gnome.el %{buildroot}%{_datadir}/xemacs/
install -m 0644 site-packages/lisp/term/kvt.el %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/
./src/xemacs -batch -no-site-file -vanilla -f batch-byte-compile %{buildroot}%{_datadir}/xemacs/site-packages/lisp/term/*.el
mkdir -p %{buildroot}/%{_docdir}/xemacs
install -m 0644 suse/README.SuSE %{buildroot}/%{_docdir}/xemacs/README.SuSE
install -m 0644 suse/README.SUSE %{buildroot}/%{_docdir}/xemacs/README.SUSE
ln -sf /usr/share/xemacs/%{version}/etc %{buildroot}/%{_docdir}/xemacs/etc
mkdir -p %{buildroot}%{_sysconfdir}/skel/.xemacs
install -m 0644 %{_sourcedir}/skel.init.el %{buildroot}%{_sysconfdir}/skel/.xemacs/init.el
@ -567,7 +570,7 @@ rm -rf %{buildroot}%{_prefix}/lib/xemacs/%{version}/*-suse-linux/include/
%{_prefix}/lib/xemacs/%{version}/*-suse-linux/vcdiff
%dir %{_prefix}/lib/xemacs/site-modules/
%dir %{_docdir}/xemacs/
%doc %{_docdir}/xemacs/README.SuSE
%doc %{_docdir}/xemacs/README.SUSE
%{_docdir}/xemacs/etc
%doc %{_mandir}/man1/gnuattach.1.gz
%doc %{_mandir}/man1/gnuclient.1.gz