depends: protobuf: update to 29.1

This commit is contained in:
tobtoht 2024-09-13 02:01:11 +02:00
parent 941ecefab2
commit 3c256dccfe
No known key found for this signature in database
GPG Key ID: E45B10DD027D2472
9 changed files with 127 additions and 46 deletions

View File

@ -43,6 +43,9 @@ include(CheckFunctionExists)
if (POLICY CMP0148)
cmake_policy(SET CMP0148 OLD) # https://cmake.org/cmake/help/latest/policy/CMP0148.html
endif()
if (POLICY CMP0074)
cmake_policy(SET CMP0074 NEW) # https://cmake.org/cmake/help/latest/policy/CMP0074.html
endif()
include(FindPythonInterp)
if (IOS)

View File

@ -153,6 +153,7 @@ $(1)_stage_env+=$($(1)_stage_env_$(host_arch)_$(host_os)) $($(1)_stage_env_$(hos
$(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig
$(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig
$(1)_config_env+=CMAKE_MODULE_PATH=$($($(1)_type)_prefix)/lib/cmake
$(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)"
$(1)_build_env+=PATH="$(build_prefix)/bin:$(PATH)"
$(1)_stage_env+=PATH="$(build_prefix)/bin:$(PATH)"
@ -185,6 +186,22 @@ endif
ifneq ($($(1)_ldflags),)
$(1)_autoconf += LDFLAGS="$$($(1)_ldflags)"
endif
$(1)_cmake=env CC="$$($(1)_cc)" \
CFLAGS="$$($(1)_cppflags) $$($(1)_cflags)" \
CXX="$$($(1)_cxx)" \
CXXFLAGS="$$($(1)_cppflags) $$($(1)_cxxflags)" \
LDFLAGS="$$($(1)_ldflags)" \
cmake -DCMAKE_INSTALL_PREFIX:PATH="$$($($(1)_type)_prefix)" $$($(1)_config_opts)
ifeq ($($(1)_type),build)
$(1)_cmake += -DCMAKE_INSTALL_RPATH:PATH="$$($($(1)_type)_prefix)/lib"
else
ifneq ($(host),$(build))
$(1)_cmake += -DCMAKE_SYSTEM_NAME=$($(host_os)_cmake_system)
$(1)_cmake += -DCMAKE_C_COMPILER_TARGET=$(host)
$(1)_cmake += -DCMAKE_CXX_COMPILER_TARGET=$(host)
endif
endif
endef
define int_add_cmds

View File

@ -0,0 +1,27 @@
package=abseil
$(package)_version=$(native_$(package)_version)
$(package)_download_path=$(native_$(package)_download_path)
$(package)_download_file=$(native_$(package)_download_file)
$(package)_file_name=$(native_$(package)_file_name)
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
$(package)_patches=no_librt.patch
define $(package)_set_vars
$(package)_cxxflags+=-std=c++17
endef
define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/no_librt.patch
endef
define $(package)_config_cmds
$($(package)_cmake)
endef
define $(package)_build_cmds
$(MAKE)
endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

View File

@ -0,0 +1,18 @@
package=native_abseil
$(package)_version=20240722.0
$(package)_download_path=https://github.com/abseil/abseil-cpp/archive/refs/tags/
$(package)_download_file=$($(package)_version).tar.gz
$(package)_file_name=abseil-$($(package)_version).tar.gz
$(package)_sha256_hash=f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3
define $(package)_config_cmds
$($(package)_cmake)
endef
define $(package)_build_cmds
$(MAKE)
endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

View File

@ -1,28 +1,34 @@
package=native_protobuf
$(package)_version=21.12
$(package)_version_protobuf_cpp=3.21.12
$(package)_download_path=https://github.com/protocolbuffers/protobuf/releases/download/v$($(package)_version)/
$(package)_file_name=protobuf-cpp-$($(package)_version_protobuf_cpp).tar.gz
$(package)_sha256_hash=4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460
$(package)_cxxflags=-std=c++11
$(package)_version=29.1
$(package)_download_path=https://github.com/protocolbuffers/protobuf/releases/download/v$($(package)_version)
$(package)_file_name=protobuf-$($(package)_version).tar.gz
$(package)_sha256_hash=3d32940e975c4ad9b8ba69640e78f5527075bae33ca2890275bf26b853c0962c
$(package)_dependencies=native_abseil
define $(package)_set_vars
$(package)_config_opts=--disable-shared --prefix=$(build_prefix)
$(package)_config_opts_linux=--with-pic
$(package)_cxxflags+=-std=c++17
$(package)_config_opts=-Dprotobuf_BUILD_TESTS=OFF
$(package)_config_opts+=-Dprotobuf_ABSL_PROVIDER=package
$(package)_config_opts+=-Dprotobuf_BUILD_SHARED_LIBS=OFF
endef
# Remove blobs
define $(package)_preprocess_cmds
rm -rf examples docs php/src/GPBMetadata compatibility objectivec/Tests csharp/keys php/tests src/google/protobuf/testdata csharp/src/Google.Protobuf.Test
endef
define $(package)_config_cmds
$($(package)_autoconf)
$($(package)_cmake)
endef
define $(package)_build_cmds
$(MAKE) -C src protoc
$(MAKE)
endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-binPROGRAMS install-nobase_dist_protoDATA
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
rm -rf lib/
rm -rf lib64
endef

View File

@ -1,28 +1,23 @@
packages:=boost openssl zeromq expat unbound sodium
native_packages := native_abseil native_protobuf
packages := boost openssl zeromq expat unbound sodium abseil protobuf
hardware_packages := hidapi protobuf libusb
hardware_native_packages := native_protobuf
linux_native_packages :=
linux_packages := ncurses readline eudev libusb hidapi
android_native_packages = android_ndk $(hardware_native_packages)
android_packages = ncurses readline protobuf
mingw32_native_packages :=
mingw32_packages := hidapi
darwin_native_packages = $(hardware_native_packages)
darwin_packages = ncurses readline $(hardware_packages)
freebsd_native_packages := freebsd_base
freebsd_packages := ncurses readline hidapi
# not really native...
freebsd_native_packages = freebsd_base $(hardware_native_packages)
freebsd_packages = ncurses readline protobuf libusb
ifneq ($(build_os),darwin)
darwin_native_packages := darwin_sdk native_cctools native_libtapi
endif
darwin_packages := ncurses readline hidapi
linux_packages = eudev ncurses readline $(hardware_packages)
linux_native_packages = $(hardware_native_packages)
android_native_packages := android_ndk
android_packages := ncurses readline
ifeq ($(build_tests),ON)
packages += gtest
endif
mingw32_packages = $(hardware_packages)
mingw32_native_packages = $(hardware_native_packages)
ifneq ($(build_os),darwin)
darwin_native_packages += darwin_sdk native_cctools native_libtapi
endif

View File

@ -1,27 +1,33 @@
package=protobuf
$(package)_version=$(native_$(package)_version)
$(package)_version_protobuf_cpp=$(native_$(package)_version_protobuf_cpp)
$(package)_download_path=$(native_$(package)_download_path)
$(package)_file_name=$(native_$(package)_file_name)
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
$(package)_dependencies=native_$(package)
$(package)_cxxflags=-std=c++11
$(package)_dependencies=abseil
define $(package)_set_vars
$(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
$(package)_config_opts_linux=--with-pic
$(package)_cxxflags+=-std=c++17
$(package)_config_opts=-Dprotobuf_ABSL_PROVIDER=package
$(package)_config_opts+=-Dprotobuf_BUILD_TESTS=OFF
$(package)_config_opts+=-Dprotobuf_BUILD_SHARED_LIBS=OFF
$(package)_config_opts+=-Dprotobuf_BUILD_PROTOC_BINARIES=OFF
$(package)_config_opts+=-Dprotobuf_WITH_ZLIB=OFF
$(package)_config_opts+=-Dprotobuf_BUILD_LIBUPB=OFF
endef
# Remove blobs
define $(package)_preprocess_cmds
rm -rf docs php/src/GPBMetadata compatibility objectivec/Tests csharp/keys php/tests src/google/protobuf/testdata csharp/src/Google.Protobuf.Test
endef
define $(package)_config_cmds
$($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
$($(package)_cmake)
endef
define $(package)_build_cmds
$(MAKE) -C src libprotobuf.la
$(MAKE)
endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-nobase_includeHEADERS &&\
$(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA &&\
cp src/.libs/libprotobuf.a $($(package)_staging_prefix_dir)/lib/
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

View File

@ -0,0 +1,12 @@
diff --git a/absl/base/CMakeLists.txt b/absl/base/CMakeLists.txt
index 97994fc6..06ab426c 100644
--- a/absl/base/CMakeLists.txt
+++ b/absl/base/CMakeLists.txt
@@ -240,7 +240,6 @@ absl_cc_library(
${ABSL_DEFAULT_COPTS}
LINKOPTS
${ABSL_DEFAULT_LINKOPTS}
- $<$<BOOL:${LIBRT}>:-lrt>
$<$<BOOL:${MINGW}>:-ladvapi32>
DEPS
absl::atomic_hook

View File

@ -26,11 +26,7 @@ SET(UNBOUND_LIBRARIES @prefix@/lib/libunbound.a)
SET(LIBUSB-1.0_LIBRARY @prefix@/lib/libusb-1.0.a)
SET(LIBUDEV_LIBRARY @prefix@/lib/libudev.a)
SET(Protobuf_FOUND 1)
SET(Protobuf_PROTOC_EXECUTABLE @prefix@/native/bin/protoc CACHE FILEPATH "Path to the native protoc")
SET(Protobuf_INCLUDE_DIR @prefix@/include CACHE PATH "Protobuf include dir")
SET(Protobuf_INCLUDE_DIRS @prefix@/include CACHE PATH "Protobuf include dir")
SET(Protobuf_LIBRARY @prefix@/lib/libprotobuf.a CACHE FILEPATH "Protobuf library")
SET(absl_ROOT @prefix@)
SET(Boost_IGNORE_SYSTEM_PATH ON)
SET(BOOST_ROOT @prefix@)
@ -48,6 +44,7 @@ SET(ARCHITECTURE @arch@)
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
SET (CMAKE_FIND_USE_PACKAGE_ROOT_PATH ON)
# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")