* [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1
@ 2024-10-30 19:00 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Migrate protobuf build from autotools to cmake.
Migrate protobuf-python to use pypi sources which are now required
for setup.py builds:
https://github.com/protocolbuffers/protobuf/tree/v28.1/python#building-from-setuppy
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
package/criu/Config.in | 2 +-
package/kismet/Config.in | 12 +++--
package/mosh/Config.in | 6 +--
package/netdata/Config.in | 6 +--
package/ola/Config.in | 5 ++-
package/opencv3/Config.in | 6 +--
package/opencv4/Config.in | 9 +++-
package/protobuf/Config.in | 8 ++--
package/protobuf/protobuf.hash | 2 +-
package/protobuf/protobuf.mk | 46 ++++++++++++++------
package/python-protobuf/python-protobuf.hash | 6 ++-
package/python-protobuf/python-protobuf.mk | 5 +--
package/usbguard/Config.in | 2 +-
13 files changed, 74 insertions(+), 41 deletions(-)
diff --git a/package/criu/Config.in b/package/criu/Config.in
index fc6897c4d0..a56dbe56ff 100644
--- a/package/criu/Config.in
+++ b/package/criu/Config.in
@@ -19,7 +19,7 @@ config BR2_PACKAGE_CRIU
bool "criu"
depends on BR2_PACKAGE_CRIU_ARCH_SUPPORTS
depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # -march=armv7-a+fp
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # -march=armv7-a+fp, protobuf
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 # rseq.h
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no aio.h
depends on !BR2_STATIC_LIBS # protobuf, libbsd
diff --git a/package/kismet/Config.in b/package/kismet/Config.in
index 2e1e0cfbd0..e2a2385f38 100644
--- a/package/kismet/Config.in
+++ b/package/kismet/Config.in
@@ -35,6 +35,7 @@ config BR2_PACKAGE_KISMET_PYTHON_TOOLS
bool "Install python tools"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
depends on BR2_PACKAGE_PYTHON3
depends on !BR2_STATIC_LIBS # protobuf
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
@@ -52,26 +53,29 @@ comment "python tools needs python3"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
-comment "python tools needs a glibc or musl toolchain w/ dynamic library"
+comment "python tools needs a glibc or musl toolchain w/ dynamic library, gcc >= 8"
depends on BR2_STATIC_LIBS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
- depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
+ depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_PACKAGE_KISMET_SERVER
bool "Install server"
default y
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_USE_WCHAR
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_PROTOBUF
-comment "server needs a toolchain w/ dynamic library, wchar"
+comment "server needs a toolchain w/ dynamic library, wchar, gcc >= 8"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
- depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
+ depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_8
comment "server needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
diff --git a/package/mosh/Config.in b/package/mosh/Config.in
index 5b90358cac..7ca5259ecb 100644
--- a/package/mosh/Config.in
+++ b/package/mosh/Config.in
@@ -1,7 +1,7 @@
-comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 4.8"
+comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 8"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR \
- || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
config BR2_PACKAGE_MOSH
@@ -9,7 +9,7 @@ config BR2_PACKAGE_MOSH
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP # protobuf
depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
depends on !BR2_STATIC_LIBS # protobuf
depends on BR2_USE_WCHAR
select BR2_PACKAGE_PROTOBUF
diff --git a/package/netdata/Config.in b/package/netdata/Config.in
index d17b5e89aa..3603eb071c 100644
--- a/package/netdata/Config.in
+++ b/package/netdata/Config.in
@@ -23,15 +23,15 @@ config BR2_PACKAGE_NETDATA_PROMETHEUS
bool "prometheus remote write backend"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP # protobuf, snappy
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
select BR2_PACKAGE_PROTOBUF
select BR2_PACKAGE_SNAPPY
help
Enable prometheus remote write backend
-comment "prometheus remote write backend needs a toolchain w/ C++, gcc >= 4.8"
+comment "prometheus remote write backend needs a toolchain w/ C++, gcc >= 8"
depends on !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_8
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
endif
diff --git a/package/ola/Config.in b/package/ola/Config.in
index dd0be6f35e..1766f5bd76 100644
--- a/package/ola/Config.in
+++ b/package/ola/Config.in
@@ -1,7 +1,7 @@
comment "ola needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_STATIC_LIBS \
- || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
menuconfig BR2_PACKAGE_OLA
@@ -10,7 +10,7 @@ menuconfig BR2_PACKAGE_OLA
depends on !BR2_STATIC_LIBS # protobuf
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
select BR2_PACKAGE_PROTOBUF
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
@@ -35,6 +35,7 @@ config BR2_PACKAGE_OLA_WEB
config BR2_PACKAGE_OLA_PYTHON_BINDINGS
bool "python bindings"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
depends on BR2_PACKAGE_PYTHON3
select BR2_PACKAGE_PYTHON_PROTOBUF
help
diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in
index 2ce548f095..a672497108 100644
--- a/package/opencv3/Config.in
+++ b/package/opencv3/Config.in
@@ -290,14 +290,14 @@ config BR2_PACKAGE_OPENCV3_WITH_PNG
config BR2_PACKAGE_OPENCV3_WITH_PROTOBUF
bool "protobuf support"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
select BR2_PACKAGE_PROTOBUF
help
Use shared protobuf from the target system.
-comment "protobuf support needs a toolchain w/ gcc >= 4.8"
+comment "protobuf support needs a toolchain w/ gcc >= 8"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
- depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_PACKAGE_OPENCV3_WITH_TIFF
bool "tiff support"
diff --git a/package/opencv4/Config.in b/package/opencv4/Config.in
index f6976d8fb5..f71ceba2c5 100644
--- a/package/opencv4/Config.in
+++ b/package/opencv4/Config.in
@@ -35,14 +35,16 @@ config BR2_PACKAGE_OPENCV4_LIB_DNN
# dnn needs fenv.h which is not provided by uclibc
depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
select BR2_PACKAGE_OPENCV4_WITH_PROTOBUF
help
Include opencv_dnn (Deep Neural Networks) module into the
OpenCV build.
-comment "dnn needs a glibc or musl toolchain"
+comment "dnn needs a glibc or musl toolchain, gcc >= 8"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_USES_UCLIBC
+ depends on BR2_TOOLCHAIN_USES_UCLIBC || \
+ !BR2_HOST_GCC_AT_LEAST_8
config BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
bool "features2d"
@@ -155,6 +157,7 @@ config BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
bool "objdetect"
depends on !BR2_TOOLCHAIN_USES_UCLIBC # dnn support
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # dnn support
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # dnn support
# opencv_core dependency is already enabled
select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
select BR2_PACKAGE_OPENCV4_LIB_DNN
@@ -204,6 +207,7 @@ config BR2_PACKAGE_OPENCV4_LIB_SHAPE
config BR2_PACKAGE_OPENCV4_LIB_STITCHING
bool "stitching"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # objdetect
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # objdetect
depends on !BR2_TOOLCHAIN_USES_UCLIBC # objdetect
select BR2_PACKAGE_OPENCV4_LIB_CALIB3D
select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D
@@ -333,6 +337,7 @@ config BR2_PACKAGE_OPENCV4_WITH_PNG
config BR2_PACKAGE_OPENCV4_WITH_PROTOBUF
bool "protobuf support"
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
select BR2_PACKAGE_PROTOBUF
help
Use shared protobuf from the target system.
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
index 47e987fa2b..633201b38c 100644
--- a/package/protobuf/Config.in
+++ b/package/protobuf/Config.in
@@ -37,6 +37,7 @@ config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
default y if BR2_sparc64
default y if BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
depends on BR2_USE_MMU # fork()
config BR2_PACKAGE_PROTOBUF
@@ -44,8 +45,9 @@ config BR2_PACKAGE_PROTOBUF
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp
depends on !BR2_STATIC_LIBS
+ select BR2_PACKAGE_LIBABSEIL_CPP
help
Protocol buffers are Google's language-neutral,
platform-neutral, extensible mechanism for serializing
@@ -53,7 +55,7 @@ config BR2_PACKAGE_PROTOBUF
https://developers.google.com/protocol-buffers
-comment "protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8"
+comment "protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 8"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
- || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
diff --git a/package/protobuf/protobuf.hash b/package/protobuf/protobuf.hash
index b092c9303f..06f4924394 100644
--- a/package/protobuf/protobuf.hash
+++ b/package/protobuf/protobuf.hash
@@ -1,3 +1,3 @@
# Locally calculated
sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE
-sha256 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460 protobuf-cpp-3.21.12.tar.gz
+sha256 3b8bf6e96499a744bd014c60b58f797715a758093abf859f1d902194b8e1f8c9 protobuf-28.1.tar.gz
diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
index 8cd4e99e06..6c9017b316 100644
--- a/package/protobuf/protobuf.mk
+++ b/package/protobuf/protobuf.mk
@@ -7,16 +7,40 @@
# When bumping this package, make sure to also verify if the
# python-protobuf package still works and to update its hash,
# as they share the same version/site variables.
-PROTOBUF_VERSION = 21.12
-PROTOBUF_SOURCE = protobuf-cpp-3.$(PROTOBUF_VERSION).tar.gz
+PROTOBUF_VERSION = 28.1
PROTOBUF_SITE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOBUF_VERSION)
PROTOBUF_LICENSE = BSD-3-Clause
PROTOBUF_LICENSE_FILES = LICENSE
PROTOBUF_CPE_ID_VENDOR = google
# N.B. Need to use host protoc during cross compilation.
-PROTOBUF_DEPENDENCIES = host-protobuf
-PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/bin/protoc
+PROTOBUF_DEPENDENCIES = host-protobuf libabseil-cpp
+PROTOBUF_CONF_OPTS = \
+ -Dprotobuf_ABSL_PROVIDER=package \
+ -Dprotobuf_ALLOW_CCACHE=ON \
+ -Dprotobuf_BUILD_CONFORMANCE=OFF \
+ -Dprotobuf_BUILD_LIBPROTOC=OFF \
+ -Dprotobuf_BUILD_LIBUPB=ON \
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES=ON \
+ -Dprotobuf_BUILD_PROTOC_BINARIES=OFF \
+ -Dprotobuf_BUILD_TESTS=OFF \
+ -Dprotobuf_DISABLE_RTTI=OFF \
+ -Dprotobuf_INSTALL=ON \
+ -DWITH_PROTOC=$(HOST_DIR)/bin/protoc
+
+HOST_PROTOBUF_DEPENDENCIES = host-libabseil-cpp
+HOST_PROTOBUF_CONF_OPTS = \
+ -Dprotobuf_ABSL_PROVIDER=package \
+ -Dprotobuf_ALLOW_CCACHE=ON \
+ -Dprotobuf_BUILD_CONFORMANCE=OFF \
+ -Dprotobuf_BUILD_LIBPROTOC=ON \
+ -Dprotobuf_BUILD_LIBUPB=OFF \
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES=ON \
+ -Dprotobuf_BUILD_PROTOC_BINARIES=ON \
+ -Dprotobuf_BUILD_TESTS=OFF \
+ -Dprotobuf_DISABLE_RTTI=OFF \
+ -Dprotobuf_INSTALL=ON \
+ -Dprotobuf_WITH_ZLIB=OFF
PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
@@ -38,14 +62,10 @@ PROTOBUF_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_ZLIB),y)
PROTOBUF_DEPENDENCIES += zlib
+PROTOBUF_CONF_OPTS += -Dprotobuf_WITH_ZLIB=ON
+else
+PROTOBUF_CONF_OPTS += -Dprotobuf_WITH_ZLIB=OFF
endif
-define PROTOBUF_REMOVE_UNNECESSARY_TARGET_FILES
- rm -rf $(TARGET_DIR)/usr/bin/protoc
- rm -rf $(TARGET_DIR)/usr/lib/libprotoc.so*
-endef
-
-PROTOBUF_POST_INSTALL_TARGET_HOOKS += PROTOBUF_REMOVE_UNNECESSARY_TARGET_FILES
-
-$(eval $(autotools-package))
-$(eval $(host-autotools-package))
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
diff --git a/package/python-protobuf/python-protobuf.hash b/package/python-protobuf/python-protobuf.hash
index e7af678b97..8ce6039449 100644
--- a/package/python-protobuf/python-protobuf.hash
+++ b/package/python-protobuf/python-protobuf.hash
@@ -1,3 +1,5 @@
-# Locally calculated
-sha256 e2b976e67d6fcf7078f799143a73f2a4d9cf3126ca68a1a6f1bda30fe5f3585c protobuf-python-4.21.12.tar.gz
+# md5, sha256 from https://pypi.org/pypi/protobuf/json
+md5 44b076f3564d3561067bcc2c455e008a protobuf-5.28.1.tar.gz
+sha256 42597e938f83bb7f3e4b35f03aa45208d49ae8d5bcb4bc10b9fc825e0ab5e423 protobuf-5.28.1.tar.gz
+# Locally computed sha256 checksums
sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE
diff --git a/package/python-protobuf/python-protobuf.mk b/package/python-protobuf/python-protobuf.mk
index df90254670..02bf2a1d70 100644
--- a/package/python-protobuf/python-protobuf.mk
+++ b/package/python-protobuf/python-protobuf.mk
@@ -5,12 +5,11 @@
################################################################################
PYTHON_PROTOBUF_VERSION = $(PROTOBUF_VERSION)
-PYTHON_PROTOBUF_SOURCE = protobuf-python-4.$(PYTHON_PROTOBUF_VERSION).tar.gz
-PYTHON_PROTOBUF_SITE = $(PROTOBUF_SITE)
+PYTHON_PROTOBUF_SOURCE = protobuf-5.$(PYTHON_PROTOBUF_VERSION).tar.gz
+PYTHON_PROTOBUF_SITE = https://files.pythonhosted.org/packages/3c/0b/7a997c8939f698d72bdea14d57116e43d3051fffb3b2964c30938c4a08e6
PYTHON_PROTOBUF_LICENSE = BSD-3-Clause
PYTHON_PROTOBUF_LICENSE_FILES = LICENSE
PYTHON_PROTOBUF_DEPENDENCIES = host-protobuf
PYTHON_PROTOBUF_SETUP_TYPE = setuptools
-PYTHON_PROTOBUF_SUBDIR = python
$(eval $(python-package))
diff --git a/package/usbguard/Config.in b/package/usbguard/Config.in
index f207fa6826..254209ff64 100644
--- a/package/usbguard/Config.in
+++ b/package/usbguard/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_USBGUARD
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
depends on BR2_INSTALL_LIBSTDCPP # protobuf
depends on BR2_TOOLCHAIN_HAS_THREADS # libqb, protobuf
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf, C++17 filesystem
depends on !BR2_STATIC_LIBS # libqb, protobuf
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
select BR2_PACKAGE_PROTOBUF
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:30 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Add new -DgRPC_BUILD_CODEGEN=OFF config option which is required if
no plugins are enabled.
Drop no longer relevant add GPR_DISABLE_WRAPPED_MEMCPY patch.
Rebase remaining patches.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.checkpackageignore | 3 +-
...the-availability-of-pthread_setname_.patch | 26 ++---
...trict-building-of-host-grpc-to-grpc.patch} | 98 ++++++++-----------
...py.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch | 34 -------
...conditionally-downloading-api-repos.patch} | 21 ++--
package/grpc/grpc.hash | 2 +-
package/grpc/grpc.mk | 3 +-
7 files changed, 68 insertions(+), 119 deletions(-)
rename package/grpc/{0003-host-grpc-only-cpp-plugin.patch => 0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch} (63%)
delete mode 100644 package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch
rename package/grpc/{0004-disable-unconditionally-downloading-api-repos.patch => 0003-disable-unconditionally-downloading-api-repos.patch} (62%)
diff --git a/.checkpackageignore b/.checkpackageignore
index efbb6c39ad..8ffdbd4e59 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -560,8 +560,7 @@ package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.
package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
-package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch lib_patch.Upstream
-package/grpc/0004-disable-unconditionally-downloading-api-repos.patch lib_patch.Upstream
+package/grpc/0003-disable-unconditionally-downloading-api-repos.patch lib_patch.Upstream
package/gstreamer1/gstd/0001-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch lib_patch.Upstream
package/guile/0001-calculate-csqrt_manually.patch lib_patch.Upstream
package/guile/0002-Makefile.am-fix-build-without-makeinfo.patch lib_patch.Upstream
diff --git a/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch b/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
index 92dc5a6c45..e8e211758a 100644
--- a/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
+++ b/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
@@ -1,4 +1,4 @@
-From 0dfb289a3b362b082ac3608d887e42f09dadc0d2 Mon Sep 17 00:00:00 2001
+From dfec50b899c449bc964514f16e94869de7a68896 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Mon, 31 Dec 2018 16:22:07 +0100
Subject: [PATCH] Properly detect the availability of pthread_setname_np()
@@ -20,15 +20,15 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
]
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
- CMakeLists.txt | 6 ++++++
- include/grpc/impl/codegen/port_platform.h | 2 ++
+ CMakeLists.txt | 6 ++++++
+ include/grpc/support/port_platform.h | 2 ++
2 files changed, 8 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 45c2fcb..0b2be4f 100644
+index 053b9e3784..2565dc5c84 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -208,6 +208,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
+@@ -291,6 +291,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
@@ -41,11 +41,11 @@ index 45c2fcb..0b2be4f 100644
if(MSVC)
include(cmake/msvc_static_runtime.cmake)
add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
-diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h
-index 4f213ff..55ecd9d 100644
---- a/include/grpc/impl/codegen/port_platform.h
-+++ b/include/grpc/impl/codegen/port_platform.h
-@@ -186,6 +186,7 @@
+diff --git a/include/grpc/support/port_platform.h b/include/grpc/support/port_platform.h
+index 5fb7426af2..24d438d702 100644
+--- a/include/grpc/support/port_platform.h
++++ b/include/grpc/support/port_platform.h
+@@ -228,6 +228,7 @@
#endif /* _LP64 */
#ifdef __GLIBC__
#define GPR_POSIX_CRASH_HANDLER 1
@@ -53,7 +53,7 @@ index 4f213ff..55ecd9d 100644
#ifdef __GLIBC_PREREQ
#if __GLIBC_PREREQ(2, 12)
#define GPR_LINUX_PTHREAD_NAME 1
-@@ -194,6 +195,7 @@
+@@ -236,6 +237,7 @@
// musl libc & others
#define GPR_LINUX_PTHREAD_NAME 1
#endif
@@ -61,6 +61,6 @@ index 4f213ff..55ecd9d 100644
#include <linux/version.h>
#else /* musl libc */
#define GPR_MUSL_LIBC_COMPAT 1
-
--
-2.26.63
+2.34.1
+
diff --git a/package/grpc/0003-host-grpc-only-cpp-plugin.patch b/package/grpc/0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch
similarity index 63%
rename from package/grpc/0003-host-grpc-only-cpp-plugin.patch
rename to package/grpc/0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch
index bfb8713053..82705d8a1e 100644
--- a/package/grpc/0003-host-grpc-only-cpp-plugin.patch
+++ b/package/grpc/0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch
@@ -1,4 +1,4 @@
-From 0f2c73b62bdc612f9d5cdd8e0c765995470d4f8b Mon Sep 17 00:00:00 2001
+From 6aab068a6bd92e215b61eaab61062bf1d97bc065 Mon Sep 17 00:00:00 2001
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Date: Tue, 25 May 2021 14:55:23 +0200
Subject: [PATCH] Add option to restrict building of (host-)grpc to
@@ -15,17 +15,17 @@ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Updated for 1.48.0:
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
- CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++----
- 1 file changed, 35 insertions(+), 4 deletions(-)
+ CMakeLists.txt | 36 +++++++++++++++++++++++++++++++-----
+ 1 file changed, 31 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0dcae6b1aee5..57b3963a43b0 100644
+index 2565dc5c84..94f8fd3e93 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -49,12 +49,16 @@ option(gRPC_BUILD_TESTS "Build tests" OFF)
+@@ -50,12 +50,16 @@ set(gRPC_BUILD_MSVC_MP_COUNT 0 CACHE STRING "The maximum number of processes for
+ option(gRPC_BUILD_TESTS "Build tests" OFF)
option(gRPC_BUILD_CODEGEN "Build codegen" ON)
- option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON)
- option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF)
+ option(gRPC_DOWNLOAD_ARCHIVES "Download archives for empty 3rd party directories" ON)
+option(gRPC_BUILD_PLUGIN_SUPPORT_ONLY "Build plugin support only" OFF)
set(gRPC_INSTALL_default ON)
@@ -39,7 +39,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL
"Generate installation target")
-@@ -563,6 +567,8 @@ add_custom_target(plugins
+@@ -662,6 +666,8 @@ add_custom_target(plugins
DEPENDS ${_gRPC_PLUGIN_LIST}
)
@@ -48,7 +48,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_custom_target(tools_c
DEPENDS
)
-@@ -574,6 +580,8 @@ add_custom_target(tools_cxx
+@@ -673,6 +679,8 @@ add_custom_target(tools_cxx
add_custom_target(tools
DEPENDS tools_c tools_cxx)
@@ -57,15 +57,16 @@ index 0dcae6b1aee5..57b3963a43b0 100644
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto
)
-@@ -1307,6 +1315,7 @@ if(gRPC_BUILD_TESTS)
+@@ -1660,7 +1668,7 @@ if(gRPC_BUILD_TESTS)
DEPENDS buildtests_c buildtests_cxx)
endif()
+-
+if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
add_library(address_sorting
third_party/address_sorting/address_sorting.c
-@@ -1359,6 +1368,8 @@ if(gRPC_INSTALL)
+@@ -2855,6 +2863,8 @@ if(gRPC_INSTALL)
)
endif()
@@ -73,17 +74,17 @@ index 0dcae6b1aee5..57b3963a43b0 100644
+
if(gRPC_BUILD_TESTS)
- add_library(end2end_tests
-@@ -1512,6 +1523,8 @@ target_link_libraries(end2end_tests
+ add_library(grpc_test_util
+@@ -2987,6 +2997,8 @@ endif()
endif()
+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
+
- add_library(gpr
- src/core/lib/gpr/alloc.cc
- src/core/lib/gpr/atm.cc
-@@ -2504,6 +2517,8 @@ if(gRPC_INSTALL)
+ add_library(grpc_unsecure
+ src/core/channelz/channel_trace.cc
+ src/core/channelz/channelz.cc
+@@ -3547,6 +3559,8 @@ if(gRPC_INSTALL)
)
endif()
@@ -91,17 +92,17 @@ index 0dcae6b1aee5..57b3963a43b0 100644
+
if(gRPC_BUILD_TESTS)
- add_library(grpc_test_util
-@@ -2618,6 +2633,8 @@ endif()
+ add_library(gtest
+@@ -3621,6 +3635,8 @@ target_link_libraries(gtest
endif()
+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
+
- add_library(grpc_unsecure
- src/core/ext/filters/census/grpc_context.cc
- src/core/ext/filters/channel_idle/channel_idle_filter.cc
-@@ -3102,6 +3119,8 @@ if(gRPC_INSTALL)
+ add_library(upb_base_lib
+ third_party/upb/upb/base/status.c
+ )
+@@ -4108,6 +4124,8 @@ if(gRPC_INSTALL)
)
endif()
@@ -110,7 +111,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
if(gRPC_BUILD_TESTS)
if(gRPC_BUILD_CODEGEN)
-@@ -3185,6 +3204,8 @@ endif()
+@@ -4193,6 +4211,8 @@ endif()
endif()
@@ -119,24 +120,24 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_library(grpc++
src/core/ext/transport/binder/client/binder_connector.cc
src/core/ext/transport/binder/client/channel_create.cc
-@@ -3635,6 +3656,7 @@ if(gRPC_INSTALL)
+@@ -4684,6 +4704,7 @@ if(gRPC_INSTALL)
)
endif()
+endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
if(gRPC_BUILD_CODEGEN)
- add_library(grpc++_reflection
-@@ -3889,6 +3911,8 @@ target_link_libraries(grpc++_test_util
+ add_library(grpc++_reflection ${_gRPC_STATIC_WIN32}
+@@ -4967,6 +4988,8 @@ target_link_libraries(grpc++_test_util
endif()
+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
+
add_library(grpc++_unsecure
+ src/cpp/client/call_credentials.cc
src/cpp/client/channel_cc.cc
- src/cpp/client/client_callback.cc
-@@ -4181,6 +4205,7 @@ if(gRPC_INSTALL)
+@@ -5707,6 +5730,7 @@ if(gRPC_INSTALL)
)
endif()
@@ -144,7 +145,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_library(grpc_plugin_support
src/compiler/cpp_generator.cc
-@@ -4240,7 +4265,7 @@ foreach(_hdr
+@@ -5769,7 +5793,7 @@ foreach(_hdr
endforeach()
@@ -153,25 +154,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
install(TARGETS grpc_plugin_support EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
-@@ -4324,6 +4349,8 @@ endif()
-
- endif()
-
-+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
-+
- add_library(upb
- third_party/upb/third_party/utf8_range/naive.c
- third_party/upb/third_party/utf8_range/range2-neon.c
-@@ -4393,6 +4420,8 @@ if(gRPC_INSTALL)
- )
- endif()
-
-+endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
-+
-
- if(gRPC_BUILD_TESTS)
-
-@@ -11085,7 +11114,7 @@ target_link_libraries(grpc_completion_queue_test
+@@ -16520,7 +16544,7 @@ target_link_libraries(grpc_completion_queue_test
endif()
@@ -180,16 +163,16 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_executable(grpc_cpp_plugin
src/compiler/cpp_plugin.cc
-@@ -11115,7 +11144,7 @@ target_link_libraries(grpc_cpp_plugin
+@@ -16548,7 +16572,7 @@ target_link_libraries(grpc_cpp_plugin
-if(gRPC_INSTALL)
+if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
- install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
+ install(TARGETS grpc_cpp_plugin EXPORT gRPCPluginTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
-@@ -23128,7 +23157,7 @@ endif()
+@@ -37968,7 +37992,7 @@ endif()
@@ -198,12 +181,13 @@ index 0dcae6b1aee5..57b3963a43b0 100644
if(gRPC_INSTALL)
install(EXPORT gRPCTargets
-@@ -23225,3 +23254,5 @@ generate_pkgconfig(
- "-lgrpc++_unsecure"
- ""
- "grpc++_unsecure.pc")
+@@ -38089,3 +38113,5 @@ generate_pkgconfig(
+ "-lgrpcpp_otel_plugin"
+ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib"
+ "grpcpp_otel_plugin.pc")
+
+endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
+\ No newline at end of file
--
-2.43.0
+2.34.1
diff --git a/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch b/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch
deleted file mode 100644
index aac92bab13..0000000000
--- a/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From be030314805137cd63b46ea6eaa702b608669910 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sun, 2 Jun 2019 17:45:47 +0200
-Subject: [PATCH] wrap_memcpy.cc: add GPR_DISABLE_WRAPPED_MEMCPY
-
-Add GPR_DISABLE_WRAPPED_MEMCPY to allow the user to disable wrapped
-memcpy. This will fix build on x86_64 on musl/uclibc without changing
-the cpu behavior.
-
-Fixes:
- - http://autobuild.buildroot.org/results/20d6f2489a4e291a53bd514da66105eb607e1014
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status: https://github.com/grpc/grpc/pull/19207]
----
- src/core/lib/gpr/wrap_memcpy.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/lib/gpr/wrap_memcpy.cc b/src/core/lib/gpr/wrap_memcpy.cc
-index 9b8608e056..38b76acf95 100644
---- a/src/core/lib/gpr/wrap_memcpy.cc
-+++ b/src/core/lib/gpr/wrap_memcpy.cc
-@@ -29,7 +29,7 @@
- extern "C" {
- #ifdef __linux__
- #if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) && \
-- !defined(__ANDROID__)
-+ !defined(__ANDROID__) && !defined(GPR_DISABLE_WRAPPED_MEMCPY)
- __asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
- void* __wrap_memcpy(void* destination, const void* source, size_t num) {
- return memcpy(destination, source, num);
---
-2.20.1
-
diff --git a/package/grpc/0004-disable-unconditionally-downloading-api-repos.patch b/package/grpc/0003-disable-unconditionally-downloading-api-repos.patch
similarity index 62%
rename from package/grpc/0004-disable-unconditionally-downloading-api-repos.patch
rename to package/grpc/0003-disable-unconditionally-downloading-api-repos.patch
index 967bbf6247..0cd5012b26 100644
--- a/package/grpc/0004-disable-unconditionally-downloading-api-repos.patch
+++ b/package/grpc/0003-disable-unconditionally-downloading-api-repos.patch
@@ -1,4 +1,4 @@
-From b0599c3d1b52818c79ea8fa5dfdc40a4ce01e454 Mon Sep 17 00:00:00 2001
+From 2a73f6439b6d745b2cbfff120dc7adc555400247 Mon Sep 17 00:00:00 2001
From: Michael Nosthoff <buildroot@heine.tech>
Date: Fri, 22 Jul 2022 08:49:48 +0200
Subject: [PATCH] disable unconditionally downloading api repos
@@ -9,31 +9,30 @@ for now.
See https://github.com/grpc/grpc/issues/30385
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
-
---
CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 11e7ae2b67..a9062fa6ef 100644
+index 94f8fd3e93..df43d2e193 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -327,6 +327,7 @@ include(cmake/xxhash.cmake)
- include(cmake/zlib.cmake)
- include(cmake/download_archive.cmake)
+@@ -402,6 +402,7 @@ if(gRPC_BUILD_GRPCPP_OTEL_PLUGIN)
+ include(cmake/opentelemetry-cpp.cmake)
+ endif()
+if(FALSE)
# Setup external proto library at third_party/envoy-api with 2 download URLs
- if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/envoy-api)
+ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/envoy-api AND gRPC_DOWNLOAD_ARCHIVES)
# Download the archive via HTTP, validate the checksum, and extract to third_party/envoy-api.
-@@ -403,6 +404,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds)
- xds-cb28da3451f158a947dfc45090fe92b07b243bc1
+@@ -478,6 +479,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds AND gRPC_DOWNLOAD_ARC
+ xds-3a472e524827f72d1ad621c4983dd5af54c46776
)
endif()
+endif()
if(WIN32)
- set(_gRPC_BASELIB_LIBRARIES ws2_32 crypt32)
+ set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} ws2_32 crypt32)
--
-2.25.1
+2.34.1
diff --git a/package/grpc/grpc.hash b/package/grpc/grpc.hash
index e6b76dcb5e..08aada1454 100644
--- a/package/grpc/grpc.hash
+++ b/package/grpc/grpc.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 b55696fb249669744de3e71acc54a9382bea0dce7cd5ba379b356b12b82d4229 grpc-1.51.1.tar.gz
+sha256 79ed4ab72fa9589b20f8b0b76c16e353e4cfec1d773d33afad605d97b5682c61 grpc-1.66.1.tar.gz
sha256 590198e3f305f2c347fde64d637c65492bbef554db6c8364e149cd375e3797ee LICENSE
diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 9125b1f9f6..47ebf1997c 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GRPC_VERSION = 1.51.1
+GRPC_VERSION = 1.66.1
GRPC_SITE = $(call github,grpc,grpc,v$(GRPC_VERSION))
GRPC_LICENSE = Apache-2.0, BSD-3-Clause (third_party code), MPL-2.0 (etc/roots.pem)
GRPC_LICENSE_FILES = LICENSE
@@ -29,6 +29,7 @@ GRPC_CONF_OPTS = \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_BUILD_CODEGEN=OFF \
-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF \
-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF \
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF \
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Rebase only prefix subset of variables patch.
Drop revert main assume modversion patch which is now upstream.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.checkpackageignore | 1 -
...th-the-sysroot-a-subset-of-variables.patch | 78 ++++++++++---------
...me-modversion-insted-of-version-if-o.patch | 45 -----------
package/pkgconf/pkgconf.hash | 2 +-
package/pkgconf/pkgconf.mk | 2 +-
5 files changed, 42 insertions(+), 86 deletions(-)
delete mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index 8ffdbd4e59..6a9922b055 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -1025,7 +1025,6 @@ package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch
package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch lib_patch.Upstream
package/pixman/0001-Disable-tests.patch lib_patch.Upstream
package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch lib_patch.Upstream
-package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch lib_patch.Upstream
package/pkgconf/pkg-config.in Shellcheck
package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch lib_patch.Upstream
package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch lib_patch.Upstream
diff --git a/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch b/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch
index a039d0c1bc..d25039ade2 100644
--- a/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch
+++ b/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch
@@ -1,4 +1,4 @@
-From 267a57022699453e8d8f517519df25ac6bf6ac4e Mon Sep 17 00:00:00 2001
+From c1f9e60f46f2207f9dd07dd290ad5a2da05ad41d Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 16 Dec 2018 11:52:18 +0100
Subject: [PATCH] Only prefix with the sysroot a subset of variables
@@ -23,19 +23,19 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Updated to include gobject-introspection paths]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
- libpkgconf/tuple.c | 60 ++++++++++++++++++++++++++++++++--------------
- 1 file changed, 42 insertions(+), 18 deletions(-)
+ libpkgconf/tuple.c | 65 ++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 46 insertions(+), 19 deletions(-)
diff --git a/libpkgconf/tuple.c b/libpkgconf/tuple.c
-index 8523709..7cd2fff 100644
+index 83f6a47..a2aa427 100644
--- a/libpkgconf/tuple.c
+++ b/libpkgconf/tuple.c
-@@ -161,6 +161,21 @@ dequote(const char *value)
+@@ -178,6 +178,21 @@ dequote(const char *value)
return buf;
}
+static char *
-+pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot);
++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags, bool add_sysroot);
+
+const char *sysrooted_keys[] = {
+ "g_ir_scanner",
@@ -49,21 +49,19 @@ index 8523709..7cd2fff 100644
+ NULL,
+};
+
- /*
- * !doc
- *
-@@ -181,6 +193,8 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch
+ static const char *
+ find_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars)
+ {
+@@ -237,14 +252,20 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch
{
char *dequote_value;
- pkgconf_tuple_t *tuple = calloc(sizeof(pkgconf_tuple_t), 1);
+ pkgconf_tuple_t *tuple = calloc(1, sizeof(pkgconf_tuple_t));
+ bool add_sysroot = false;
+ int i;
pkgconf_tuple_find_delete(list, key);
-@@ -188,9 +202,13 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch
-
- PKGCONF_TRACE(client, "adding tuple to @%p: %s => %s (parsed? %d)", list, key, dequote_value, parse);
+ dequote_value = dequote(value);
+ for (i = 0; sysrooted_keys[i] != NULL; i++)
+ if (!strcmp(key, sysrooted_keys[i]))
@@ -71,77 +69,81 @@ index 8523709..7cd2fff 100644
+
tuple->key = strdup(key);
if (parse)
-- tuple->value = pkgconf_tuple_parse(client, list, dequote_value);
-+ tuple->value = pkgconf_tuple_parse_sysroot(client, list, dequote_value, add_sysroot);
+- tuple->value = pkgconf_tuple_parse(client, list, dequote_value, flags);
++ tuple->value = pkgconf_tuple_parse_sysroot(client, list, dequote_value, flags, add_sysroot);
else
tuple->value = strdup(dequote_value);
-@@ -234,27 +252,14 @@ pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const c
+@@ -294,22 +315,8 @@ pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const c
return NULL;
}
-/*
- * !doc
- *
-- * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
+- * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
- *
- * Parse an expression for variable substitution.
- *
- * :param pkgconf_client_t* client: The pkgconf client object to access.
- * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list).
- * :param char* value: The ``key=value`` string to parse.
+- * :param uint flags: Any flags to consider while parsing.
- * :return: the variable data with any variables substituted
- * :rtype: char *
- */
-char *
--pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
+-pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
+static char *
-+pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot)
++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags, bool add_sysroot)
{
char buf[PKGCONF_BUFSIZE];
const char *ptr;
- char *bptr = buf;
-
-- if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
-+ if (add_sysroot && *value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
- bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf);
+@@ -318,7 +325,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
+ if (!(client->flags & PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES) &&
+ (!(flags & PKGCONF_PKG_PROPF_UNINSTALLED) || (client->flags & PKGCONF_PKG_PKGF_PKGCONF1_SYSROOT_RULES)))
+ {
+- if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
++ if (add_sysroot && *value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
+ bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf);
+ }
- for (ptr = value; *ptr != '\0' && bptr - buf < PKGCONF_BUFSIZE; ptr++)
-@@ -294,7 +299,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
-
- if (kv != NULL)
+@@ -381,7 +388,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
{
-- parsekv = pkgconf_tuple_parse(client, vars, kv);
-+ parsekv = pkgconf_tuple_parse_sysroot(client, vars, kv, add_sysroot);
+ size_t nlen;
+
+- parsekv = pkgconf_tuple_parse(client, vars, kv, flags);
++ parsekv = pkgconf_tuple_parse_sysroot(client, vars, kv, flags, add_sysroot);
+ nlen = pkgconf_strlcpy(bptr, parsekv, remain);
+ free(parsekv);
- strncpy(bptr, parsekv, PKGCONF_BUFSIZE - (bptr - buf));
- bptr += strlen(parsekv);
-@@ -339,6 +344,25 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
+@@ -432,6 +439,26 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
return strdup(buf);
}
+/*
+ * !doc
+ *
-+ * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
++ * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
+ *
+ * Parse an expression for variable substitution.
+ *
+ * :param pkgconf_client_t* client: The pkgconf client object to access.
+ * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list).
+ * :param char* value: The ``key=value`` string to parse.
++ * :param uint flags: Any flags to consider while parsing.
+ * :return: the variable data with any variables substituted
+ * :rtype: char *
+ */
+char *
-+pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
++pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
+{
-+ return pkgconf_tuple_parse_sysroot(client, vars, value, true);
++ return pkgconf_tuple_parse_sysroot(client, vars, value, flags, true);
+}
+
/*
* !doc
*
--
-2.19.2
+2.34.1
diff --git a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
deleted file mode 100644
index f659a3b07f..0000000000
--- a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 4ccef40918a539905a2951bfb81cf8dba4a245c6 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Date: Wed, 2 Jan 2019 18:15:50 +0100
-Subject: [PATCH] Revert "main: assume --modversion insted of --version if
- other flags or module names are provided"
-
-This reverts commit 12a0eb124cea85586e57f33c91a1e4c73459eef6, as it
-causes pkg-config to assume --modversion is used when something as
-simple as 'pkg-config --static --version' is used, leading to a
-failure instead of the expected behavior: the one of "pkg-config
---version".
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- cli/main.c | 14 ++------------
- 1 file changed, 2 insertions(+), 12 deletions(-)
-
-diff --git a/cli/main.c b/cli/main.c
-index b52cc85..c5acc10 100644
---- a/cli/main.c
-+++ b/cli/main.c
-@@ -1002,18 +1002,8 @@ main(int argc, char *argv[])
-
- if ((want_flags & PKG_VERSION) == PKG_VERSION)
- {
-- if (argc > 2)
-- {
-- fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]);
--
-- want_flags &= ~PKG_VERSION;
-- want_flags |= PKG_MODVERSION;
-- }
-- else
-- {
-- version();
-- return EXIT_SUCCESS;
-- }
-+ version();
-+ return EXIT_SUCCESS;
- }
-
- if ((want_flags & PKG_HELP) == PKG_HELP)
---
-2.20.1
-
diff --git a/package/pkgconf/pkgconf.hash b/package/pkgconf/pkgconf.hash
index f210869c03..6d4b7972d6 100644
--- a/package/pkgconf/pkgconf.hash
+++ b/package/pkgconf/pkgconf.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210 pkgconf-1.6.3.tar.xz
+sha256 3a9080ac51d03615e7c1910a0a2a8df08424892b5f13b0628a204d3fcce0ea8b pkgconf-2.3.0.tar.xz
sha256 07ee94b50a41ee3fc4e13a9b9c60b26fc28488494c465639f7e5f07a3952ec04 COPYING
diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk
index a8c7b48287..057f43bb98 100644
--- a/package/pkgconf/pkgconf.mk
+++ b/package/pkgconf/pkgconf.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PKGCONF_VERSION = 1.6.3
+PKGCONF_VERSION = 2.3.0
PKGCONF_SITE = https://distfiles.ariadne.space/pkgconf
PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.xz
PKGCONF_LICENSE = pkgconf license
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:22 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Add some patches fixing protobuf >= 26.0 compatibility.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
...ct-against-being-invoked-against-edi.patch | 57 +++++++++++++
...dSyntax-to-maximize-compatibility-ac.patch | 84 +++++++++++++++++++
| 44 ++++++++++
3 files changed, 185 insertions(+)
create mode 100644 package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
create mode 100644 package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
create mode 100644 package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
diff --git a/package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch b/package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
new file mode 100644
index 0000000000..c674ca2ee1
--- /dev/null
+++ b/package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
@@ -0,0 +1,57 @@
+From 2480f4d9d2fa97e5511ed0914ee529a344e969a7 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 22:43:30 -0400
+Subject: [PATCH] CGenerator: Protect against being invoked against "edition"
+ syntax .proto files
+
+The Google protobuf project is currently experimenting with a new syntax
+for .proto files called "editions". Since protobuf-c is a proto2/proto3
+compiler, after the previous commit reimplementing `FieldSyntax()`, the
+protobuf compiler will abort like this if presented with an "editions"
+syntax .proto file due to the safety check in `FieldSyntax()`:
+
+ $ protoc --experimental_editions --c_out=. test.proto
+ protoc-gen-c: ./protoc-c/c_helpers.h:178: int google::protobuf::compiler::c::FieldSyntax(const google::protobuf::FieldDescriptor*): Assertion `syntax == "proto2" || syntax == "proto3"' failed.
+ --c_out: protoc-gen-c: Plugin killed by signal 6.
+
+On protobuf 26, our `CodeGenerator` can implement certain methods to
+declare that we "support" editions, and then reject any other edition
+except proto2 and proto3, which have apparently been retroactively
+declared to be "editions". Of course this needs to be wrapped in a
+version guard.
+
+With this protection in place, the protobuf compiler cleanly exits with
+a nice error message like this:
+
+ $ protoc --experimental_editions --c_out=. test.proto
+ WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
+ E0000 00:00:1710988958.296200 20022 descriptor.cc:4620] Invalid proto descriptor for file "test.proto":
+ E0000 00:00:1710988958.296239 20022 descriptor.cc:4623] test.proto: Edition 2023 is later than the maximum supported edition PROTO3
+ --c_out: protoc-gen-c: Plugin failed with status code 1.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/protobuf-c/protobuf-c/pull/711
+---
+ protoc-c/c_generator.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index b8b44aa..4aeb579 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -93,6 +93,12 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+ const std::string& parameter,
+ OutputDirectory* output_directory,
+ std::string* error) const;
++
++#if GOOGLE_PROTOBUF_VERSION >= 5026000
++ uint64_t GetSupportedFeatures() const { return CodeGenerator::FEATURE_SUPPORTS_EDITIONS; }
++ Edition GetMinimumEdition() const { return Edition::EDITION_PROTO2; }
++ Edition GetMaximumEdition() const { return Edition::EDITION_PROTO3; }
++#endif
+ };
+
+ } // namespace c
+--
+2.34.1
+
diff --git a/package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch b/package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
new file mode 100644
index 0000000000..e14a9fbc75
--- /dev/null
+++ b/package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
@@ -0,0 +1,84 @@
+From ee3d9e5423c93ee6b828fdda8e7fef13a77634eb Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 22:25:54 -0400
+Subject: [PATCH] Reimplement FieldSyntax() to maximize compatibility across
+ protobuf versions
+
+Recent versions of Google protobuf have broken the interfaces for
+determining the syntax version of a .proto file. The current protobuf-c
+1.5.0 release does not compile with Google protobuf 26.0 due to the most
+recentage breakage. There is a possible workaround involving the Google
+protobuf `FileDescriptorLegacy` class, which is documented as:
+
+// TODO Remove this deprecated API entirely.
+
+So we probably shouldn't rely on it.
+
+Instead, this commit obtains the `FileDescriptorProto` corresponding
+to the passed in `FieldDescriptor` and interrogates the `syntax` field
+directly. This is a single implementation with no version-specific
+workarounds. Hopefully this won't break in the next Google protobuf
+release.
+
+I tested the `FieldSyntax()` implementation in this commit across a
+number of different Google protobuf releases and found that it worked
+(`make && make check`) on all of them:
+
+- Google protobuf 3.6.1.3 (Ubuntu 20.04)
+- Google protobuf 3.12.4 (Ubuntu 22.04)
+- Google protobuf 3.21.12 (Debian 12 + Debian unstable)
+- Google protobuf 3.25.2 (Debian experimental)
+- Google protobuf 26.1-dev
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/protobuf-c/protobuf-c/pull/711
+---
+ protoc-c/c_helpers.h | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 062d330..be28b60 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -70,10 +70,6 @@
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+-# include <google/protobuf/descriptor_legacy.h>
+-#endif
+-
+ namespace google {
+ namespace protobuf {
+ namespace compiler {
+@@ -173,13 +169,21 @@ struct NameIndex
+ int compare_name_indices_by_name(const void*, const void*);
+
+ // Return the syntax version of the file containing the field.
+-// This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+- return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+-#else
+- return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
+-#endif
++ auto proto = FileDescriptorProto();
++ field->file()->CopyTo(&proto);
++
++ if (proto.has_syntax()) {
++ auto syntax = proto.syntax();
++ assert(syntax == "proto2" || syntax == "proto3");
++ if (syntax == "proto2") {
++ return 2;
++ } else if (syntax == "proto3") {
++ return 3;
++ }
++ }
++
++ return 2;
+ }
+
+ // Work around changes in protobuf >= 22.x without breaking compilation against
+--
+2.34.1
+
--git a/package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch b/package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
new file mode 100644
index 0000000000..d7d9cdf845
--- /dev/null
+++ b/package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
@@ -0,0 +1,44 @@
+From a6cf1aa386067e26d582cc1d1e327787595c9f13 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 21:48:10 -0400
+Subject: [PATCH] FileGenerator::GenerateHeader(): Set `min_header_version`
+ unconditionally
+
+Previously, we were conditionally trying to set `min_header_version` to
+the lowest possible value, and relying on a "legacy" Google interface to
+determine the file descriptor's syntax version as part of that
+determination.
+
+Instead, simply bump the minimum version to 1003000 (1.3.0). This
+release was almost 7 years ago. In practice protobuf-c users should not
+be shipping pre-compiled .pb-c.c/.pb-c.h files, anyway.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/protobuf-c/protobuf-c/pull/711
+---
+ protoc-c/c_file.cc | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index ca0ad34..c6d8a24 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -117,14 +117,7 @@ FileGenerator::~FileGenerator() {}
+ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ std::string filename_identifier = FilenameIdentifier(file_->name());
+
+- int min_header_version = 1000000;
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+- if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+-#else
+- if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
+-#endif
+- min_header_version = 1003000;
+- }
++ const int min_header_version = 1003000;
+
+ // Generate top of header.
+ printer->Print(
+--
+2.34.1
+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
` (2 preceding siblings ...)
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
2024-11-06 21:26 ` [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 Thomas Petazzoni via buildroot
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
We need to backport a patch to fix compatibility with newer protobuf
versions.
Remove CFLAGS setting -std=c++11 and enable autoreconf so that
patch is applied properly.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.../mosh/0001-Bump-C-version-to-C-17.patch | 49 +++++++++++++++++++
package/mosh/mosh.mk | 4 +-
2 files changed, 50 insertions(+), 3 deletions(-)
create mode 100644 package/mosh/0001-Bump-C-version-to-C-17.patch
diff --git a/package/mosh/0001-Bump-C-version-to-C-17.patch b/package/mosh/0001-Bump-C-version-to-C-17.patch
new file mode 100644
index 0000000000..eea3889828
--- /dev/null
+++ b/package/mosh/0001-Bump-C-version-to-C-17.patch
@@ -0,0 +1,49 @@
+From eee1a8cf413051c2a9104e8158e699028ff56b26 Mon Sep 17 00:00:00 2001
+From: Alex Chernyakhovsky <alex@achernya.com>
+Date: Sun, 30 Jul 2023 16:19:46 -0400
+Subject: [PATCH] Bump C++ version to C++17
+
+Protobuf versions since 3.6.0 have long had a C++11 dependency; even
+more recent versions have picked up an Abseil dependency bumping that
+to C++14. Since it is now 2023, defaulting to C++17 is reasonable, so
+remove the conditional C++ standards version check that mosh
+previously had and replace it with an unconditional C++17 check.
+
+This means that all future commits can use C++17 features. According
+to https://en.cppreference.com/w/cpp/compiler_support/17 this means
+that minimum effective compiler versions for mosh become:
+
+gcc 7 (May 2017)
+clang 5 (September 2017)
+
+This, in turn, implies that future versions of mosh will no longer be
+available for RHEL/CentOS 7 (June 2014).
+
+Closes: #1267
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/mobile-shell/mosh/commit/eee1a8cf413051c2a9104e8158e699028ff56b26
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ee70c7b..7f7dc3b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,9 +22,9 @@ AS_IF([test x"$PROTOC" = x],
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+
+-# Protobuf 3.6+ requires C++11.
+-AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+- [AX_CXX_COMPILE_STDCXX([11])])
++# Protobuf transitively requires at least C++14, get ahead of the
++# curve and require at least C++17.
++AX_CXX_COMPILE_STDCXX([17])
+
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
+--
+2.34.1
+
diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk
index c938f70719..3c41a17401 100644
--- a/package/mosh/mosh.mk
+++ b/package/mosh/mosh.mk
@@ -9,9 +9,7 @@ MOSH_SITE = https://mosh.org
MOSH_DEPENDENCIES = zlib ncurses protobuf host-pkgconf
MOSH_LICENSE = GPL-3.0+ with exception
MOSH_LICENSE_FILES = COPYING COPYING.iOS
-
-# protobuf needs c++11 (since 3.6.0)
-MOSH_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
+MOSH_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_OPENSSL),y)
MOSH_CONF_OPTS += --with-crypto-library=openssl
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
` (3 preceding siblings ...)
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-11-06 21:26 ` [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 Thomas Petazzoni via buildroot
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
We need to add a patch fixing the protoc version check in collectd's
configure script.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
...onfigure.ac-fix-protoc-version-check.patch | 48 +++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 package/collectd/0004-configure.ac-fix-protoc-version-check.patch
diff --git a/package/collectd/0004-configure.ac-fix-protoc-version-check.patch b/package/collectd/0004-configure.ac-fix-protoc-version-check.patch
new file mode 100644
index 0000000000..edf5008f03
--- /dev/null
+++ b/package/collectd/0004-configure.ac-fix-protoc-version-check.patch
@@ -0,0 +1,48 @@
+From 77f33d05355b115d3384d94c1c4e36c56ea28b09 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Wed, 30 Oct 2024 12:45:51 -0600
+Subject: [PATCH] configure.ac: fix protoc version check
+
+The current version check for 3.0.0+ fails to handle cases where
+protoc is above version 3.0.0 but does not start with a 3, for
+example protoc may have a version of 28.1.
+
+To fix this use AX_COMPARE_VERSION to properly compare the version.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/collectd/collectd/pull/4332
+---
+ configure.ac | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 86d2378b..1f7a9cdf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4897,13 +4897,16 @@ AC_PATH_PROG([PROTOC], [protoc])
+ have_protoc3="no"
+ if test "x$PROTOC" != "x"; then
+ AC_MSG_CHECKING([for protoc 3.0.0+])
+- if $PROTOC --version | $EGREP libprotoc.3 >/dev/null; then
+- protoc3="yes (`$PROTOC --version`)"
+- have_protoc3="yes"
+- else
+- protoc3="no (`$PROTOC --version`)"
+- fi
+- AC_MSG_RESULT([$protoc3])
++ AC_SUBST([PROTOC_VERSION], [`$PROTOC --version | cut -d ' ' -f 2`])
++ AX_COMPARE_VERSION([$PROTOC_VERSION],[ge],[3],
++ [
++ have_protoc3="yes"
++ AC_MSG_RESULT([yes ($PROTOC_VERSION)])
++ ],
++ [
++ AC_MSG_RESULT([no ($PROTOC_VERSION)])
++ ]
++ )
+ fi
+ AM_CONDITIONAL([HAVE_PROTOC3], [test "x$have_protoc3" = "xyes"])
+
+--
+2.34.1
+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
@ 2024-11-06 21:21 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:21 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:19 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> We need to backport a patch to fix compatibility with newer protobuf
> versions.
>
> Remove CFLAGS setting -std=c++11 and enable autoreconf so that
> patch is applied properly.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> .../mosh/0001-Bump-C-version-to-C-17.patch | 49 +++++++++++++++++++
> package/mosh/mosh.mk | 4 +-
> 2 files changed, 50 insertions(+), 3 deletions(-)
> create mode 100644 package/mosh/0001-Bump-C-version-to-C-17.patch
Applied to master, thanks. This should have been *before* the protobuf
bump in your series, as it fixes an issue with the bump, but also works
before the bump, so it really is a preparation commit.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
@ 2024-11-06 21:21 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:21 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:20 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> We need to add a patch fixing the protoc version check in collectd's
> configure script.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> ...onfigure.ac-fix-protoc-version-check.patch | 48 +++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 package/collectd/0004-configure.ac-fix-protoc-version-check.patch
Applied to master, thanks. This should have appeared *before* the
protobuf bump in your series, as it fixes an issue with the bump, but
also works before the bump, so it really is a preparation commit.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
@ 2024-11-06 21:21 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:21 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:17 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Rebase only prefix subset of variables patch.
>
> Drop revert main assume modversion patch which is now upstream.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> .checkpackageignore | 1 -
> ...th-the-sysroot-a-subset-of-variables.patch | 78 ++++++++++---------
> ...me-modversion-insted-of-version-if-o.patch | 45 -----------
> package/pkgconf/pkgconf.hash | 2 +-
> package/pkgconf/pkgconf.mk | 2 +-
> 5 files changed, 42 insertions(+), 86 deletions(-)
> delete mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
Applied to next, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
@ 2024-11-06 21:22 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:22 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:18 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Add some patches fixing protobuf >= 26.0 compatibility.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> ...ct-against-being-invoked-against-edi.patch | 57 +++++++++++++
> ...dSyntax-to-maximize-compatibility-ac.patch | 84 +++++++++++++++++++
> ...nerateHeader-Set-min_header_version-.patch | 44 ++++++++++
> 3 files changed, 185 insertions(+)
> create mode 100644 package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
> create mode 100644 package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
> create mode 100644 package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
Applied to master, thanks. This should have appeared *before* the
protobuf bump in your series, as it fixes a fallout from the bump, and
therefore with your proposed order, there is a bisectability breakage
between PATCH 1 and PATCH 4.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
` (4 preceding siblings ...)
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
@ 2024-11-06 21:26 ` Thomas Petazzoni via buildroot
5 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:26 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Hello,
Thanks for your work on this complicated package.
On Wed, 30 Oct 2024 13:00:15 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Migrate protobuf build from autotools to cmake.
Unfortunately, while doing so, you have missed to review carefully
protobuf.mk, and you left some code that was autotools-related, and
therefore no longer taken into account after the cmake migration.
In particular:
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
PROTOBUF_CONF_ENV += LIBS=-latomic
endif
is not taken into account after the cmake migration, but is still
needed, otherwise the build breaks for example on SPARC. It needs to be
changed to:
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-PROTOBUF_CONF_ENV += LIBS=-latomic
+PROTOBUF_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
endif
Also:
PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
PROTOBUF_CXXFLAGS += -O0
endif
ifeq ($(BR2_or1k),y)
PROTOBUF_CXXFLAGS += -mcmodel=large
endif
PROTOBUF_CONF_ENV = CXXFLAGS="$(PROTOBUF_CXXFLAGS)"
is not taken into account after the cmake migration... but is in fact
no longer needed, and therefore should be dropped (perhaps as a
preparation commit). It is no longer needed because:
The BR2_or1k workaround is removed, as protobuf depends on
libabseil-cpp, which isn't available on OpenRISC.
The BR2_TOOLCHAIN_HAS_GCC_BUG_85180 workaround is removed, as this
workaround is for Microblaze, and protobuf depends on libabseil-cpp,
which isn't avialable on Microblaze.
Finally, this protobuf bump breaks the build of kismet (at least).
Could you check this, and generally check more reverse dependencies of
protobuf?
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
@ 2024-11-06 21:30 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:30 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:16 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Add new -DgRPC_BUILD_CODEGEN=OFF config option which is required if
> no plugins are enabled.
>
> Drop no longer relevant add GPR_DISABLE_WRAPPED_MEMCPY patch.
>
> Rebase remaining patches.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
There's something I'm not super happy with with this bump:
- It is needed to fix the current build breakage in grpc
(http://autobuild.buildroot.net/results/b2dfc13dcac8396bc7510a4d992558a01d3c9f22/),
which is caused by your bump of libabseil-cpp in
0d40b47866753340b214e811af53e6a95216bbb3.
- But this grpc version bump *requires* the protobuf bump (apparently).
So it's a lot of version bumps needed to fix a build issue.
I would have preferred a more minimal fix of the grpc build for the
current master, and separately a bump, but backporting the fix for the
libaseil-cpp issue seems difficult.
So, fair enough, let's do it with a protobuf bump + grpc bump.
Overall, I did not apply this patch because it requires your protobuf
bump, but the protobuf bump needs more work.
However, please add into your patch series the following additional
patch:
commit 122e581244877ce4383448a1a298dd9ae480cde7
Author: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Mon Nov 4 23:27:44 2024 +0100
package/grpc: remove BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dead code
This work-around was added in commit
716f8b34c526c702aa19e9a66a25df5d3a6ea663 ("package/grpc: work around
gcc bug 85180") to work around a bug on Microblaze. However, since
commit
ae0557403a3a4cbf5354f0ab1784a08623382e5e ("package/libabseil-cpp: add
BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS"), grpc depends on
libaseil-cpp, which isn't available on Microblaze, making the
GCC_BUG_85180 no longer needed, and effectively dead code. This commit
drops it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 47ebf1997c..39be4f583f 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -59,11 +59,6 @@ GRPC_CFLAGS += -DGPR_DISABLE_WRAPPED_MEMCPY
GRPC_CXXFLAGS += -DGPR_DISABLE_WRAPPED_MEMCPY
endif
-ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
-GRPC_CFLAGS += -O0
-GRPC_CXXFLAGS += -O0
-endif
-
GRPC_CONF_OPTS += \
-DCMAKE_C_FLAGS="$(GRPC_CFLAGS)" \
-DCMAKE_CXX_FLAGS="$(GRPC_CXXFLAGS)"
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-11-06 21:30 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
2024-11-06 21:30 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
2024-11-06 21:22 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-11-06 21:26 ` [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox