[ptxdist] [PATCH] host-meson: version bump 1.3.0 -> 1.4.0

2024-05-24 Thread Philipp Zabel
https://mesonbuild.com/Release-notes-for-1-4-0.html

Signed-off-by: Philipp Zabel 
---
 ...n-t-add-rpaths-for-build-directories-when-cross-co.patch | 6 +++---
 .../0002-HACK-enable-NEON-only-for-ARMv7.patch  | 4 ++--
 .../0003-HACK-don-t-fail-if-lrelease-is-missing.patch   | 4 ++--
 .../0004-HACK-don-t-fail-if-uic-is-missing.patch| 4 ++--
 patches/{meson-1.3.0 => meson-1.4.0}/series | 0
 rules/host-meson.make   | 4 ++--
 6 files changed, 11 insertions(+), 11 deletions(-)
 rename patches/{meson-1.3.0 => 
meson-1.4.0}/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch 
(90%)
 rename patches/{meson-1.3.0 => 
meson-1.4.0}/0002-HACK-enable-NEON-only-for-ARMv7.patch (90%)
 rename patches/{meson-1.3.0 => 
meson-1.4.0}/0003-HACK-don-t-fail-if-lrelease-is-missing.patch (90%)
 rename patches/{meson-1.3.0 => 
meson-1.4.0}/0004-HACK-don-t-fail-if-uic-is-missing.patch (90%)
 rename patches/{meson-1.3.0 => meson-1.4.0}/series (100%)

diff --git 
a/patches/meson-1.3.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch
 
b/patches/meson-1.4.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch
similarity index 90%
rename from 
patches/meson-1.3.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch
rename to 
patches/meson-1.4.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch
index 6a4772ac571e..2f8fb33ec671 100644
--- 
a/patches/meson-1.3.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch
+++ 
b/patches/meson-1.4.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch
@@ -11,10 +11,10 @@ Signed-off-by: Michael Olbrich 
  1 file changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py
-index dbb5e57aa585..3d321cc24413 100644
+index 2048268193a5..49d6ee2f2d81 100644
 --- a/mesonbuild/linkers/linkers.py
 +++ b/mesonbuild/linkers/linkers.py
-@@ -684,7 +684,10 @@ class GnuLikeDynamicLinkerMixin(DynamicLinkerBase):
+@@ -671,7 +671,10 @@ class GnuLikeDynamicLinkerMixin(DynamicLinkerBase):
  # Need to deduplicate rpaths, as macOS's install_name_tool
  # is *very* allergic to duplicate -delete_rpath arguments
  # when calling depfixer on installation.
@@ -26,7 +26,7 @@ index dbb5e57aa585..3d321cc24413 100644
  rpath_dirs_to_remove: T.Set[bytes] = set()
  for p in all_paths:
  rpath_dirs_to_remove.add(p.encode('utf8'))
-@@ -712,7 +715,8 @@ class GnuLikeDynamicLinkerMixin(DynamicLinkerBase):
+@@ -699,7 +702,8 @@ class GnuLikeDynamicLinkerMixin(DynamicLinkerBase):
  paths = padding
  else:
  paths = paths + ':' + padding
diff --git a/patches/meson-1.3.0/0002-HACK-enable-NEON-only-for-ARMv7.patch 
b/patches/meson-1.4.0/0002-HACK-enable-NEON-only-for-ARMv7.patch
similarity index 90%
rename from patches/meson-1.3.0/0002-HACK-enable-NEON-only-for-ARMv7.patch
rename to patches/meson-1.4.0/0002-HACK-enable-NEON-only-for-ARMv7.patch
index 7be876034262..e22d33249acc 100644
--- a/patches/meson-1.3.0/0002-HACK-enable-NEON-only-for-ARMv7.patch
+++ b/patches/meson-1.4.0/0002-HACK-enable-NEON-only-for-ARMv7.patch
@@ -10,10 +10,10 @@ Signed-off-by: Michael Olbrich 
  1 file changed, 3 insertions(+)
 
 diff --git a/mesonbuild/modules/simd.py b/mesonbuild/modules/simd.py
-index b8baf39ef34a..2ce09b20d2f9 100644
+index bfdc0c2dfc2d..5b9de7a3fd96 100644
 --- a/mesonbuild/modules/simd.py
 +++ b/mesonbuild/modules/simd.py
-@@ -94,6 +94,9 @@ class SimdModule(ExtensionModule):
+@@ -84,6 +84,9 @@ class SimdModule(ExtensionModule):
  continue
  
  compile_args = compiler.get_instruction_set_args(iset)
diff --git 
a/patches/meson-1.3.0/0003-HACK-don-t-fail-if-lrelease-is-missing.patch 
b/patches/meson-1.4.0/0003-HACK-don-t-fail-if-lrelease-is-missing.patch
similarity index 90%
rename from 
patches/meson-1.3.0/0003-HACK-don-t-fail-if-lrelease-is-missing.patch
rename to patches/meson-1.4.0/0003-HACK-don-t-fail-if-lrelease-is-missing.patch
index 28e6b90846c7..c6654d3e5c65 100644
--- a/patches/meson-1.3.0/0003-HACK-don-t-fail-if-lrelease-is-missing.patch
+++ b/patches/meson-1.4.0/0003-HACK-don-t-fail-if-lrelease-is-missing.patch
@@ -11,10 +11,10 @@ Signed-off-by: Michael Olbrich 
  1 file changed, 3 insertions(+)
 
 diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
-index 83dcf31bdfb3..b3242ceaf167 100644
+index 7effa1f58401..c16d8c603ce7 100644
 --- a/mesonbuild/modules/qt.py
 +++ b/mesonbuild/modules/qt.py
-@@ -278,6 +278,9 @@ class QtBaseModule(ExtensionModule):
+@@ -271,6 +271,9 @@ class QtBaseModule(ExtensionModule):
  self._detect_tools(state, method, required=False)
  for tool in self.tools.values():
  if not tool.found():
