summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch
blob: f0edd5fe8ae2f04ad299d59c4e56162afda39a83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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