From a6c530b860dcc2933b7f88695c424e1720bc7915 Mon Sep 17 00:00:00 2001 From: Kevin Williams Date: Sun, 26 Nov 2023 10:46:21 +0800 Subject: [PATCH] libprotobuf: Bump to 25.1 Signed-off-by: Kevin Williams Co-authored-by: Twaik Yont Co-Authored-By: Chongyun Lee <45286352+licy183@users.noreply.github.com> --- packages/aapt/build.sh | 2 +- packages/android-tools/build.sh | 2 +- packages/ccextractor/build.sh | 2 +- packages/glslang/build.sh | 1 + .../revert-only-install-public-headers.patch | 68 +++++++++++++++++++ packages/libarrow-cpp/build.sh | 7 +- packages/libncnn/CMakeLists.txt.patch | 2 +- packages/libncnn/build.sh | 4 +- packages/libprotobuf-c/build.sh | 7 +- ...h => protobuf-c-1.5.0-protobuf-25.1.patch} | 38 ++++++----- packages/libprotobuf/0000-issue-18002.patch | 37 ---------- packages/libprotobuf/build.sh | 17 +---- ...src-google-protobuf-parse_context.cc.patch | 28 -------- packages/mapserver/build.sh | 2 +- .../fix-build-with-libxml2-2.12.patch | 47 +++++++++++++ packages/pika/build.sh | 2 +- packages/sysprop/build.sh | 2 +- scripts/build/setup/termux_setup_protobuf.sh | 2 +- x11-packages/mumble-server/build.sh | 3 +- 19 files changed, 159 insertions(+), 114 deletions(-) create mode 100644 packages/glslang/revert-only-install-public-headers.patch rename packages/libprotobuf-c/{protobuf-c-1.4.1-protobuf-22.0.patch => protobuf-c-1.5.0-protobuf-25.1.patch} (57%) delete mode 100644 packages/libprotobuf/0000-issue-18002.patch delete mode 100644 packages/libprotobuf/src-google-protobuf-parse_context.cc.patch create mode 100644 packages/mapserver/fix-build-with-libxml2-2.12.patch diff --git a/packages/aapt/build.sh b/packages/aapt/build.sh index 4a3d29e1e0..a87089d549 100644 --- a/packages/aapt/build.sh +++ b/packages/aapt/build.sh @@ -5,7 +5,7 @@ TERMUX_PKG_MAINTAINER="@termux" _TAG_VERSION=13.0.0 _TAG_REVISION=6 TERMUX_PKG_VERSION=${_TAG_VERSION}.${_TAG_REVISION} -TERMUX_PKG_REVISION=9 +TERMUX_PKG_REVISION=10 TERMUX_PKG_SRCURL=(https://android.googlesource.com/platform/frameworks/base https://android.googlesource.com/platform/system/core https://android.googlesource.com/platform/system/libbase diff --git a/packages/android-tools/build.sh b/packages/android-tools/build.sh index 7167bcd9b8..c19f9080a3 100644 --- a/packages/android-tools/build.sh +++ b/packages/android-tools/build.sh @@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="Apache-2.0, BSD 2-Clause" TERMUX_PKG_LICENSE_FILE="LICENSE, vendor/core/fastboot/LICENSE" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=34.0.4 -TERMUX_PKG_REVISION=3 +TERMUX_PKG_REVISION=4 TERMUX_PKG_SRCURL=https://github.com/nmeum/android-tools/releases/download/$TERMUX_PKG_VERSION/android-tools-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_SHA256=7a22ff9cea81ff4f38f560687858e8f8fb733624412597e3cc1ab0262f8da3a1 TERMUX_PKG_AUTO_UPDATE=true diff --git a/packages/ccextractor/build.sh b/packages/ccextractor/build.sh index 50962f7d4d..942f35c72a 100644 --- a/packages/ccextractor/build.sh +++ b/packages/ccextractor/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A tool used to produce subtitles for TV recordings" TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=0.94 -TERMUX_PKG_REVISION=3 +TERMUX_PKG_REVISION=4 TERMUX_PKG_SRCURL=https://github.com/CCExtractor/ccextractor/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=9c7be386257c69b5d8cd9d7466dbf20e3a45cea950cc8ca7486a956c3be54a42 TERMUX_PKG_DEPENDS="freetype, gpac, libiconv, libmd, libpng, libprotobuf-c, utf8proc" diff --git a/packages/glslang/build.sh b/packages/glslang/build.sh index bbfe5334ee..59ab289573 100644 --- a/packages/glslang/build.sh +++ b/packages/glslang/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="OpenGL and OpenGL ES shader front end and validator" TERMUX_PKG_LICENSE="BSD" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="14.0.0" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/glslang/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=80bbb916a23e94ea9cbfb1acb5d1a44a7e0c9613bcf5b5947c03f2273bdc92b0 TERMUX_PKG_DEPENDS="libc++" diff --git a/packages/glslang/revert-only-install-public-headers.patch b/packages/glslang/revert-only-install-public-headers.patch new file mode 100644 index 0000000000..a20def7cc3 --- /dev/null +++ b/packages/glslang/revert-only-install-public-headers.patch @@ -0,0 +1,68 @@ +commit c1ae07116d9bebbe580b3df22f8c8f3a7cbeec44 +Author: Kevin Williams +Date: Sat Dec 23 16:47:56 2023 +0800 + + Revert "cmake: only install public headers" + + This reverts commit 1dcb072cda091180a5b8b03c030bcbe83a54f8e2. + +diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt +index 61c7a266..286ab73c 100644 +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -70,13 +70,6 @@ set(SPVREMAP_HEADERS + SPVRemapper.h + doc.h) + +-set(PUBLIC_HEADERS +- GlslangToSpv.h +- disassemble.h +- Logger.h +- spirv.hpp +- SPVRemapper.h) +- + add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) + set_target_properties(SPIRV PROPERTIES + FOLDER glslang +@@ -150,5 +143,5 @@ if(PROJECT_IS_TOP_LEVEL) + ") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SPIRVTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + +- install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/) ++ install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/) + endif() +diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt +index 37eecaad..10de92a7 100644 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -168,7 +168,7 @@ set(GLSLANG_HEADERS + Include/SpirvIntrinsics.h + Include/Types.h) + +-add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS}) ++add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS}) + set_target_properties(glslang PROPERTIES + FOLDER glslang + POSITION_INDEPENDENT_CODE ON +@@ -252,16 +252,12 @@ if(PROJECT_IS_TOP_LEVEL) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + endif() + +- set(PUBLIC_HEADERS +- Public/ResourceLimits.h +- Public/ShaderLang.h +- Public/resource_limits_c.h +- Include/glslang_c_interface.h +- Include/glslang_c_shader_types.h +- Include/ResourceLimits.h +- MachineIndependent/Versions.h) ++ set(ALL_HEADERS ++ ${GLSLANG_HEADERS} ++ ${MACHINEINDEPENDENT_HEADERS} ++ ${RESOURCELIMITS_HEADERS}) + +- foreach(file ${PUBLIC_HEADERS}) ++ foreach(file ${ALL_HEADERS}) + get_filename_component(dir ${file} DIRECTORY) + install(FILES ${file} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/${dir}) + endforeach() diff --git a/packages/libarrow-cpp/build.sh b/packages/libarrow-cpp/build.sh index a880ccd66d..46ae231d88 100644 --- a/packages/libarrow-cpp/build.sh +++ b/packages/libarrow-cpp/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://github.com/apache/arrow TERMUX_PKG_DESCRIPTION="C++ libraries for Apache Arrow" TERMUX_PKG_LICENSE="Apache-2.0" TERMUX_PKG_MAINTAINER="@termux" -# Align the version with `libarrow-python` package. +# Align the version with `python-pyarrow` package. TERMUX_PKG_VERSION=12.0.1 -TERMUX_PKG_REVISION=4 +TERMUX_PKG_REVISION=5 TERMUX_PKG_SRCURL=https://github.com/apache/arrow/archive/refs/tags/apache-arrow-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=f01b76a42ceb30409e7b1953ef64379297dd0c08502547cae6aaafd2c4a4d92e TERMUX_PKG_AUTO_UPDATE=true @@ -32,4 +32,7 @@ termux_step_pre_configure() { CPPFLAGS+=" -DPROTOBUF_USE_DLLS" LDFLAGS+=" -landroid-execinfo" + + # Fix linker script error for zlib 1.3 + LDFLAGS+=" -Wl,--undefined-version" } diff --git a/packages/libncnn/CMakeLists.txt.patch b/packages/libncnn/CMakeLists.txt.patch index 810b2a6905..46f4073e93 100644 --- a/packages/libncnn/CMakeLists.txt.patch +++ b/packages/libncnn/CMakeLists.txt.patch @@ -5,7 +5,7 @@ else() # glslang requires c++11 - set(CMAKE_CXX_STANDARD 11) -+ set(CMAKE_CXX_STANDARD 14) ++ set(CMAKE_CXX_STANDARD 17) option(BUILD_EXTERNAL "" OFF) option(ENABLE_SPVREMAPPER "" OFF) diff --git a/packages/libncnn/build.sh b/packages/libncnn/build.sh index 524a56ef7d..633d0366a7 100644 --- a/packages/libncnn/build.sh +++ b/packages/libncnn/build.sh @@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@termux" _COMMIT=4b97730b0d033b4dc2a790e5c35745e0dbf51569 TERMUX_PKG_VERSION="20230627" -TERMUX_PKG_REVISION=1 +TERMUX_PKG_REVISION=2 TERMUX_PKG_SRCURL=git+https://github.com/Tencent/ncnn TERMUX_PKG_GIT_BRANCH=master TERMUX_PKG_SHA256=a81ee5b6df97830919f8ed8554c99a4f223976ed82eee0cc9f214de0ce53dd2a @@ -59,7 +59,7 @@ termux_step_pre_configure() { termux_setup_ninja termux_setup_protobuf - CXXFLAGS+=" -std=c++14" + CXXFLAGS+=" -std=c++17" LDFLAGS+=" $("${TERMUX_SCRIPTDIR}/packages/libprotobuf/interface_link_libraries.sh")" LDFLAGS+=" -lutf8_range -lutf8_validity" LDFLAGS+=" -landroid -ljnigraphics -llog" diff --git a/packages/libprotobuf-c/build.sh b/packages/libprotobuf-c/build.sh index 18f55cf243..0eeedb322c 100644 --- a/packages/libprotobuf-c/build.sh +++ b/packages/libprotobuf-c/build.sh @@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://github.com/protobuf-c/protobuf-c TERMUX_PKG_DESCRIPTION="Protocol buffers C library" TERMUX_PKG_LICENSE="BSD 2-Clause" TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91" -TERMUX_PKG_VERSION="1.4.1" -TERMUX_PKG_REVISION=8 +TERMUX_PKG_VERSION="1.5.0" TERMUX_PKG_SRCURL=https://github.com/protobuf-c/protobuf-c/releases/download/v${TERMUX_PKG_VERSION}/protobuf-c-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=4cc4facd508172f3e0a4d3a8736225d472418aee35b4ad053384b137b220339f +TERMUX_PKG_SHA256=7b404c63361ed35b3667aec75cc37b54298d56dd2bcf369de3373212cc06fd98 TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_DEPENDS="abseil-cpp, libc++, libprotobuf, protobuf" TERMUX_PKG_BREAKS="libprotobuf-c-dev" @@ -34,7 +33,7 @@ termux_step_pre_configure() { termux_setup_protobuf export PROTOC=$(command -v protoc) - CXXFLAGS+=" -std=c++14" + CXXFLAGS+=" -std=c++17" LDFLAGS+=" $($TERMUX_SCRIPTDIR/packages/libprotobuf/interface_link_libraries.sh)" } diff --git a/packages/libprotobuf-c/protobuf-c-1.4.1-protobuf-22.0.patch b/packages/libprotobuf-c/protobuf-c-1.5.0-protobuf-25.1.patch similarity index 57% rename from packages/libprotobuf-c/protobuf-c-1.4.1-protobuf-22.0.patch rename to packages/libprotobuf-c/protobuf-c-1.5.0-protobuf-25.1.patch index 71ca4f46f3..456effe937 100644 --- a/packages/libprotobuf-c/protobuf-c-1.4.1-protobuf-22.0.patch +++ b/packages/libprotobuf-c/protobuf-c-1.5.0-protobuf-25.1.patch @@ -1,6 +1,7 @@ ---- a/protoc-c/c_field.cc -+++ b/protoc-c/c_field.cc -@@ -231,7 +231,7 @@ +diff -uNr protobuf-c-1.5.0/protoc-c/c_field.cc protobuf-c-1.5.0.mod/protoc-c/c_field.cc +--- protobuf-c-1.5.0/protoc-c/c_field.cc 2023-11-26 07:21:25.000000000 +0800 ++++ protobuf-c-1.5.0.mod/protoc-c/c_field.cc 2023-11-26 11:44:02.078006952 +0800 +@@ -236,7 +236,7 @@ const FieldGenerator& FieldGeneratorMap::get( const FieldDescriptor* field) const { @@ -9,14 +10,15 @@ return *field_generators_[field->index()]; } ---- a/protoc-c/c_helpers.cc -+++ b/protoc-c/c_helpers.cc +diff -uNr protobuf-c-1.5.0/protoc-c/c_helpers.cc protobuf-c-1.5.0.mod/protoc-c/c_helpers.cc +--- protobuf-c-1.5.0/protoc-c/c_helpers.cc 2023-11-26 07:21:25.000000000 +0800 ++++ protobuf-c-1.5.0.mod/protoc-c/c_helpers.cc 2023-11-26 11:42:41.850006983 +0800 @@ -286,7 +286,7 @@ std::set MakeKeywordsMap() { std::set result; -- for (int i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) { -+ for (int i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) { +- for (size_t i = 0; i < GOOGLE_ARRAYSIZE(kKeywordList); i++) { ++ for (size_t i = 0; i < ABSL_ARRAYSIZE(kKeywordList); i++) { result.insert(kKeywordList[i]); } return result; @@ -29,14 +31,15 @@ return std::string(dest.get(), len); } ---- a/protoc-c/c_message.cc -+++ b/protoc-c/c_message.cc +diff -uNr protobuf-c-1.5.0/protoc-c/c_message.cc protobuf-c-1.5.0.mod/protoc-c/c_message.cc +--- protobuf-c-1.5.0/protoc-c/c_message.cc 2023-11-26 07:21:25.000000000 +0800 ++++ protobuf-c-1.5.0.mod/protoc-c/c_message.cc 2023-11-26 11:43:11.254006971 +0800 @@ -499,7 +499,7 @@ // NOTE: not supported by protobuf vars["maybe_static"] = ""; vars["field_dv_ctype"] = "{ ... }"; -- GOOGLE_LOG(DFATAL) << "Messages can't have default values!"; -+ ABSL_LOG(ERROR) << "Messages can't have default values!"; +- GOOGLE_LOG(FATAL) << "Messages can't have default values!"; ++ ABSL_LOG(FATAL) << "Messages can't have default values!"; break; case FieldDescriptor::CPPTYPE_STRING: if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) @@ -44,13 +47,14 @@ break; } default: -- GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE"; -+ ABSL_LOG(ERROR) << "Unknown CPPTYPE"; +- GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; ++ ABSL_LOG(FATAL) << "Unknown CPPTYPE"; break; } if (!already_defined) ---- a/protoc-c/c_primitive_field.cc -+++ b/protoc-c/c_primitive_field.cc +diff -uNr protobuf-c-1.5.0/protoc-c/c_primitive_field.cc protobuf-c-1.5.0.mod/protoc-c/c_primitive_field.cc +--- protobuf-c-1.5.0/protoc-c/c_primitive_field.cc 2023-11-26 07:21:25.000000000 +0800 ++++ protobuf-c-1.5.0.mod/protoc-c/c_primitive_field.cc 2023-11-26 11:43:46.002006958 +0800 @@ -99,7 +99,7 @@ case FieldDescriptor::TYPE_STRING : case FieldDescriptor::TYPE_BYTES : @@ -64,8 +68,8 @@ case FieldDescriptor::CPPTYPE_BOOL: return descriptor_->default_value_bool() ? "1" : "0"; default: -- GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field"; -+ ABSL_LOG(ERROR) << "unexpected CPPTYPE in c_primitive_field"; +- GOOGLE_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field"; ++ ABSL_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field"; return "UNEXPECTED_CPPTYPE"; } } diff --git a/packages/libprotobuf/0000-issue-18002.patch b/packages/libprotobuf/0000-issue-18002.patch deleted file mode 100644 index 501eac7f58..0000000000 --- a/packages/libprotobuf/0000-issue-18002.patch +++ /dev/null @@ -1,37 +0,0 @@ -https://github.com/protocolbuffers/protobuf/commit/4329fde9cf3fab7d1b3a9abe0fbeee1ad8a8b111.patch -https://github.com/termux/termux-packages/issues/18002 - -Omitted patching files: -src/google/protobuf/reflection_mode.cc -src/google/protobuf/reflection_mode.h - -diff --git a/src/google/protobuf/arena.cc b/src/google/protobuf/arena.cc -index 51afdbdafe5..6577a366921 100644 ---- a/src/google/protobuf/arena.cc -+++ b/src/google/protobuf/arena.cc -@@ -519,7 +519,7 @@ ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() { - new internal::ThreadLocalStorage(); - return *thread_cache_->Get(); - } --#elif defined(PROTOBUF_USE_DLLS) -+#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER) - ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() { - static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache; - return thread_cache; -diff --git a/src/google/protobuf/thread_safe_arena.h b/src/google/protobuf/thread_safe_arena.h -index e6e3b7faece..f53993a8528 100644 ---- a/src/google/protobuf/thread_safe_arena.h -+++ b/src/google/protobuf/thread_safe_arena.h -@@ -260,9 +260,9 @@ class PROTOBUF_EXPORT ThreadSafeArena { - // iOS does not support __thread keyword so we use a custom thread local - // storage class we implemented. - static ThreadCache& thread_cache(); --#elif defined(PROTOBUF_USE_DLLS) -- // Thread local variables cannot be exposed through DLL interface but we can -- // wrap them in static functions. -+#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER) -+ // Thread local variables cannot be exposed through MSVC DLL interface but we -+ // can wrap them in static functions. - static ThreadCache& thread_cache(); - #else - PROTOBUF_CONSTINIT static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache_; diff --git a/packages/libprotobuf/build.sh b/packages/libprotobuf/build.sh index dff6123541..808421e0a9 100644 --- a/packages/libprotobuf/build.sh +++ b/packages/libprotobuf/build.sh @@ -8,10 +8,9 @@ TERMUX_PKG_MAINTAINER="@termux" # - update SHA256 checksum for $_PROTOBUF_ZIP in # $TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_protobuf.sh # - ALWAYS bump revision of reverse dependencies and rebuild them. -TERMUX_PKG_VERSION=2:22.4 -TERMUX_PKG_REVISION=2 +TERMUX_PKG_VERSION=2:25.1 TERMUX_PKG_SRCURL=https://github.com/protocolbuffers/protobuf/archive/v${TERMUX_PKG_VERSION#*:}.tar.gz -TERMUX_PKG_SHA256=def8683aafc1ebaddbc777da252dfdc8e324a197757e3bfcd8b4de90d4b8cf6a +TERMUX_PKG_SHA256=9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42 TERMUX_PKG_AUTO_UPDATE=false TERMUX_PKG_DEPENDS="abseil-cpp, libc++, zlib" TERMUX_PKG_BREAKS="libprotobuf-dev, protobuf-static (<< ${TERMUX_PKG_VERSION#*:})" @@ -28,16 +27,4 @@ TERMUX_PKG_NO_STATICSPLIT=true termux_step_post_make_install() { install -Dm600 -t $TERMUX_PREFIX/share/doc/libutf8-range \ $TERMUX_PKG_SRCDIR/third_party/utf8_range/LICENSE - - # https://github.com/termux/termux-packages/issues/18002 - local r=$("${READELF}" -sW "${TERMUX_PREFIX}"/lib/libprotobuf.so) - local s="__emutls_t._ZN6google8protobuf8internal15ThreadSafeArena13thread_cache_E" - local g=$(echo "${r}" | grep "${s}") - if [[ -z "${g}" ]]; then - termux_error_exit " - Not found symbol: ${s} - ${READELF} output: - ${r} - " - fi } diff --git a/packages/libprotobuf/src-google-protobuf-parse_context.cc.patch b/packages/libprotobuf/src-google-protobuf-parse_context.cc.patch deleted file mode 100644 index 3085edb6a9..0000000000 --- a/packages/libprotobuf/src-google-protobuf-parse_context.cc.patch +++ /dev/null @@ -1,28 +0,0 @@ -https://github.com/protocolbuffers/protobuf/issues/11996 - -Fix run-time error on aarch64: - -``` -$ protoc -CANNOT LINK EXECUTABLE "protoc": cannot locate symbol "_ZN6google8protobuf8internal20VarintParseSlowArm32EPKcPjm" referenced by "/data/data/com.termux/files/usr/lib/libprotoc.so"... -Aborted -``` - ---- a/src/google/protobuf/parse_context.cc -+++ b/src/google/protobuf/parse_context.cc -@@ -730,6 +730,7 @@ - constexpr uint64_t kFirstResultBitChunk8 = 8 * 7; - constexpr uint64_t kValidBitsForInvalidVarint = 0x60; - -+PROTOBUF_EXPORT - PROTOBUF_NOINLINE const char* VarintParseSlowArm64(const char* p, uint64_t* out, - uint64_t first8) { - SlowPathEncodedInfo info = ComputeLengthAndUpdateP(p); -@@ -768,6 +769,7 @@ - - // See comments in VarintParseSlowArm64 for a description of the algorithm. - // Differences in the 32 bit version are noted below. -+PROTOBUF_EXPORT - PROTOBUF_NOINLINE const char* VarintParseSlowArm32(const char* p, uint32_t* out, - uint64_t first8) { - // This also skips the slop bytes. diff --git a/packages/mapserver/build.sh b/packages/mapserver/build.sh index f32492d682..34d4e196e2 100644 --- a/packages/mapserver/build.sh +++ b/packages/mapserver/build.sh @@ -4,7 +4,7 @@ TERMUX_PKG_MAINTAINER="Bjoern Schilberg @BjoernSchilberg" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_LICENSE_FILE="LICENSE.md" TERMUX_PKG_VERSION=8.0.1 -TERMUX_PKG_REVISION=3 +TERMUX_PKG_REVISION=4 TERMUX_PKG_SRCURL=https://download.osgeo.org/mapserver/mapserver-${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=79d23595ef95d61d3d728ae5e60850a3dbfbf58a46953b4fdc8e6e0ffe5748ba TERMUX_PKG_DEPENDS="freetype, gdal, libc++, libcairo, libcurl, libgeos, libiconv, libjpeg-turbo, libpng, libprotobuf-c, libxml2, proj" diff --git a/packages/mapserver/fix-build-with-libxml2-2.12.patch b/packages/mapserver/fix-build-with-libxml2-2.12.patch new file mode 100644 index 0000000000..5c7117fc19 --- /dev/null +++ b/packages/mapserver/fix-build-with-libxml2-2.12.patch @@ -0,0 +1,47 @@ +From 2cea5a12a35b396800296cb1c3ea08eb00b29760 Mon Sep 17 00:00:00 2001 +From: Even Rouault +Date: Sat, 18 Nov 2023 22:13:46 +0100 +Subject: [PATCH] Fix compilation errors with libxml2 2.12 + +--- + src/mapows.c | 2 +- + src/mapwcs.cpp | 2 +- + src/mapwcs20.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff -uNr mapserver-8.0.1/mapows.c mapserver-8.0.1.mod/mapows.c +--- mapserver-8.0.1/mapows.c 2023-04-18 01:26:04.000000000 +0800 ++++ mapserver-8.0.1.mod/mapows.c 2023-12-16 14:07:14.938997359 +0800 +@@ -168,7 +168,7 @@ + #endif + if (ows_request->document == NULL + || (root = xmlDocGetRootElement(ows_request->document)) == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_OWSERR, "XML parsing error: %s", + "msOWSPreParseRequest()", error->message); + return MS_FAILURE; +diff -uNr mapserver-8.0.1/mapwcs.cpp mapserver-8.0.1.mod/mapwcs.cpp +--- mapserver-8.0.1/mapwcs.cpp 2023-04-18 01:26:04.000000000 +0800 ++++ mapserver-8.0.1.mod/mapwcs.cpp 2023-12-16 14:07:36.230997351 +0800 +@@ -362,7 +362,7 @@ + /* parse to DOM-Structure and get root element */ + if((doc = xmlParseMemory(request->postrequest, strlen(request->postrequest))) + == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest()", error->message); + return MS_FAILURE; +diff -uNr mapserver-8.0.1/mapwcs20.cpp mapserver-8.0.1.mod/mapwcs20.cpp +--- mapserver-8.0.1/mapwcs20.cpp 2023-04-18 01:26:04.000000000 +0800 ++++ mapserver-8.0.1.mod/mapwcs20.cpp 2023-12-16 14:07:52.810997344 +0800 +@@ -1446,7 +1446,7 @@ + + /* parse to DOM-Structure and get root element */ + if(doc == NULL) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError *error = xmlGetLastError(); + msSetError(MS_WCSERR, "XML parsing error: %s", + "msWCSParseRequest20()", error->message); + return MS_FAILURE; diff --git a/packages/pika/build.sh b/packages/pika/build.sh index acc59b1ab3..022a2d986b 100644 --- a/packages/pika/build.sh +++ b/packages/pika/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A persistent huge storage service, compatible with the v TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=3.4.1 -TERMUX_PKG_REVISION=7 +TERMUX_PKG_REVISION=8 TERMUX_PKG_SRCURL=git+https://github.com/OpenAtomFoundation/pika TERMUX_PKG_DEPENDS="abseil-cpp, google-glog, libc++, libprotobuf, librocksdb" TERMUX_PKG_BUILD_IN_SRC=true diff --git a/packages/sysprop/build.sh b/packages/sysprop/build.sh index 7d86f8cfe5..858e7759fc 100644 --- a/packages/sysprop/build.sh +++ b/packages/sysprop/build.sh @@ -5,7 +5,7 @@ TERMUX_PKG_MAINTAINER="@termux" _TAG_VERSION=13.0.0 _TAG_REVISION=15 TERMUX_PKG_VERSION=${_TAG_VERSION}.${_TAG_REVISION} -TERMUX_PKG_REVISION=4 +TERMUX_PKG_REVISION=5 TERMUX_PKG_SRCURL=(https://android.googlesource.com/platform/system/tools/sysprop https://android.googlesource.com/platform/system/core https://android.googlesource.com/platform/system/libbase) diff --git a/scripts/build/setup/termux_setup_protobuf.sh b/scripts/build/setup/termux_setup_protobuf.sh index 677f7c65de..8477f1f55b 100644 --- a/scripts/build/setup/termux_setup_protobuf.sh +++ b/scripts/build/setup/termux_setup_protobuf.sh @@ -14,7 +14,7 @@ termux_setup_protobuf() { termux_download \ https://github.com/protocolbuffers/protobuf/releases/download/v$_PROTOBUF_VERSION/$_PROTOBUF_ZIP \ $TERMUX_PKG_TMPDIR/$_PROTOBUF_ZIP \ - b3cff4d4076efe2965e8560cae6307c429349eda0af7755950d6ea5db6d72870 + ed8fca87a11c888fed329d6a59c34c7d436165f662a2c875246ddb1ac2b6dd50 rm -Rf "$TERMUX_PKG_TMPDIR/protoc-$_PROTOBUF_VERSION-linux-x86_64" unzip $TERMUX_PKG_TMPDIR/$_PROTOBUF_ZIP -d $TERMUX_PKG_TMPDIR/protobuf-$_PROTOBUF_VERSION diff --git a/x11-packages/mumble-server/build.sh b/x11-packages/mumble-server/build.sh index 0893e5941a..2c2c32fc4a 100644 --- a/x11-packages/mumble-server/build.sh +++ b/x11-packages/mumble-server/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Server module for Mumble, an open source voice-chat soft TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=1.5.517 -TERMUX_PKG_REVISION=5 +TERMUX_PKG_REVISION=6 TERMUX_PKG_SRCURL=git+https://github.com/mumble-voip/mumble TERMUX_PKG_DEPENDS="libc++, libcap, libprotobuf, openssl, qt5-qtbase" TERMUX_PKG_BUILD_DEPENDS="boost, boost-headers, qt5-qtbase-cross-tools" @@ -24,6 +24,7 @@ termux_step_pre_configure() { LDFLAGS+=" -lcap" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -Dprotobuf_PROTOC_EXE=$(command -v protoc)" + sed -i 's/COMMAND\sprotobuf::protoc/COMMAND ${protobuf_PROTOC_EXE}/g' $TERMUX_PREFIX/lib/cmake/protobuf/protobuf-generate.cmake } termux_step_post_make_install() {