diff --git a/patches/meson-1.3.0/0004-HACK-don-t-fail-if-uic-is-missing.patch 
b/patches/meson-1.4.0/0004-HACK-don-t-fail-if-uic-is-missing.pa

Re: [ptxdist] year 2038 Toolchain

2024-05-24 Thread Michael Olbrich
On Fri, May 24, 2024 at 11:04:24AM +0200, Erwin Rol wrote:
> On 5/24/24 10:41, Ian Abbott wrote:
> 
> > > If I figure it out I'll let you guys know (so it can be added to the
> > > official Toolchain)
> > 
> > Rememember to define _FILE_OFFSET_BITS=64 too if it is not already
> > defined. _TIME_BITS=64 is ineffective when _FILE_OFFSET_BITS=32 for
> > Glibc policy reasons.
> 
> I tried some things to convince the Toolchain project (latest gcc13 release)
> to use those two defines, but without much luck. Sometimes parts complained
> that there were duplicate declarations of (time) functions, with some other
> tries it actually complained the the _FILE_OFFSET_BITS was missing for some
> part, that I really don't understand because I added them always in pairs.
> 
> So I believe it is just a bit too early for 100% year 2038 compliance at the
> moment. Especially when it comes to C++/libstd++ there is also not much info
> online.
> 
> But the C part seems to work with the support ptxdist offers, and C++ has
> always been some unwanted stepchild, especially now Rust is going to safe
> the world :-)

So gcc-14 has a --enable-year2038 configure option, but I didn't test if it
works.

But I don't know if that causes any API or ABI incompatibilities.
The changelog says "Disable year2038 by default on 32-bit hosts.". That
looks a bit suspicious to me.

Michael

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |



[ptxdist] [PATCH v2 05/13] host-python3-markupsafe: add host package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/host-python3-markupsafe.in   |  6 ++
 rules/host-python3-markupsafe.make | 23 +++
 2 files changed, 29 insertions(+)
 create mode 100644 rules/host-python3-markupsafe.in
 create mode 100644 rules/host-python3-markupsafe.make

diff --git a/rules/host-python3-markupsafe.in b/rules/host-python3-markupsafe.in
new file mode 100644
index ..c96cb7416ad5
--- /dev/null
+++ b/rules/host-python3-markupsafe.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PYTHON3_MARKUPSAFE
+   tristate
+   default y if ALLYES
+   select HOST_PYTHON3
diff --git a/rules/host-python3-markupsafe.make 
b/rules/host-python3-markupsafe.make
new file mode 100644
index ..067b1d2c0799
--- /dev/null
+++ b/rules/host-python3-markupsafe.make
@@ -0,0 +1,23 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_PYTHON3_MARKUPSAFE) += host-python3-markupsafe
+
+# 
+# Prepare
+# 
+
+#
+# python3
+#
+HOST_PYTHON3_MARKUPSAFE_CONF_TOOL  := python3
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 07/13] host-python3-dunamai: add new host package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/host-python3-dunamai.in   |  7 +++
 rules/host-python3-dunamai.make | 35 +
 2 files changed, 42 insertions(+)
 create mode 100644 rules/host-python3-dunamai.in
 create mode 100644 rules/host-python3-dunamai.make

diff --git a/rules/host-python3-dunamai.in b/rules/host-python3-dunamai.in
new file mode 100644
index ..a369dc8a1119
--- /dev/null
+++ b/rules/host-python3-dunamai.in
@@ -0,0 +1,7 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PYTHON3_DUNAMAI
+   tristate
+   default y if ALLYES
+   select HOST_PYTHON3
+   select HOST_PYTHON3_PYBUILD
diff --git a/rules/host-python3-dunamai.make b/rules/host-python3-dunamai.make
new file mode 100644
index ..3e752e676d2e
--- /dev/null
+++ b/rules/host-python3-dunamai.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_PYTHON3_DUNAMAI) += host-python3-dunamai
+
+#
+# Paths and names
+#
+HOST_PYTHON3_DUNAMAI_VERSION   := 1.21.1
+HOST_PYTHON3_DUNAMAI_MD5   := 43868303aea63df705bedff7f77bd2c6
+HOST_PYTHON3_DUNAMAI   := 
dunamai-$(HOST_PYTHON3_DUNAMAI_VERSION)
+HOST_PYTHON3_DUNAMAI_SUFFIX:= tar.gz
+HOST_PYTHON3_DUNAMAI_URL   := $(call ptx/mirror-pypi, dunamai, 
$(HOST_PYTHON3_DUNAMAI).$(HOST_PYTHON3_DUNAMAI_SUFFIX))
+HOST_PYTHON3_DUNAMAI_SOURCE:= 
$(SRCDIR)/$(HOST_PYTHON3_DUNAMAI).$(HOST_PYTHON3_DUNAMAI_SUFFIX)
+HOST_PYTHON3_DUNAMAI_DIR   := 
$(HOST_BUILDDIR)/$(HOST_PYTHON3_DUNAMAI)
+HOST_PYTHON3_DUNAMAI_LICENSE   := MIT
+HOST_PYTHON3_DUNAMAI_LICENSE_FILES := \
+   
file://PKG-INFO;startline=6;endline=6;md5=8227180126797a0148f94f483f3e1489 \
+   file://LICENSE;md5=059eed55dbfd3fea022510ea62c95dc1
+
+# 
+# Prepare
+# 
+
+HOST_PYTHON3_DUNAMAI_CONF_TOOL := python3
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 12/13] python3-periphery: new package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/python3-periphery.in   |  9 ++
 rules/python3-periphery.make | 55 
 2 files changed, 64 insertions(+)
 create mode 100644 rules/python3-periphery.in
 create mode 100644 rules/python3-periphery.make

