mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 1/4] host-abseil-cpp: new package
@ 2025-10-28 14:38 Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 2/4] protobuf: version bump 3.7.1 -> 33.0 Sven Püschel
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sven Püschel @ 2025-10-28 14:38 UTC (permalink / raw)
  To: ptxdist; +Cc: Sven Püschel

Signed-off-by: Sven Püschel <s.pueschel@pengutronix.de>
---
 rules/host-abseil-cpp.in   |  6 ++++++
 rules/host-abseil-cpp.make | 30 ++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 rules/host-abseil-cpp.in
 create mode 100644 rules/host-abseil-cpp.make

diff --git a/rules/host-abseil-cpp.in b/rules/host-abseil-cpp.in
new file mode 100644
index 000000000..df9010381
--- /dev/null
+++ b/rules/host-abseil-cpp.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools_noprompt
+
+config HOST_ABSEIL_CPP
+	tristate
+	select HOST_CMAKE
+	default y if ALLYES
diff --git a/rules/host-abseil-cpp.make b/rules/host-abseil-cpp.make
new file mode 100644
index 000000000..4bb70bc4a
--- /dev/null
+++ b/rules/host-abseil-cpp.make
@@ -0,0 +1,30 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2025 by Sven Püschel <s.pueschel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_ABSEIL_CPP) += host-abseil-cpp
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+HOST_ABSEIL_CPP_CONF_TOOL	:= cmake
+HOST_ABSEIL_CPP_CONF_OPT	 = \
+	$(HOST_CMAKE_OPT) \
+	-G Ninja \
+	-DABSL_BUILD_MONOLITHIC_SHARED_LIBS=OFF \
+	-DABSL_BUILD_TESTING=OFF \
+	-DABSL_BUILD_TEST_HELPERS=OFF \
+	-DABSL_ENABLE_INSTALL=ON \
+	-DABSL_PROPAGATE_CXX_STD=OFF \
+	-DABSL_USE_SYSTEM_INCLUDES=OFF \
+	-DBUILD_TESTING=OFF
+
+# vim: syntax=make
-- 
2.47.3




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH 2/4] protobuf: version bump 3.7.1 -> 33.0
  2025-10-28 14:38 [ptxdist] [PATCH 1/4] host-abseil-cpp: new package Sven Püschel
@ 2025-10-28 14:38 ` Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 3/4] protobuf-c: version bump 1.4.1 -> 1.5.2 Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 4/4] nanopb: version bump 0.4.8 -> 0.4.9.1 Sven Püschel
  2 siblings, 0 replies; 4+ messages in thread
From: Sven Püschel @ 2025-10-28 14:38 UTC (permalink / raw)
  To: ptxdist; +Cc: Sven Püschel

protobuf now uses bazel as it's primary build system, but also provides
a CMake build system. As PTXdist doesn't support bazel, use CMake.

Also protobuf now depends on the abseil-cpp library. But it doesn't
depend on the host protoc executable anymore, as it's only required
when tests or examples are built [1].

Compiling the protoc binary also needs libupb to be enabled, as the
compilation otherwise fails. Therefore it is enabled on the host side.

Protobuf now also depends on a UTF-8 Range library. This previously had
it's own repository, but is now developed inside of the protobuf
repository [2]. As the library is probably only used by protobuf and
has to keep in sync with the protobuf sources, avoid the effort of
separating it into a separate rule.

[1] https://github.com/protocolbuffers/protobuf/blob/a79f2d2e9fadd75e94f3fe40a0399bf0a5d90551/CMakeLists.txt#L317-L320
[2] https://github.com/protocolbuffers/utf8_range/blob/1d1ea7e3fedf482d4a12b473c1ed25fe0f371a45/README.md?plain=1#L1-L4

Signed-off-by: Sven Püschel <s.pueschel@pengutronix.de>
---
 patches/protobuf-all-3.7.1/autogen.sh |  1 -
 rules/host-protobuf.in                |  2 ++
 rules/host-protobuf.make              | 25 +++++++++++++------
 rules/protobuf.in                     |  3 ++-
 rules/protobuf.make                   | 35 ++++++++++++++++++---------
 5 files changed, 44 insertions(+), 22 deletions(-)
 delete mode 120000 patches/protobuf-all-3.7.1/autogen.sh

diff --git a/patches/protobuf-all-3.7.1/autogen.sh b/patches/protobuf-all-3.7.1/autogen.sh
deleted file mode 120000
index 9f8a4cb7d..000000000
--- a/patches/protobuf-all-3.7.1/autogen.sh
+++ /dev/null
@@ -1 +0,0 @@
-../autogen.sh
\ No newline at end of file
diff --git a/rules/host-protobuf.in b/rules/host-protobuf.in
index 00de2ad25..6c48438c7 100644
--- a/rules/host-protobuf.in
+++ b/rules/host-protobuf.in
@@ -2,4 +2,6 @@
 
 config HOST_PROTOBUF
 	tristate
+	select HOST_ABSEIL_CPP
+	select HOST_CMAKE
 	default y if ALLYES
diff --git a/rules/host-protobuf.make b/rules/host-protobuf.make
index 862aa4c7a..7a205018f 100644
--- a/rules/host-protobuf.make
+++ b/rules/host-protobuf.make
@@ -15,14 +15,23 @@ HOST_PACKAGES-$(PTXCONF_HOST_PROTOBUF) += host-protobuf
 # Prepare
 # ----------------------------------------------------------------------------
 
-#
-# autoconf
-#
-HOST_PROTOBUF_CONF_TOOL	:= autoconf
+HOST_PROTOBUF_CONF_TOOL	:= cmake
 HOST_PROTOBUF_CONF_OPT	:= \
-	$(HOST_AUTOCONF) \
-	--disable-64bit-solaris \
-	--disable-static \
-	--without-zlib
+	$(HOST_CMAKE_OPT) \
+	-Dprotobuf_BUILD_CONFORMANCE=OFF \
+	-Dprotobuf_BUILD_EXAMPLES=OFF \
+	-Dprotobuf_BUILD_LIBPROTOC=OFF \
+	-Dprotobuf_BUILD_LIBUPB=ON \
+	-Dprotobuf_BUILD_PROTOBUF_BINARIES=ON \
+	-Dprotobuf_BUILD_PROTOC_BINARIES=ON \
+	-Dprotobuf_BUILD_SHARED_LIBS=OFF \
+	-Dprotobuf_BUILD_TESTS=OFF \
+	-Dprotobuf_DISABLE_RTTI=OFF \
+	-Dprotobuf_FORCE_FETCH_DEPENDENCIES=OFF \
+	-Dprotobuf_INSTALL=ON \
+	-Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON \
+	-Dprotobuf_WITH_ZLIB=OFF \
+	-Dutf8_range_ENABLE_INSTALL=ON \
+	-Dutf8_range_ENABLE_TESTS=OFF
 
 # vim: syntax=make
diff --git a/rules/protobuf.in b/rules/protobuf.in
index 667c6404d..e01fdfab3 100644
--- a/rules/protobuf.in
+++ b/rules/protobuf.in
@@ -2,11 +2,12 @@
 
 menuconfig PROTOBUF
 	tristate
+	select ABSEIL_CPP
 	select LIBC_M
 	select LIBC_PTHREAD
 	select GCCLIBS_CXX
 	select GCCLIBS_GCC_S
-	select HOST_PROTOBUF
+	select HOST_CMAKE
 	select ZLIB		if PROTOBUF_ZLIB
 	prompt "protobuf                      "
 	help
diff --git a/rules/protobuf.make b/rules/protobuf.make
index f66811b26..b99943141 100644
--- a/rules/protobuf.make
+++ b/rules/protobuf.make
@@ -14,29 +14,39 @@ PACKAGES-$(PTXCONF_PROTOBUF) += protobuf
 #
 # Paths and names
 #
-PROTOBUF_VERSION	:= 3.7.1
-PROTOBUF_MD5		:= cda6ae370a5df941f8aa837c8a0292ba
-PROTOBUF		:= protobuf-all-$(PROTOBUF_VERSION)
+PROTOBUF_VERSION	:= 33.0
+PROTOBUF_MD5		:= 936b48fdf816b0341c74ba73a42348c0
+PROTOBUF		:= protobuf-$(PROTOBUF_VERSION)
 PROTOBUF_SUFFIX		:= tar.gz
 PROTOBUF_URL		:= https://github.com/google/protobuf/releases/download/v$(PROTOBUF_VERSION)/$(PROTOBUF).$(PROTOBUF_SUFFIX)
 PROTOBUF_SOURCE		:= $(SRCDIR)/$(PROTOBUF).$(PROTOBUF_SUFFIX)
 PROTOBUF_DIR		:= $(BUILDDIR)/$(PROTOBUF)
 PROTOBUF_LICENSE	:= BSD-3-Clause
+PROTOBUF_LICENSE_FILES	:= \
+	file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b
 
 # ----------------------------------------------------------------------------
 # Prepare
 # ----------------------------------------------------------------------------
 
-#
-# autoconf
-#
-PROTOBUF_CONF_TOOL	:= autoconf
+PROTOBUF_CONF_TOOL	:= cmake
 PROTOBUF_CONF_OPT	:= \
-	$(CROSS_AUTOCONF_USR) \
-	--disable-64bit-solaris \
-	--disable-static \
-	--$(call ptx/wwo, PTXCONF_PROTOBUF_ZLIB)-zlib \
-	--with-protoc=$(PTXDIST_SYSROOT_HOST)/usr/bin/protoc
+	$(CROSS_CMAKE_USR) \
+	-Dprotobuf_BUILD_CONFORMANCE=OFF \
+	-Dprotobuf_BUILD_EXAMPLES=OFF \
+	-Dprotobuf_BUILD_LIBPROTOC=OFF \
+	-Dprotobuf_BUILD_LIBUPB=OFF \
+	-Dprotobuf_BUILD_PROTOBUF_BINARIES=ON \
+	-Dprotobuf_BUILD_PROTOC_BINARIES=OFF \
+	-Dprotobuf_BUILD_SHARED_LIBS=ON \
+	-Dprotobuf_BUILD_TESTS=OFF \
+	-Dprotobuf_DISABLE_RTTI=OFF \
+	-Dprotobuf_FORCE_FETCH_DEPENDENCIES=OFF \
+	-Dprotobuf_INSTALL=ON \
+	-Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON \
+	-Dprotobuf_WITH_ZLIB=$(call ptx/onoff, PTXCONF_PROTOBUF_ZLIB) \
+	-Dutf8_range_ENABLE_INSTALL=ON \
+	-Dutf8_range_ENABLE_TESTS=OFF
 
 # ----------------------------------------------------------------------------
 # Target-Install
@@ -51,6 +61,7 @@ $(STATEDIR)/protobuf.targetinstall:
 	@$(call install_fixup, protobuf,AUTHOR,"Adrian Baumgarth <adrian.baumgarth@l-3com.com>")
 	@$(call install_fixup, protobuf,DESCRIPTION,missing)
 
+	@$(call install_lib, protobuf, 0, 0, 0644, libutf8_validity)
 	@$(call install_lib, protobuf, 0, 0, 0644, libprotobuf-lite)
 	@$(call install_lib, protobuf, 0, 0, 0644, libprotobuf)
 
-- 
2.47.3




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH 3/4] protobuf-c: version bump 1.4.1 -> 1.5.2
  2025-10-28 14:38 [ptxdist] [PATCH 1/4] host-abseil-cpp: new package Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 2/4] protobuf: version bump 3.7.1 -> 33.0 Sven Püschel
@ 2025-10-28 14:38 ` Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 4/4] nanopb: version bump 0.4.8 -> 0.4.9.1 Sven Püschel
  2 siblings, 0 replies; 4+ messages in thread
