diff --git a/packages/subversion/build.sh b/packages/subversion/build.sh index 31dfd1cb8..1d4fb71d0 100644 --- a/packages/subversion/build.sh +++ b/packages/subversion/build.sh @@ -1,12 +1,15 @@ TERMUX_PKG_HOMEPAGE=https://subversion.apache.org TERMUX_PKG_DESCRIPTION="Centralized version control system characterized by its simplicity" TERMUX_PKG_LICENSE="Apache-2.0" -TERMUX_PKG_VERSION=1.11.1 -TERMUX_PKG_REVISION=1 -TERMUX_PKG_SHA256=9efd2750ca4d72ec903431a24b9c732b6cbb84aad9b7563f59dd96dea5be60bb +TERMUX_PKG_VERSION=1.12.0 +TERMUX_PKG_SHA256=7fae7c73d8a007c107c0ae5eb372bc0bb013dbfe966fcd5c59cd5a195a5e2edf TERMUX_PKG_SRCURL=https://www.apache.org/dist/subversion/subversion-${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_DEPENDS="apr, apr-util, serf, libexpat, libsqlite, liblz4, utf8proc, zlib" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-sasl --without-libmagic" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +svn_cv_pycfmt_apr_int64_t=UNUSED_REMOVE_AFTER_NEXT_UPDATE +--without-sasl +--without-libmagic +" termux_step_pre_configure() { CFLAGS+=" -std=c11" diff --git a/packages/subversion/d67979e61f8659af05fd4d0384a2db33645df83d.patch b/packages/subversion/d67979e61f8659af05fd4d0384a2db33645df83d.patch new file mode 100644 index 000000000..7f1bdd49c --- /dev/null +++ b/packages/subversion/d67979e61f8659af05fd4d0384a2db33645df83d.patch @@ -0,0 +1,101 @@ +From d67979e61f8659af05fd4d0384a2db33645df83d Mon Sep 17 00:00:00 2001 +From: Stefan Sperling +Date: Fri, 12 Apr 2019 09:27:33 +0000 +Subject: [PATCH] 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. + + +git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1857391 13f79535-47bb-0310-9956-ffa450edef68 +--- + 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 55501fb882f..29638727363 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 +- 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 +- 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 +- 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 2c90a6a464d..abe5a2ab64c 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(); + }