diff --git a/rules/python3-periphery.in b/rules/python3-periphery.in
new file mode 100644
index ..ed3b53660909
--- /dev/null
+++ b/rules/python3-periphery.in
@@ -0,0 +1,9 @@
+## SECTION=python3
+
+config PYTHON3_PERIPHERY
+   tristate
+   select PYTHON3
+   prompt "periphery"
+   help
+ A pure Python library for peripheral I/O (GPIO, LED, PWM, SPI, I2C,
+ MMIO, Serial) in Linux.
diff --git a/rules/python3-periphery.make b/rules/python3-periphery.make
new file mode 100644
index ..9f0ace01feea
--- /dev/null
+++ b/rules/python3-periphery.make
@@ -0,0 +1,55 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PYTHON3_PERIPHERY) += python3-periphery
+
+#
+# Paths and names
+#
+PYTHON3_PERIPHERY_VERSION  := 2.4.1
+PYTHON3_PERIPHERY_MD5  := 2b2a1037fb4ac15e7b0514ce3659d26c
+PYTHON3_PERIPHERY  := python-periphery-$(PYTHON3_PERIPHERY_VERSION)
+PYTHON3_PERIPHERY_SUFFIX   := tar.gz
+PYTHON3_PERIPHERY_URL  := $(call ptx/mirror-pypi, python-periphery, 
$(PYTHON3_PERIPHERY).$(PYTHON3_PERIPHERY_SUFFIX))
+PYTHON3_PERIPHERY_SOURCE   := 
$(SRCDIR)/$(PYTHON3_PERIPHERY).$(PYTHON3_PERIPHERY_SUFFIX)
+PYTHON3_PERIPHERY_DIR  := $(BUILDDIR)/$(PYTHON3_PERIPHERY)
+PYTHON3_PERIPHERY_LICENSE  := MIT
+PYTHON3_PERIPHERY_LICENSE_FILES:= \
+   
file://README.md;startline=202;endline=204;md5=bc9620815782faae308ef7bcf23bcecb 
\
+   file://LICENSE;md5=30fe6f023a80fb33989fb3b9d773fea0
+
+# 
+# Prepare
+# 
+
+PYTHON3_PERIPHERY_CONF_TOOL:= python3
+
+# 
+# Target-Install
+# 
+
+$(STATEDIR)/python3-periphery.targetinstall:
+   @$(call targetinfo)
+
+   @$(call install_init, python3-periphery)
+   @$(call install_fixup, python3-periphery,PRIORITY,optional)
+   @$(call install_fixup, python3-periphery,SECTION,base)
+   @$(call install_fixup, python3-periphery,AUTHOR,"Roland Hieber 
")
+   @$(call install_fixup, python3-periphery,DESCRIPTION,missing)
+
+   @$(call install_glob, python3-periphery, 0, 0, -, \
+   $(PYTHON3_SITEPACKAGES),, *.py)
+
+   @$(call install_finish, python3-periphery)
+
+   @$(call touch)
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 10/13] host-python3-poetry-dynamic-versioning: add new host package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 .../host-python3-poetry-dynamic-versioning.in | 11 ++
 ...ost-python3-poetry-dynamic-versioning.make | 35 +++
 2 files changed, 46 insertions(+)
 create mode 100644 rules/host-python3-poetry-dynamic-versioning.in
 create mode 100644 rules/host-python3-poetry-dynamic-versioning.make

diff --git a/rules/host-python3-poetry-dynamic-versioning.in 
b/rules/host-python3-poetry-dynamic-versioning.in
new file mode 100644
index ..33f7f72685ae
--- /dev/null
+++ b/rules/host-python3-poetry-dynamic-versioning.in
@@ -0,0 +1,11 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING
+   tristate
+   default y if ALLYES
+   select HOST_PYTHON3
+   select HOST_PYTHON3_DUNAMAI
+   select HOST_PYTHON3_JINJA2
+   select HOST_PYTHON3_POETRY_CORE
+   select HOST_PYTHON3_PYBUILD
+   select HOST_PYTHON3_TOMLKIT
diff --git a/rules/host-python3-poetry-dynamic-versioning.make 
b/rules/host-python3-poetry-dynamic-versioning.make
new file mode 100644
index ..e5b23a943021
--- /dev/null
+++ b/rules/host-python3-poetry-dynamic-versioning.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING) += 
host-python3-poetry-dynamic-versioning
+
+#
+# Paths and names
+#
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_VERSION := 1.3.0
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_MD5 := 
ae778dd8d8d03b05c30772608edc2e0a
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING := 
poetry_dynamic_versioning-$(HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_VERSION)
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_SUFFIX  := tar.gz
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_URL := $(call 
ptx/mirror-pypi, poetry_dynamic_versioning, 
$(HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING).$(HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_SUFFIX))
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_SOURCE  := 
$(SRCDIR)/$(HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING).$(HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_SUFFIX)
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_DIR := 
$(HOST_BUILDDIR)/$(HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING)
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_LICENSE := MIT
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_LICENSE_FILES   := \
+   
file://pyproject.toml;startline=4;endline=6;md5=7b88e40f0545478aac40c60d6587b134
 \
+   file://LICENSE;md5=059eed55dbfd3fea022510ea62c95dc1
+
+# 
+# Prepare
+# 
+
+HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING_CONF_TOOL   := python3
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 09/13] host-python3-poetry-core: add new host package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/host-python3-poetry-core.in   |  7 ++
 rules/host-python3-poetry-core.make | 35 +
 2 files changed, 42 insertions(+)
 create mode 100644 rules/host-python3-poetry-core.in
 create mode 100644 rules/host-python3-poetry-core.make

