| From b147803553237654f8268e831dee8fed4989ad3b Mon Sep 17 00:00:00 2001 |
| From: Hongxu Jia <hongxu.jia@windriver.com> |
| Date: Sat, 11 May 2019 14:46:39 +0800 |
| Subject: [PATCH] Submitted By: Pierre Labastie (pierre dot labastie at neuf |
| dot fr) Date: 2019-04-17 Initial Package Version: 1.11.1 Origin: Upstream |
| revision 1857391 Upstream Status: Committed Description: Get rid of |
| apr_int64_t format string check in swig py configure. |
| |
| This check relied on APR implementation details and broke with APR 1.7.0. |
| Rather than trying to guess a perfect format string to use, just use the |
| largest possible format and cast the argument accordingly. |
| |
| Should fix build against APR 1.7.0 and later. |
| |
| Suggested by: brane |
| |
| * build/ac-macros/swig.m4: Remove code related to SVN_APR_INT64_T_PYCFMT. |
| |
| * subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c |
| (svn_swig_py_client_blame_receiver_func): Stop relying on the |
| SVN_APR_INT64_T_PYCFMT constant from configure. Use "L" and |
| acast to PY_LONG_LONG instead. |
| |
| Upstream-Status: Backport [www.linuxfromscratch.org/patches/blfs/svn/subversion-1.12.0-apr_1.7.0_fix-1.patch] |
| |
| Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
| --- |
| build/ac-macros/swig.m4 | 35 ---------------------- |
| .../swig/python/libsvn_swig_py/swigutil_py.c | 9 +++--- |
| 2 files changed, 4 insertions(+), 40 deletions(-) |
| |
| diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4 |
| index 55501fb..2963872 100644 |
| --- a/build/ac-macros/swig.m4 |
| +++ b/build/ac-macros/swig.m4 |
| @@ -128,41 +128,6 @@ AC_DEFUN(SVN_FIND_SWIG, |
| ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`" |
| ]) |
| SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`" |
| - |
| - dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT |
| - dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT |
| - dnl thus the egrep patterns have a + in them. |
| - SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS" |
| - CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES" |
| - AC_CACHE_CHECK([for apr_int64_t Python/C API format string], |
| - [svn_cv_pycfmt_apr_int64_t], [ |
| - if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then |
| - AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd], |
| - [#include <apr.h> |
| - MaTcHtHiS APR_INT64_T_FMT EnDeNd], |
| - [svn_cv_pycfmt_apr_int64_t="L"]) |
| - fi |
| - if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then |
| - AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r |
| - [#include <apr.h> |
| - MaTcHtHiS APR_INT64_T_FMT EnDeNd], |
| - [svn_cv_pycfmt_apr_int64_t="l"]) |
| - fi |
| - if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then |
| - AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd], |
| - [#include <apr.h> |
| - MaTcHtHiS APR_INT64_T_FMT EnDeNd], |
| - [svn_cv_pycfmt_apr_int64_t="i"]) |
| - fi |
| - ]) |
| - CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS" |
| - if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then |
| - AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform]) |
| - fi |
| - AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT], |
| - ["$svn_cv_pycfmt_apr_int64_t"], |
| - [Define to the Python/C API format character suitable] |
| - [ for apr_int64_t]) |
| fi |
| |
| if test "$PERL" != "none"; then |
| diff --git a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c |
| index 2c90a6a..abe5a2a 100644 |
| --- a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c |
| +++ b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c |
| @@ -46,7 +46,7 @@ |
| #include "svn_mergeinfo.h" |
| #include "svn_types.h" |
| |
| -#include "svn_private_config.h" /* for SVN_APR_INT64_T_PYCFMT */ |
| +#include "svn_private_config.h" |
| |
| #include "swig_python_external_runtime.swg" |
| #include "swigutil_py.h" |
| @@ -3394,10 +3394,9 @@ svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton, |
| svn_swig_py_acquire_py_lock(); |
| |
| if ((result = PyObject_CallFunction(receiver, |
| - (char *) |
| - (SVN_APR_INT64_T_PYCFMT "lsssO&"), |
| - line_no, revision, author, date, line, |
| - make_ob_pool, pool)) == NULL) |
| + (char *)"LlsssO&", |
| + (PY_LONG_LONG)line_no, revision, author, |
| + date, line, make_ob_pool, pool)) == NULL) |
| { |
| err = callback_exception_error(); |
| } |
| -- |
| 2.7.4 |
| |