@@ -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
@@ -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
@@ -51,26 +52,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
@@ -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
new file mode 100644
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 c736d7d3796eb7a5446ff0ccc562e4f79d8fa6f33e11047e4af9cb3202a4c7e3 netbird-0.31.0-go2.tar.gz
+sha256 c9f34c452ac8f054df592e3eeca0e271b91e8010c0fc6cf8c76aabf547a9388d LICENSE
new file mode 100644
@@ -0,0 +1,25 @@
+################################################################################
+#
+# netbird
+#
+################################################################################
+
+NETBIRD_VERSION = 0.31.0
+NETBIRD_SITE = $(call github,netbirdio,netbird,v$(NETBIRD_VERSION))
+NETBIRD_LICENSE = BSD-3-Clause
+NETBIRD_LICENSE_FILES = LICENSE
+NETBIRD_GOMOD = github.com/netbirdio/netbird
+NETBIRD_BUILD_TARGETS = client
+NETBIRD_LDFLAGS = \
+ -X github.com/netbirdio/netbird/version.version=$(NETBIRD_VERSION)
+
+define NETBIRD_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/bin/client $(TARGET_DIR)/usr/bin/netbird
+endef
+
+define NETBIRD_LINUX_CONFIG_FIXUPS
+ $(call KCONFIG_ENABLE_OPT,CONFIG_TUN)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_WIREGUARD)
+endef
+
+$(eval $(golang-package))
@@ -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
@@ -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
@@ -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"
@@ -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.
@@ -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
@@ -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
@@ -7,45 +7,53 @@
# 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_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)"
+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
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-PROTOBUF_CONF_ENV += LIBS=-latomic
+PROTOBUF_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
endif
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))
@@ -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
@@ -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))
@@ -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
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 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. Signed-off-by: James Hilliard <james.hilliard1@gmail.com> --- Changes v4 -> v5: - fixup some autotools -> cmake migration issues --- package/criu/Config.in | 2 +- package/kismet/Config.in | 12 ++-- package/mosh/Config.in | 6 +- package/netbird/netbird.hash | 3 + package/netbird/netbird.mk | 25 ++++++++ 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 | 60 +++++++++++--------- package/python-protobuf/python-protobuf.hash | 6 +- package/python-protobuf/python-protobuf.mk | 5 +- package/usbguard/Config.in | 2 +- 15 files changed, 103 insertions(+), 54 deletions(-) create mode 100644 package/netbird/netbird.hash create mode 100644 package/netbird/netbird.mk