diff --git a/rules/host-python3-poetry-core.in 
b/rules/host-python3-poetry-core.in
new file mode 100644
index ..9cf59c8b3243
--- /dev/null
+++ b/rules/host-python3-poetry-core.in
@@ -0,0 +1,7 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PYTHON3_POETRY_CORE
+   tristate
+   default y if ALLYES
+   select HOST_PYTHON3
+   select HOST_PYTHON3_PYBUILD
diff --git a/rules/host-python3-poetry-core.make 
b/rules/host-python3-poetry-core.make
new file mode 100644
index ..89dab9fd9c3a
--- /dev/null
+++ b/rules/host-python3-poetry-core.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_PYTHON3_POETRY_CORE) += host-python3-poetry-core
+
+#
+# Paths and names
+#
+HOST_PYTHON3_POETRY_CORE_VERSION   := 1.9.0
+HOST_PYTHON3_POETRY_CORE_MD5   := eb8730e30aec5f644754b29587b47122
+HOST_PYTHON3_POETRY_CORE   := 
poetry_core-$(HOST_PYTHON3_POETRY_CORE_VERSION)
+HOST_PYTHON3_POETRY_CORE_SUFFIX:= tar.gz
+HOST_PYTHON3_POETRY_CORE_URL   := $(call ptx/mirror-pypi, poetry_core, 
$(HOST_PYTHON3_POETRY_CORE).$(HOST_PYTHON3_POETRY_CORE_SUFFIX))
+HOST_PYTHON3_POETRY_CORE_SOURCE:= 
$(SRCDIR)/$(HOST_PYTHON3_POETRY_CORE).$(HOST_PYTHON3_POETRY_CORE_SUFFIX)
+HOST_PYTHON3_POETRY_CORE_DIR   := 
$(HOST_BUILDDIR)/$(HOST_PYTHON3_POETRY_CORE)
+HOST_PYTHON3_POETRY_CORE_LICENSE   := MIT
+HOST_PYTHON3_POETRY_CORE_LICENSE_FILES := \
+   
file://pyproject.toml;startline=4;endline=6;md5=a2d48f913a166a04a7a66fc6d7e2bd35
 \
+   file://LICENSE;md5=78c39cfd009863ae44237a7ab1f9cedc
+
+# 
+# Prepare
+# 
+
+HOST_PYTHON3_POETRY_CORE_CONF_TOOL := python3
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 13/13] python3-protobuf: new package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/python3-protobuf.in   |  8 ++
 rules/python3-protobuf.make | 55 +
 2 files changed, 63 insertions(+)
 create mode 100644 rules/python3-protobuf.in
 create mode 100644 rules/python3-protobuf.make

diff --git a/rules/python3-protobuf.in b/rules/python3-protobuf.in
new file mode 100644
index ..7be466917cda
--- /dev/null
+++ b/rules/python3-protobuf.in
@@ -0,0 +1,8 @@
+## SECTION=python3
+
+config PYTHON3_PROTOBUF
+   tristate
+   select PYTHON3
+   prompt "protobuf"
+   help
+ Protocol buffers library for Python 3
diff --git a/rules/python3-protobuf.make b/rules/python3-protobuf.make
new file mode 100644
index ..6b92295e8a4d
--- /dev/null
+++ b/rules/python3-protobuf.make
@@ -0,0 +1,55 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PYTHON3_PROTOBUF) += python3-protobuf
+
+#
+# Paths and names
+#
+PYTHON3_PROTOBUF_VERSION   := 5.26.1
+PYTHON3_PROTOBUF_MD5   := 8360a781926b9dac954678a823835d23
+PYTHON3_PROTOBUF   := protobuf-$(PYTHON3_PROTOBUF_VERSION)
+PYTHON3_PROTOBUF_SUFFIX:= tar.gz
+PYTHON3_PROTOBUF_URL   := $(call ptx/mirror-pypi, protobuf, 
$(PYTHON3_PROTOBUF).$(PYTHON3_PROTOBUF_SUFFIX))
+PYTHON3_PROTOBUF_SOURCE:= 
$(SRCDIR)/$(PYTHON3_PROTOBUF).$(PYTHON3_PROTOBUF_SUFFIX)
+PYTHON3_PROTOBUF_DIR   := $(BUILDDIR)/$(PYTHON3_PROTOBUF)
+PYTHON3_PROTOBUF_LICENSE   := BSD-3-Clause AND custom-exception
+PYTHON3_PROTOBUF_LICENSE_FILES := \
+   
file://PKG-INFO;startline=7;endline=9;md5=b2e1494c98b3b7127af75dfb2edf369e \
+   file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b
+
+# 
+# Prepare
+# 
+
+PYTHON3_PROTOBUF_CONF_TOOL := python3
+
+# 
+# Target-Install
+# 
+
+$(STATEDIR)/python3-protobuf.targetinstall:
+   @$(call targetinfo)
+
+   @$(call install_init, python3-protobuf)
+   @$(call install_fixup, python3-protobuf,PRIORITY,optional)
+   @$(call install_fixup, python3-protobuf,SECTION,base)
+   @$(call install_fixup, python3-protobuf,AUTHOR,"Roland Hieber 
")
+   @$(call install_fixup, python3-protobuf,DESCRIPTION,missing)
+
+   @$(call install_glob, python3-protobuf, 0, 0, -, \
+   $(PYTHON3_SITEPACKAGES),, *.py)
+
+   @$(call install_finish, python3-protobuf)
+
+   @$(call touch)
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 11/13] python3-aiomqtt: new package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/python3-aiomqtt.in   | 14 ++
 rules/python3-aiomqtt.make | 55 ++
 2 files changed, 69 insertions(+)
 create mode 100644 rules/python3-aiomqtt.in
 create mode 100644 rules/python3-aiomqtt.make