From: Sven Püschel @ 2025-10-28 14:38 UTC (permalink / raw)
  To: ptxdist; +Cc: Sven Püschel

protobuf-c compiles fine without a dependency on the host protobuf-c.
Therefore remove the dependency.

The license md5sum changed due to an updated year.

Signed-off-by: Sven Püschel <s.pueschel@pengutronix.de>
---
 rules/host-protobuf-c.make |  7 ++++++-
 rules/protobuf-c.in        |  1 -
 rules/protobuf-c.make      | 12 ++++++++----
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/rules/host-protobuf-c.make b/rules/host-protobuf-c.make
index c63134ff0..da2742872 100644
--- a/rules/host-protobuf-c.make
+++ b/rules/host-protobuf-c.make
@@ -17,6 +17,11 @@ HOST_PACKAGES-$(PTXCONF_HOST_PROTOBUF_C) += host-protobuf-c
 HOST_PROTOBUF_C_CONF_TOOL	:= autoconf
 HOST_PROTOBUF_C_CONF_OPT	:= \
 	$(HOST_AUTOCONF) \
-	--disable-static
+	$(GLOBAL_LARGE_FILE_OPTION) \
+	--disable-static \
+	--enable-protoc \
+	--disable-valgrind-tests \
+	--disable-code-coverage \
+	--$(call ptx/endis, PTXDIST_Y2038)-year2038
 
 # vim: syntax=make