diff --git a/rules/python3-aiomqtt.in b/rules/python3-aiomqtt.in
new file mode 100644
index ..b7c6196221e9
--- /dev/null
+++ b/rules/python3-aiomqtt.in
@@ -0,0 +1,14 @@
+## SECTION=python3
+
+config PYTHON3_AIOMQTT
+   tristate
+   select HOST_PYTHON3
+   select HOST_PYTHON3_MARKUPSAFE
+   select HOST_PYTHON3_POETRY_CORE
+   select HOST_PYTHON3_POETRY_DYNAMIC_VERSIONING
+   select HOST_PYTHON3_PYBUILD
+   select PYTHON3
+   select PYTHON3_PAHO_MQTT
+   prompt "aiomqtt"
+   help
+ The idiomatic asyncio MQTT client (formerly known as asyncio-mqtt)
diff --git a/rules/python3-aiomqtt.make b/rules/python3-aiomqtt.make
new file mode 100644
index ..239c7112549f
--- /dev/null
+++ b/rules/python3-aiomqtt.make
@@ -0,0 +1,55 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PYTHON3_AIOMQTT) += python3-aiomqtt
+
+#
+# Paths and names
+#
+PYTHON3_AIOMQTT_VERSION:= 2.1.0
+PYTHON3_AIOMQTT_MD5:= 83a05e30a73feb6131a064f83e67a710
+PYTHON3_AIOMQTT:= aiomqtt-$(PYTHON3_AIOMQTT_VERSION)
+PYTHON3_AIOMQTT_SUFFIX := tar.gz
+PYTHON3_AIOMQTT_URL:= $(call ptx/mirror-pypi, aiomqtt, 
$(PYTHON3_AIOMQTT).$(PYTHON3_AIOMQTT_SUFFIX))
+PYTHON3_AIOMQTT_SOURCE := 
$(SRCDIR)/$(PYTHON3_AIOMQTT).$(PYTHON3_AIOMQTT_SUFFIX)
+PYTHON3_AIOMQTT_DIR:= $(BUILDDIR)/$(PYTHON3_AIOMQTT)
+PYTHON3_AIOMQTT_LICENSE:= BSD-3-Clause
+PYTHON3_AIOMQTT_LICENSE_FILES  := \
+   
flie://README.md;startline=76;endline=78;md5=077fa167040809425eeaa14a6f641b74 \
+   file://LICENSE;md5=a462083fa4d830bdcf8c22a8ddf453cf
+
+# 
+# Prepare
+# 
+
+PYTHON3_AIOMQTT_CONF_TOOL  := python3
+
+# 
+# Target-Install
+# 
+
+$(STATEDIR)/python3-aiomqtt.targetinstall:
+   @$(call targetinfo)
+
+   @$(call install_init, python3-aiomqtt)
+   @$(call install_fixup, python3-aiomqtt,PRIORITY,optional)
+   @$(call install_fixup, python3-aiomqtt,SECTION,base)
+   @$(call install_fixup, python3-aiomqtt,AUTHOR,"Roland Hieber 
")
+   @$(call install_fixup, python3-aiomqtt,DESCRIPTION,missing)
+
+   @$(call install_glob, python3-aiomqtt, 0, 0, -, \
+   $(PYTHON3_SITEPACKAGES),, *.py)
+
+   @$(call install_finish, python3-aiomqtt)
+
+   @$(call touch)
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 06/13] host-python3-jinja2: add host package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/host-python3-jinja2.in   |  8 
 rules/host-python3-jinja2.make | 24 
 2 files changed, 32 insertions(+)
 create mode 100644 rules/host-python3-jinja2.in
 create mode 100644 rules/host-python3-jinja2.make

diff --git a/rules/host-python3-jinja2.in b/rules/host-python3-jinja2.in
new file mode 100644
index ..94aa53e80d94
--- /dev/null
+++ b/rules/host-python3-jinja2.in
@@ -0,0 +1,8 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PYTHON3_JINJA2
+   tristate
+   default y if ALLYES
+   select HOST_PYTHON3
+   select HOST_PYTHON3_MARKUPSAFE
+   select HOST_PYTHON3_SETUPTOOLS
diff --git a/rules/host-python3-jinja2.make b/rules/host-python3-jinja2.make
new file mode 100644
index ..08d2ad9f793c
--- /dev/null
+++ b/rules/host-python3-jinja2.make
@@ -0,0 +1,24 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_PYTHON3_JINJA2) += host-python3-jinja2
+
+
+# 
+# Prepare
+# 
+
+#
+# python3
+#
+HOST_PYTHON3_JINJA2_CONF_TOOL  := python3
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 02/13] nanopb: new package: tiny protobuf implementation

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/nanopb.in   | 12 
 rules/nanopb.make | 41 +
 2 files changed, 53 insertions(+)
 create mode 100644 rules/nanopb.in
 create mode 100644 rules/nanopb.make

diff --git a/rules/nanopb.in b/rules/nanopb.in
new file mode 100644
index ..ca3ac1b2c1d8
--- /dev/null
+++ b/rules/nanopb.in
@@ -0,0 +1,12 @@
+## SECTION=system_libraries
+
+config NANOPB
+   tristate
+   select HOST_CMAKE
+   select HOST_SYSTEM_PYTHON3
+   select HOST_PROTOBUF
+   prompt "nanopb"
+   help
+ Nanopb is a plain-C implementation of Google's Protocol Buffers data
+ format. It is targeted at 32 bit microcontrollers, but is also fit for
+ other embedded systems with tight memory constraints.
diff --git a/rules/nanopb.make b/rules/nanopb.make
new file mode 100644
index ..4b592768830d
--- /dev/null
+++ b/rules/nanopb.make
@@ -0,0 +1,41 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_NANOPB) += nanopb
+
+#
+# Paths and names
+#
+NANOPB_VERSION := 0.4.8
+NANOPB_MD5 := 7c5305add7bf70b915c6eb1dc50cc20f
+NANOPB := nanopb-$(NANOPB_VERSION)
+NANOPB_SUFFIX  := tar.gz
+NANOPB_URL := 
https://jpa.kapsi.fi/nanopb/download/$(NANOPB).$(NANOPB_SUFFIX)
+NANOPB_SOURCE  := $(SRCDIR)/$(NANOPB).$(NANOPB_SUFFIX)
+NANOPB_DIR := $(BUILDDIR)/$(NANOPB)
+NANOPB_LICENSE := Zlib
+NANOPB_LICENSE_FILES   := 
file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f
+
+# 
+# Prepare
+# 
+
+#
+# cmake
+#
+NANOPB_CONF_TOOL   := cmake
+NANOPB_CONF_OPT:= \
+   $(CROSS_CMAKE_USR)
+
+# Note: the package installs only headers, generators, and static libraries, so
+# no targetinstall stage is needed.
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 03/13] paho-mqtt-cpp: version bump 1.0.1 -> 1.2.0

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/paho-mqtt-cpp.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/paho-mqtt-cpp.make b/rules/paho-mqtt-cpp.make
index 9cc30de202c9..bd71c7837529 100644
--- a/rules/paho-mqtt-cpp.make
+++ b/rules/paho-mqtt-cpp.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_PAHO_MQTT_CPP) += paho-mqtt-cpp
 #
 # Paths and names
 #
-PAHO_MQTT_CPP_VERSION  := 1.0.1
-PAHO_MQTT_CPP_MD5  := 78c9c7c90d932926ab0d1181356e3ba8
+PAHO_MQTT_CPP_VERSION  := 1.2.0
+PAHO_MQTT_CPP_MD5  := 5a4b7c869e6f20cb85c438456d5b8d12
 PAHO_MQTT_CPP  := paho.mqtt.cpp-$(PAHO_MQTT_CPP_VERSION)
 PAHO_MQTT_CPP_SUFFIX   := tar.gz
 PAHO_MQTT_CPP_URL  := 
https://github.com/eclipse/paho.mqtt.cpp/archive/v$(PAHO_MQTT_CPP_VERSION).$(PAHO_MQTT_CPP_SUFFIX)
-- 
2.39.2




[ptxdist] [PATCH v2 08/13] host-python3-tomlkit: add new host package

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/host-python3-tomlkit.in   |  8 
 rules/host-python3-tomlkit.make | 35 +
 2 files changed, 43 insertions(+)
 create mode 100644 rules/host-python3-tomlkit.in
 create mode 100644 rules/host-python3-tomlkit.make

diff --git a/rules/host-python3-tomlkit.in b/rules/host-python3-tomlkit.in
new file mode 100644
index ..680d3978484a
--- /dev/null
+++ b/rules/host-python3-tomlkit.in
@@ -0,0 +1,8 @@
+## SECTION=hosttools_noprompt
+
+config HOST_PYTHON3_TOMLKIT
+   tristate
+   default y if ALLYES
+   select HOST_PYTHON3
+   select HOST_PYTHON3_PYBUILD
+   select HOST_PYTHON3_INSTALLER
diff --git a/rules/host-python3-tomlkit.make b/rules/host-python3-tomlkit.make
new file mode 100644
index ..d09752d9911f
--- /dev/null
+++ b/rules/host-python3-tomlkit.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2024 by Roland Hieber 
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_PYTHON3_TOMLKIT) += host-python3-tomlkit
+
+#
+# Paths and names
+#
+HOST_PYTHON3_TOMLKIT_VERSION   := 0.12.5
+HOST_PYTHON3_TOMLKIT_MD5   := d80337406fdca101c12adff115983f31
+HOST_PYTHON3_TOMLKIT   := 
tomlkit-$(HOST_PYTHON3_TOMLKIT_VERSION)
+HOST_PYTHON3_TOMLKIT_SUFFIX:= tar.gz
+HOST_PYTHON3_TOMLKIT_URL   := $(call ptx/mirror-pypi, tomlkit, 
$(HOST_PYTHON3_TOMLKIT).$(HOST_PYTHON3_TOMLKIT_SUFFIX))
+HOST_PYTHON3_TOMLKIT_SOURCE:= 
$(SRCDIR)/$(HOST_PYTHON3_TOMLKIT).$(HOST_PYTHON3_TOMLKIT_SUFFIX)
+HOST_PYTHON3_TOMLKIT_DIR   := 
$(HOST_BUILDDIR)/$(HOST_PYTHON3_TOMLKIT)
+HOST_PYTHON3_TOMLKIT_LICENSE   := MIT
+HOST_PYTHON3_TOMLKIT_LICENSE_FILES := \
+   
file://PKG-INFO;startline=6;endline=8;md5=93de1ab1482b195e9522a07e75c2759e \
+   file://LICENSE;md5=31aac0dbc1babd278d5386dadb7f8e82
+
+# 
+# Prepare
+# 
+
+HOST_PYTHON3_TOMLKIT_CONF_TOOL := python3
+
+# vim: syntax=make
-- 
2.39.2




[ptxdist] [PATCH v2 04/13] python3-jinja2: pin down license files

2024-05-24 Thread Roland Hieber
Signed-off-by: Roland Hieber 
---
 rules/python3-jinja2.make | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/rules/python3-jinja2.make b/rules/python3-jinja2.make
index 445d0ea72fb2..4c051c7732c4 100644
--- a/rules/python3-jinja2.make
+++ b/rules/python3-jinja2.make
@@ -19,6 +19,9 @@ PYTHON3_JINJA2_URL:= $(call ptx/mirror-pypi, jinja2, 
$(PYTHON3_JINJA2).$(PYTHON
 PYTHON3_JINJA2_SOURCE  := $(SRCDIR)/$(PYTHON3_JINJA2).$(PYTHON3_JINJA2_SUFFIX)
 PYTHON3_JINJA2_DIR := $(BUILDDIR)/$(PYTHON3_JINJA2)
 PYTHON3_JINJA2_LICENSE := BSD-3-Clause
+PYTHON3_JINJA2_LICENSE_FILES   := \
+   
file://PKG-INFO;startline=6;endline=8;md5=9756d487e0b816adb26f07c9c1eea379 \
+   file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462
 
 # 
 # Prepare
-- 
2.39.2




[ptxdist] [PATCH v2 01/13] atk: rename to at-spi2-core; version bump 2.38.0 -> 2.52.0

2024-05-24 Thread Roland Hieber
I cannot find any official announcement on this, but it seems that atk
was merged into the at-spi2-core tree. At least the atk repository [1]
has been archived, there have been no new releases since 2022, but there
has been further development on the atk/ subdir in the at-spi2-core
repository [2], to which the ATK docs [3] now link too.

  [1]: https://git.gnome.org/atk
  [2]: https://gitlab.gnome.org/GNOME/at-spi2-core/
  [3]: https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/

Rename the atk recipe to at-spi2-core, and build libatk as part of it.
The 'atk_only' meson option carries a big "(UNSUPPORTED)", so build
everything and only install the two new libs if needed, since they are
each about 1 MiB big even after stripping the debug symbols.

Update the license info; COPYING was update from a LGPL-2.0 to a
LGPL-2.1 license text, and atspi/atspi-gmain.c carries both
LGPL-2.1-or-later as well as "Academic Free License version 2.1"
license statements.

Signed-off-by: Roland Hieber 
---
Note: use "git diff -M1" to show the diff between the renamed files
---
 ...ire-libxml-if-building-with-atk_only.patch | 23 ++
 patches/at-spi2-core-2.52.0/series|  4 +
 rules/{atk.in => at-spi2-core.in} | 11 +--
 rules/at-spi2-core.make   | 80 +++
 rules/atk.make| 67 
 rules/gtk.in  |  2 +-
 scripts/migrate/migrate_ptx   |  9 +++
 7 files changed, 123 insertions(+), 73 deletions(-)
 create mode 100644 
patches/at-spi2-core-2.52.0/0001-meson-don-t-require-libxml-if-building-with-atk_only.patch
 create mode 100644 patches/at-spi2-core-2.52.0/series
 rename rules/{atk.in => at-spi2-core.in} (72%)
 create mode 100644 rules/at-spi2-core.make
 delete mode 100644 rules/atk.make

diff --git 
a/patches/at-spi2-core-2.52.0/0001-meson-don-t-require-libxml-if-building-with-atk_only.patch
 
b/patches/at-spi2-core-2.52.0/0001-meson-don-t-require-libxml-if-building-with-atk_only.patch
new file mode 100644
index ..a1db254fed7b
--- /dev/null
+++ 
b/patches/at-spi2-core-2.52.0/0001-meson-don-t-require-libxml-if-building-with-atk_only.patch
@@ -0,0 +1,23 @@
+From: Roland Hieber 
+Date: Fri, 24 May 2024 11:35:30 +0200
+Subject: [PATCH] meson: don't require libxml if building with atk_only
+
+libxml is only used for the at-spi2-atk tests, which are not built with
+atk_only=true.
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 4943b25ea926..57b07c2702fa 100644
+--- a/meson.build
 b/meson.build
+@@ -146,7 +146,7 @@ if not get_option('atk_only')
+   endif
+ endif
+ gmodule_dep = dependency('gmodule-2.0', version: gmodule_req_version)
+-libxml_dep = dependency('libxml-2.0', version: libxml_req_version)
++libxml_dep = dependency('libxml-2.0', version: libxml_req_version, required: 
not get_option('atk_only'))
+ 
+ x11_deps = []
+ x11_dep = dependency('x11', required: get_option('x11'))
diff --git a/patches/at-spi2-core-2.52.0/series 
b/patches/at-spi2-core-2.52.0/series
new file mode 100644
index ..4ea08207b4c1
--- /dev/null
+++ b/patches/at-spi2-core-2.52.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-meson-don-t-require-libxml-if-building-with-atk_only.patch
+# 94469cbd978a0483e3d47d59eccae10e  - git-ptx-patches magic
diff --git a/rules/atk.in b/rules/at-spi2-core.in
similarity index 72%
rename from rules/atk.in
rename to rules/at-spi2-core.in
index 3ddd3c4fffe6..062e79e58125 100644
--- a/rules/atk.in
+++ b/rules/at-spi2-core.in
@@ -1,11 +1,12 @@
 ## SECTION=multimedia_gtk
 
-config ATK
+config AT_SPI2_CORE
tristate
-   prompt "atk"
+   prompt "at-spi2-core"
select HOST_MESON
+   select DBUS
select GLIB
-   select GOBJECT_INTROSPECTIONif ATK_INTROSPECTION
+   select GOBJECT_INTROSPECTIONif AT_SPI2_CORE_INTROSPECTION
help
  ATK is a toolkit providing accessibility interfaces
  for applications or other toolkits. By implementing
@@ -14,9 +15,9 @@ config ATK
  magnifiers, and other alternative input devices.
  ATK is part of the GNOME project.
 
-if ATK
+if AT_SPI2_CORE
 
-config ATK_INTROSPECTION
+config AT_SPI2_CORE_INTROSPECTION
bool
default GOBJECT_INTROSPECTION_HELPER
 
diff --git a/rules/at-spi2-core.make b/rules/at-spi2-core.make
new file mode 100644
index ..1d912c918c16
--- /dev/null
+++ b/rules/at-spi2-core.make
@@ -0,0 +1,80 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2003-2006 Robert Schwebel 
+# Pengutronix , Germany
+#   2009 by Marc Kleine-Budde 
+#   2024 Roland Hieber, Pengutronix
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_AT_SPI2_CORE) += at-spi2-core

[ptxdist] [PATCH v2 00/13] nanopb, at-spi2-core, and some python3 packages

2024-05-24 Thread Roland Hieber
PATCH v2:
* at-spi2-core:
  * remove symbols for installing libatspi and libatk-bridge
  * build with -Datk_only=true; don't require libxml

* nanopb:
  * remove double forward slash in URL
  * remove default setting of NANOPB_CONF_ENV
  * remove empty targetinstall stage

* python3 packages:
  * remove superfluous HOST_SYSTEM_PYTHON3_SETUPTOOLS dependencies

PATCH v1:
https://lore.ptxdist.org/ptxdist/zk7k-zhb00jza...@pengutronix.de/T/#t

Roland Hieber (13):
  atk: rename to at-spi2-core; version bump 2.38.0 -> 2.52.0
  nanopb: new package: tiny protobuf implementation
  paho-mqtt-cpp: version bump 1.0.1 -> 1.2.0
  python3-jinja2: pin down license files
  host-python3-markupsafe: add host package
  host-python3-jinja2: add host package
  host-python3-dunamai: add new host package
  host-python3-tomlkit: add new host package
  host-python3-poetry-core: add new host package
  host-python3-poetry-dynamic-versioning: add new host package
  python3-aiomqtt: new package
  python3-periphery: new package
  python3-protobuf: new package

 ...ire-libxml-if-building-with-atk_only.patch | 23 ++
 patches/at-spi2-core-2.52.0/series|  4 +
 rules/{atk.in => at-spi2-core.in} | 11 +--
 rules/at-spi2-core.make   | 80 +++
 rules/atk.make| 67 
 rules/gtk.in  |  2 +-
 rules/host-python3-dunamai.in |  7 ++
 rules/host-python3-dunamai.make   | 35 
 rules/host-python3-jinja2.in  |  8 ++
 rules/host-python3-jinja2.make| 24 ++
 rules/host-python3-markupsafe.in  |  6 ++
 rules/host-python3-markupsafe.make| 23 ++
 rules/host-python3-poetry-core.in |  7 ++
 rules/host-python3-poetry-core.make   | 35 
 .../host-python3-poetry-dynamic-versioning.in | 11 +++
 ...ost-python3-poetry-dynamic-versioning.make | 35 
 rules/host-python3-tomlkit.in |  8 ++
 rules/host-python3-tomlkit.make   | 35 
 rules/nanopb.in   | 12 +++
 rules/nanopb.make | 41 ++
 rules/paho-mqtt-cpp.make  |  4 +-
 rules/python3-aiomqtt.in  | 14 
 rules/python3-aiomqtt.make| 55 +
 rules/python3-jinja2.make |  3 +
 rules/python3-periphery.in|  9 +++
 rules/python3-periphery.make  | 55 +
 rules/python3-protobuf.in |  8 ++
 rules/python3-protobuf.make   | 55 +
 scripts/migrate/migrate_ptx   |  9 +++
 29 files changed, 611 insertions(+), 75 deletions(-)
 create mode 100644 
patches/at-spi2-core-2.52.0/0001-meson-don-t-require-libxml-if-building-with-atk_only.patch
 create mode 100644 patches/at-spi2-core-2.52.0/series
 rename rules/{atk.in => at-spi2-core.in} (72%)
 create mode 100644 rules/at-spi2-core.make
 delete mode 100644 rules/atk.make
 create mode 100644 rules/host-python3-dunamai.in
 create mode 100644 rules/host-python3-dunamai.make
 create mode 100644 rules/host-python3-jinja2.in
 create mode 100644 rules/host-python3-jinja2.make
 create mode 100644 rules/host-python3-markupsafe.in
 create mode 100644 rules/host-python3-markupsafe.make
 create mode 100644 rules/host-python3-poetry-core.in
 create mode 100644 rules/host-python3-poetry-core.make
 create mode 100644 rules/host-python3-poetry-dynamic-versioning.in
 create mode 100644 rules/host-python3-poetry-dynamic-versioning.make
 create mode 100644 rules/host-python3-tomlkit.in
 create mode 100644 rules/host-python3-tomlkit.make
 create mode 100644 rules/nanopb.in
 create mode 100644 rules/nanopb.make
 create mode 100644 rules/python3-aiomqtt.in
 create mode 100644 rules/python3-aiomqtt.make
 create mode 100644 rules/python3-periphery.in
 create mode 100644 rules/python3-periphery.make
 create mode 100644 rules/python3-protobuf.in
 create mode 100644 rules/python3-protobuf.make

-- 
2.39.2




Re: [ptxdist] year 2038 Toolchain

2024-05-24 Thread Erwin Rol

On 5/24/24 10:41, Ian Abbott wrote:

If I figure it out I'll let you guys know (so it can be added to the 
official Toolchain)