diff --git a/rules/protobuf-c.in b/rules/protobuf-c.in
index 921f70471..0258c6ffa 100644
--- a/rules/protobuf-c.in
+++ b/rules/protobuf-c.in
@@ -2,7 +2,6 @@
 
 config PROTOBUF_C
 	tristate
-	select HOST_PROTOBUF_C
 	prompt "protobuf-c                    "
 	help
 	  A C implementation of the Protocol Buffers data serialization
diff --git a/rules/protobuf-c.make b/rules/protobuf-c.make
index 60f7f6494..2131a75b7 100644
--- a/rules/protobuf-c.make
+++ b/rules/protobuf-c.make
@@ -14,15 +14,15 @@ PACKAGES-$(PTXCONF_PROTOBUF_C) += protobuf-c
 #
 # Paths and names
 #
-PROTOBUF_C_VERSION	:= 1.4.1
-PROTOBUF_C_MD5		:= 4c17d70317ce9fc4cca9690377284659
+PROTOBUF_C_VERSION	:= 1.5.2
+PROTOBUF_C_MD5		:= 0612ee47cccaaf4ad1c4f0c8bdc13abf
 PROTOBUF_C		:= protobuf-c-$(PROTOBUF_C_VERSION)
 PROTOBUF_C_SUFFIX	:= tar.gz
 PROTOBUF_C_URL		:= https://github.com/protobuf-c/protobuf-c/releases/download/v$(PROTOBUF_C_VERSION)/protobuf-c-$(PROTOBUF_C_VERSION).$(PROTOBUF_C_SUFFIX)
 PROTOBUF_C_SOURCE	:= $(SRCDIR)/$(PROTOBUF_C).$(PROTOBUF_C_SUFFIX)
 PROTOBUF_C_DIR		:= $(BUILDDIR)/$(PROTOBUF_C)
 PROTOBUF_C_LICENSE	:= BSD-2-Clause
-PROTOBUF_C_LICENSE_FILES := file://LICENSE;md5=9f725889e0d77383e26cb42b0b62cea2
+PROTOBUF_C_LICENSE_FILES := file://LICENSE;md5=bd8de4f63e06b1ccc06e9f8dc5b1aa97
 
 # ----------------------------------------------------------------------------
 # Prepare