Rememember to define _FILE_OFFSET_BITS=64 too if it is not already 
defined. _TIME_BITS=64 is ineffective when _FILE_OFFSET_BITS=32 for 
Glibc policy reasons.


I tried some things to convince the Toolchain project (latest gcc13 
release) to use those two defines, but without much luck. Sometimes 
parts complained that there were duplicate declarations of (time) 
functions, with some other tries it actually complained the the 
_FILE_OFFSET_BITS was missing for some part, that I really don't 
understand because I added them always in pairs.


So I believe it is just a bit too early for 100% year 2038 compliance at 
the moment. Especially when it comes to C++/libstd++ there is also not 
much info online.


But the C part seems to work with the support ptxdist offers, and C++ 
has always been some unwanted stepchild, especially now Rust is going to 
safe the world :-)


- Erwin



Re: [ptxdist] year 2038 Toolchain

2024-05-24 Thread Ian Abbott

On 23/05/2024 12:52, Erwin Rol wrote:

On 5/23/24 12:38, Ian Abbott wrote:

On 23/05/2024 07:41, Erwin Rol wrote:



The following code;

auto t = std::chrono::system_clock::now();

does not seem to work correctly. When the system date is less than 
2038 it works and gives back the correct time, but for dates > 2038 
it seems to return some 1970 date.




I guess that libstdc++ in the toolchain would need to be rebuilt with 
64-bit time_t support.  Although  uses a 64-bit integer type 
internally, some of the functions such as 
std::chrono::system_clock::now() use compiled in code that picks up 
the C system time ABI at the time libstdc++ was built.  So now() will 
read the system time using the 32-bit system time ABI (so will suffer 
from Y2038 problems) and convert it to its own internal 64-bit integer 
type. Other functions such as 
std::chrono::system_clock::from_time_t(std::time_t) are not compiled 
in so will use whatever C system time ABI was selected when  
was included.




I believe libstd++ uses gettimeofday internally, which should use time_t 
for the seconds field, which should be 64bit if _TIME_BITS=64 is 
defined. I just hacked the Toolchain to try it, but it is a slow 
process, build toolchain -> build project -> test :-)


If I figure it out I'll let you guys know (so it can be added to the 
official Toolchain)


Rememember to define _FILE_OFFSET_BITS=64 too if it is not already 
defined. _TIME_BITS=64 is ineffective when _FILE_OFFSET_BITS=32 for 
Glibc policy reasons.


--
-=( Ian Abbott  || MEV Ltd. is a company  )=-
-=( registered in England & Wales.  Regd. number: 02862268.  )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-