@@ -34,8 +34,12 @@ PROTOBUF_C_LICENSE_FILES := file://LICENSE;md5=9f725889e0d77383e26cb42b0b62cea2
 PROTOBUF_C_CONF_TOOL	:= autoconf
 PROTOBUF_C_CONF_OPT	:= \
 	$(CROSS_AUTOCONF_USR) \
+	$(GLOBAL_LARGE_FILE_OPTION) \
+	--disable-static \
 	--disable-protoc \
-	--disable-static
+	--disable-valgrind-tests \
+	--disable-code-coverage \
+	--$(call ptx/endis, PTXDIST_Y2038)-year2038
 
 # ----------------------------------------------------------------------------
 # Target-Install
-- 
2.47.3




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH 4/4] nanopb: version bump 0.4.8 -> 0.4.9.1
  2025-10-28 14:38 [ptxdist] [PATCH 1/4] host-abseil-cpp: new package Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 2/4] protobuf: version bump 3.7.1 -> 33.0 Sven Püschel
  2025-10-28 14:38 ` [ptxdist] [PATCH 3/4] protobuf-c: version bump 1.4.1 -> 1.5.2 Sven Püschel
@ 2025-10-28 14:38 ` Sven Püschel
  2 siblings, 0 replies; 4+ messages in thread
From: Sven Püschel @ 2025-10-28 14:38 UTC (permalink / raw)
  To: ptxdist; +Cc: Sven Püschel

Set the CMake configure arguments based on the comment in the rule file
that only headers, generators and static libraries are installed.
Therefore disabled building a shared library. Also the static library
depends on the BUILD_RUNTIME setting, which is therefore enabled.

Signed-off-by: Sven Püschel <s.pueschel@pengutronix.de>
---
 rules/nanopb.make | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/rules/nanopb.make b/rules/nanopb.make
index 4b5927688..8df47f52d 100644
--- a/rules/nanopb.make
+++ b/rules/nanopb.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_NANOPB) += nanopb
 #
 # Paths and names
 #
-NANOPB_VERSION		:= 0.4.8
-NANOPB_MD5		:= 7c5305add7bf70b915c6eb1dc50cc20f
+NANOPB_VERSION		:= 0.4.9.1
+NANOPB_MD5		:= 97b043a99b26eb1722460ee4c826ddba
 NANOPB			:= nanopb-$(NANOPB_VERSION)
 NANOPB_SUFFIX		:= tar.gz
 NANOPB_URL		:= https://jpa.kapsi.fi/nanopb/download/$(NANOPB).$(NANOPB_SUFFIX)
@@ -33,7 +33,11 @@ NANOPB_LICENSE_FILES	:= file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f
 #
 NANOPB_CONF_TOOL	:= cmake
 NANOPB_CONF_OPT		:= \
-	$(CROSS_CMAKE_USR)
+	$(CROSS_CMAKE_USR) \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DBUILD_STATIC_LIBS=ON \
+	-Dnanopb_BUILD_GENERATOR=ON \
+	-Dnanopb_BUILD_RUNTIME=ON
 
 # Note: the package installs only headers, generators, and static libraries, so
 # no targetinstall stage is needed.
-- 
2.47.3




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-10-28 14:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-28 14:38 [ptxdist] [PATCH 1/4] host-abseil-cpp: new package Sven Püschel
2025-10-28 14:38 ` [ptxdist] [PATCH 2/4] protobuf: version bump 3.7.1 -> 33.0 Sven Püschel
2025-10-28 14:38 ` [ptxdist] [PATCH 3/4] protobuf-c: version bump 1.4.1 -> 1.5.2 Sven Püschel
2025-10-28 14:38 ` [ptxdist] [PATCH 4/4] nanopb: version bump 0.4.8 -> 0.4.9.1 Sven Püschel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox