Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-19 15:02   ` Thomas Petazzoni via buildroot
  2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  2025-04-09 20:03 ` [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage Yann E. MORIN
                   ` (28 subsequent siblings)
  29 siblings, 2 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Some protocol decoders in libsigrokdecode need the zlib module:

    srd: ModuleNotFoundError: Failed to load decoder usb_power_delivery: import by name failed: No module named 'zlib'
    srd: Traceback (most recent call last):
      File "/usr/share/libsigrokdecode/decoders/usb_power_delivery/__init__.py", line 24, in <module>
        from .pd import *
      File "/usr/share/libsigrokdecode/decoders/usb_power_delivery/pd.py", line 24, in <module>
        import zlib   # for crc32
        ^^^^^^^^^^^
    ModuleNotFoundError: No module named 'zlib'

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/libsigrokdecode/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/libsigrokdecode/Config.in b/package/libsigrokdecode/Config.in
index b58c8a2a29..463cb25f28 100644
--- a/package/libsigrokdecode/Config.in
+++ b/package/libsigrokdecode/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBSIGROKDECODE
 	depends on !BR2_STATIC_LIBS # python3
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_PYTHON3
+	select BR2_PACKAGE_PYTHON3_ZLIB  # runtime
 	help
 	  Libsigrokdecode is a shared library written in C, which
 	  provides (streaming) protocol decoding functionality. Say
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-19 15:02   ` Thomas Petazzoni via buildroot
  2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  2025-04-09 20:03 ` [Buildroot] [PATCH 03/29 v2] package/dejavu: ensure at least one typeface is installed Yann E. MORIN
                   ` (27 subsequent siblings)
  29 siblings, 2 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The currently referenced homepage is a cyber-squatter. Switch to the new
official homepage.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/dejavu/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/dejavu/Config.in b/package/dejavu/Config.in
index 5d21e56088..ca549d30e4 100644
--- a/package/dejavu/Config.in
+++ b/package/dejavu/Config.in
@@ -6,7 +6,7 @@ config BR2_PACKAGE_DEJAVU
 	  maintaining the original look and feel through the process
 	  of collaborative development, under a Free license.
 
-	  http://dejavu-fonts.org
+	  https://dejavu-fonts.github.io/
 
 if BR2_PACKAGE_DEJAVU
 
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 03/29 v2] package/dejavu: ensure at least one typeface is installed
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 04/29 v2] package/liberation: " Yann E. MORIN
                   ` (26 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

It is curently possible to enable dejavu, but disable all the typefaces
it would install, which does not make much sense.

Ensure that, when dejavu is enabled, at least one typeface is installed.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/dejavu/Config.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/dejavu/Config.in b/package/dejavu/Config.in
index ca549d30e4..771ec38514 100644
--- a/package/dejavu/Config.in
+++ b/package/dejavu/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_DEJAVU
 	bool "DejaVu fonts"
+	select BR2_PACKAGE_DEJAVU_MONO if !BR2_PACKAGE_DEJAVU_HAS_FONT
 	help
 	  The DejaVu fonts are a font family based on the Vera Fonts.
 	  Its purpose is to provide a wider range of characters while
@@ -10,6 +11,9 @@ config BR2_PACKAGE_DEJAVU
 
 if BR2_PACKAGE_DEJAVU
 
+config BR2_PACKAGE_DEJAVU_HAS_FONT
+	bool
+
 config BR2_PACKAGE_DEJAVU_MONO
 	bool "mono fonts"
 	default y
@@ -17,17 +21,21 @@ config BR2_PACKAGE_DEJAVU_MONO
 config BR2_PACKAGE_DEJAVU_SANS
 	bool "sans fonts"
 	default y
+	select BR2_PACKAGE_DEJAVU_HAS_FONT
 
 config BR2_PACKAGE_DEJAVU_SERIF
 	bool "serif fonts"
 	default y
+	select BR2_PACKAGE_DEJAVU_HAS_FONT
 
 config BR2_PACKAGE_DEJAVU_SANS_CONDENSED
 	bool "sans condensed fonts"
 	default y
+	select BR2_PACKAGE_DEJAVU_HAS_FONT
 
 config BR2_PACKAGE_DEJAVU_SERIF_CONDENSED
 	bool "serif condensed fonts"
 	default y
+	select BR2_PACKAGE_DEJAVU_HAS_FONT
 
 endif
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 04/29 v2] package/liberation: ensure at least one typeface is installed
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (2 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 03/29 v2] package/dejavu: ensure at least one typeface is installed Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 05/29 v2] package/some-font: new pseudo-package Yann E. MORIN
                   ` (25 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

It is curently possible to enable liberation, but disable all the
typefaces it would install, which does not make much sense.

Ensure that, when liberation is enabled, at least one typeface is
installed.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/liberation/Config.in | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/liberation/Config.in b/package/liberation/Config.in
index 8d6b3e78d9..18ad7044a5 100644
--- a/package/liberation/Config.in
+++ b/package/liberation/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBERATION
 	bool "Liberation (Free fonts)"
+	select BR2_PACKAGE_LIBERATION_MONO if !BR2_PACKAGE_LIBERATION_HAS_FONT
 	help
 	  The Liberation Fonts are intended to be replacements for the
 	  three most commonly used fonts on Microsoft systems:
@@ -9,6 +10,9 @@ config BR2_PACKAGE_LIBERATION
 
 if BR2_PACKAGE_LIBERATION
 
+config BR2_PACKAGE_LIBERATION_HAS_FONT
+	bool
+
 config BR2_PACKAGE_LIBERATION_MONO
 	bool "mono fonts"
 	default y
@@ -16,9 +20,11 @@ config BR2_PACKAGE_LIBERATION_MONO
 config BR2_PACKAGE_LIBERATION_SANS
 	bool "sans fonts"
 	default y
+	select BR2_PACKAGE_LIBERATION_HAS_FONT
 
 config BR2_PACKAGE_LIBERATION_SERIF
 	bool "serif fonts"
 	default y
+	select BR2_PACKAGE_LIBERATION_HAS_FONT
 
 endif
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 05/29 v2] package/some-font: new pseudo-package
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (3 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 04/29 v2] package/liberation: " Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies Yann E. MORIN
                   ` (24 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Klaus Heinrich Kiwi

Packages that will be rendering text, will need that some font be
installed; most of the time, any font will fit the bill. However, we
currently have no way for such a package to just require "some font"; it
needs to actually select one package providing fonts. If the user
selects another font package, then the one forcibly selected by the
package would be superfluous.

Fonts are a runtime dependency, not a build-time one, so we don't need
to handle it like the virtual packages. Furthemore, multiple font
packages can be installed at once, this is perfectly valid, so we can't
use a virtual package.

This commit adds a pseudo package (in fact, just a Kconfig symbol), that
packages can select when they just require some font, but are not picky
on which font that would be. We currently decide that the liberation
fonts would be the default ones.

Conversely, also add a Kconfig symbol that font-providing packages can
select to indicate that some font is available, in which case liberation
is not forcefully selected (of course, liberation can't, mustn't, and
doesn't select that symbol).

This also allows packages from br2-external trees to advertise they
provide fonts, too.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
---
 package/Config.in                   |  2 ++
 package/bitstream-vera/Config.in    |  1 +
 package/cantarell/Config.in         |  1 +
 package/dejavu/Config.in            |  1 +
 package/font-awesome/Config.in      |  1 +
 package/ghostscript-fonts/Config.in |  1 +
 package/inconsolata/Config.in       |  1 +
 package/some-font/Config.in         | 17 +++++++++++++++++
 package/wqy-zenhei/Config.in        |  1 +
 9 files changed, 26 insertions(+)
 create mode 100644 package/some-font/Config.in

diff --git a/package/Config.in b/package/Config.in
index 291e784f26..28bdae9c1b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -262,6 +262,8 @@ comment "Cursors"
 	source "package/comix-cursors/Config.in"
 
 comment "Fonts"
+	# check-package disable lib_config.CommentsMenusPackagesOrder
+	source "package/some-font/Config.in"
 	source "package/bitstream-vera/Config.in"
 	source "package/cantarell/Config.in"
 	source "package/dejavu/Config.in"
diff --git a/package/bitstream-vera/Config.in b/package/bitstream-vera/Config.in
index 034f115b4b..ea448894af 100644
--- a/package/bitstream-vera/Config.in
+++ b/package/bitstream-vera/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_BITSTREAM_VERA
 	bool "Bitstream Vera"
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  Bitstream Vera font family.
 
diff --git a/package/cantarell/Config.in b/package/cantarell/Config.in
index 78af96d595..6d9c7f9641 100644
--- a/package/cantarell/Config.in
+++ b/package/cantarell/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_CANTARELL
 	bool "cantarell"
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  The Cantarell font family is a contemporary Humanist
 	  sans serif designed for on-screen reading.
diff --git a/package/dejavu/Config.in b/package/dejavu/Config.in
index 771ec38514..ed92cfb3ad 100644
--- a/package/dejavu/Config.in
+++ b/package/dejavu/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_DEJAVU
 	bool "DejaVu fonts"
 	select BR2_PACKAGE_DEJAVU_MONO if !BR2_PACKAGE_DEJAVU_HAS_FONT
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  The DejaVu fonts are a font family based on the Vera Fonts.
 	  Its purpose is to provide a wider range of characters while
diff --git a/package/font-awesome/Config.in b/package/font-awesome/Config.in
index 694d74e5a8..22826ee5ee 100644
--- a/package/font-awesome/Config.in
+++ b/package/font-awesome/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_FONT_AWESOME
 	bool "font-awesome"
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  Font Awesome is a full suite of 605 pictographic icons for
 	  easy scalable vector graphics on websites.
diff --git a/package/ghostscript-fonts/Config.in b/package/ghostscript-fonts/Config.in
index 9b9b8d0cd2..cc4e28263a 100644
--- a/package/ghostscript-fonts/Config.in
+++ b/package/ghostscript-fonts/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_GHOSTSCRIPT_FONTS
 	bool "ghostscript-fonts"
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  Fonts and font metrics customarily distributed with
 	  Ghostscript. Currently includes the 35 standard PostScript
diff --git a/package/inconsolata/Config.in b/package/inconsolata/Config.in
index de6b388574..eb7eb1328a 100644
--- a/package/inconsolata/Config.in
+++ b/package/inconsolata/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_INCONSOLATA
 	bool "inconsolata"
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  Inconsolata is a monospace font, designed for code listings
 	  and the like.
diff --git a/package/some-font/Config.in b/package/some-font/Config.in
new file mode 100644
index 0000000000..d4d1296a20
--- /dev/null
+++ b/package/some-font/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_SOME_FONT
+	bool
+	select BR2_PACKAGE_LIBERATION if !BR2_PACKAGE_SOME_FONT_AVAILABLE
+	help
+	  This package does not provide any font of its own;
+	  instead, it ensure that at least one font package is
+	  enabled, and thus that at least one font is installed
+	  in the target.
+
+	  Select this if your package just requires some font,
+	  whatever that may be.
+
+config BR2_PACKAGE_SOME_FONT_AVAILABLE
+	bool
+	help
+	  This blind symbol should be selected by any package that
+	  installs fonts.
diff --git a/package/wqy-zenhei/Config.in b/package/wqy-zenhei/Config.in
index f9135e01a1..77be22dd4d 100644
--- a/package/wqy-zenhei/Config.in
+++ b/package/wqy-zenhei/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_WQY_ZENHEI
 	bool "wqy-zenhei"
+	select BR2_PACKAGE_SOME_FONT_AVAILABLE
 	help
 	  "WenQuanYi Zen Hei" is a Hei-Ti Style (sans-serif) Chinese
 	  font capable of text formatting and on-screen display of
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (4 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 05/29 v2] package/some-font: new pseudo-package Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-19 15:04   ` Thomas Petazzoni via buildroot
                     ` (2 more replies)
  2025-04-09 20:03 ` [Buildroot] [PATCH 07/29 v2] package/pulseview: needs some font, and fontconfig support in qt5base Yann E. MORIN
                   ` (23 subsequent siblings)
  29 siblings, 3 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The dependencies for pulseview are not entirely clean:
  - arch deps are not first;
  - second-level inherited deps are listed;
  - deps are not alphabetically ordered (for deps on packages);
  - the comment is hidden even when the arch deps are met, because of an
    incorrect dependency on Qt5;
  - qt5 is a depends-on when it could be a select.

Update the dependencies to fix all the points above.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/pulseview/Config.in | 42 ++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
index f122551b9f..b1f9dc25d7 100644
--- a/package/pulseview/Config.in
+++ b/package/pulseview/Config.in
@@ -1,40 +1,40 @@
 config BR2_PACKAGE_PULSEVIEW
 	bool "pulseview"
-	depends on BR2_PACKAGE_QT5
-	# libsigrok->libglib2:
-	depends on BR2_USE_WCHAR
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
-	depends on BR2_USE_MMU
+	depends on BR2_USE_WCHAR  # libsigrok, qt5
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # qt5
 	depends on BR2_INSTALL_LIBSTDCPP
-	# libsigrok->libzip
-	depends on !BR2_STATIC_LIBS
-	# libsigrok
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
-	depends on BR2_HOST_GCC_AT_LEAST_4_9
 	depends on BR2_ENABLE_LOCALE
+	depends on !BR2_STATIC_LIBS # libsigrok, qt5
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigrok
+	depends on BR2_HOST_GCC_AT_LEAST_5  # qt5
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_FILESYSTEM
+	select BR2_PACKAGE_BOOST_SERIALIZATION
+	select BR2_PACKAGE_BOOST_SYSTEM
 	select BR2_PACKAGE_LIBSIGROK
 	select BR2_PACKAGE_LIBSIGROKCXX
-	select BR2_PACKAGE_QT5BASE_WIDGETS
+	select BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE
 	select BR2_PACKAGE_QT5BASE_PNG
+	select BR2_PACKAGE_QT5BASE_WIDGETS
 	select BR2_PACKAGE_QT5SVG
 	select BR2_PACKAGE_QT5TOOLS
 	select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
-	select BR2_PACKAGE_BOOST
-	select BR2_PACKAGE_BOOST_FILESYSTEM
-	select BR2_PACKAGE_BOOST_SYSTEM
-	select BR2_PACKAGE_BOOST_SERIALIZATION
 	help
 	  PulseView is a Qt based logic analyzer, oscilloscope
 	  and MSO GUI for sigrok.
 
 	  http://sigrok.org/wiki/PulseView
 
-comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 4.9"
+comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5"
 	depends on BR2_USE_MMU
-	depends on BR2_PACKAGE_QT5
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
-	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
-		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
-		|| BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
-		!BR2_HOST_GCC_AT_LEAST_4_9
+	depends on !BR2_USE_WCHAR \
+		|| !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
+		|| !BR2_INSTALL_LIBSTDCPP \
+		|| !BR2_ENABLE_LOCALE \
+		|| BR2_STATIC_LIBS \
+		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
+		|| !BR2_HOST_GCC_AT_LEAST_5
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 07/29 v2] package/pulseview: needs some font, and fontconfig support in qt5base
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (5 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together Yann E. MORIN
                   ` (22 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

pulseview needs to render some text, so it needs "some font".

It also needs Qt5 to be able to locate and load fonts. This can be
achieved at runtime, by setting the QT_QPA_FONTDIR environment variable
to point to the directory containing fonts, but this is not very
practical.

Instead, it can also be achieved by adding fontconfig support to Qt5,
which is in charge of actually looking up and loading fonts all by
itself. This is the way we decided to go for, as it makes things "just
work" without any trick.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/pulseview/Config.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
index b1f9dc25d7..94196f631b 100644
--- a/package/pulseview/Config.in
+++ b/package/pulseview/Config.in
@@ -17,11 +17,13 @@ config BR2_PACKAGE_PULSEVIEW
 	select BR2_PACKAGE_LIBSIGROKCXX
 	select BR2_PACKAGE_QT5
 	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_FONTCONFIG
 	select BR2_PACKAGE_QT5BASE_PNG
 	select BR2_PACKAGE_QT5BASE_WIDGETS
 	select BR2_PACKAGE_QT5SVG
 	select BR2_PACKAGE_QT5TOOLS
 	select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
+	select BR2_PACKAGE_SOME_FONT  # runtime
 	help
 	  PulseView is a Qt based logic analyzer, oscilloscope
 	  and MSO GUI for sigrok.
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (6 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 07/29 v2] package/pulseview: needs some font, and fontconfig support in qt5base Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-19 15:10   ` Thomas Petazzoni via buildroot
  2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
  2025-04-09 20:03 ` [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection " Yann E. MORIN
                   ` (21 subsequent siblings)
  29 siblings, 2 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Also, one item per line (chrono, container) in the list of libraries.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/boost.mk | 71 +++++++++++++++++++++---------------------
 1 file changed, 36 insertions(+), 35 deletions(-)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index c0d17f7670..044dd275b3 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -12,41 +12,6 @@ BOOST_LICENSE = BSL-1.0
 BOOST_LICENSE_FILES = LICENSE_1_0.txt
 BOOST_CPE_ID_VENDOR = boost
 
-# keep host variant as minimal as possible
-# regex & system are needed by host-riscv-isa-sim
-HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
-	--without-libraries=$(subst $(space),$(comma),\
-	atomic \
-	chrono container \
-	context \
-	contract \
-	coroutine \
-	date_time \
-	exception \
-	fiber \
-	filesystem \
-	graph \
-	graph_parallel \
-	iostreams \
-	json \
-	locale \
-	log \
-	math \
-	mpi \
-	nowide \
-	program_options \
-	python \
-	random \
-	serialization \
-	stacktrace \
-	test \
-	thread \
-	timer \
-	type_erasure \
-	url \
-	wave\
-	)
-
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
@@ -103,6 +68,42 @@ BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MA
 BOOST_DEPENDENCIES += python3
 endif
 
+# keep host variant as minimal as possible
+# regex & system are needed by host-riscv-isa-sim
+HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
+	--without-libraries=$(subst $(space),$(comma),\
+	atomic \
+	chrono \
+	container \
+	context \
+	contract \
+	coroutine \
+	date_time \
+	exception \
+	fiber \
+	filesystem \
+	graph \
+	graph_parallel \
+	iostreams \
+	json \
+	locale \
+	log \
+	math \
+	mpi \
+	nowide \
+	program_options \
+	python \
+	random \
+	serialization \
+	stacktrace \
+	test \
+	thread \
+	timer \
+	type_erasure \
+	url \
+	wave\
+	)
+
 HOST_BOOST_OPTS += toolset=gcc threading=multi \
 	variant=release link=shared runtime-link=shared -j$(PARALLEL_JOBS) -q \
 	--ignore-site-config --layout=system --prefix=$(HOST_DIR) \
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection variables closer together
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (7 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-19 15:10   ` Thomas Petazzoni via buildroot
  2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
  2025-04-09 20:03 ` [Buildroot] [PATCH 10/29 v2] package/boost: prepare for a configurable host variant Yann E. MORIN
                   ` (20 subsequent siblings)
  29 siblings, 2 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/boost.mk | 66 +++++++++++++++++++++---------------------
 1 file changed, 33 insertions(+), 33 deletions(-)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 044dd275b3..1dcc4a4b3a 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -12,39 +12,6 @@ BOOST_LICENSE = BSL-1.0
 BOOST_LICENSE_FILES = LICENSE_1_0.txt
 BOOST_CPE_ID_VENDOR = boost
 
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FIBER),,fiber)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_JSON),,json)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_URL),,url)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
-
 BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
 
 BOOST_FLAGS = --with-toolset=gcc
@@ -152,6 +119,39 @@ endif
 BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
 endif
 
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FIBER),,fiber)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_JSON),,json)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_URL),,url)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
+
 BOOST_WITHOUT_FLAGS_COMMASEPARATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS)))
 BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPARATED))
 
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 10/29 v2] package/boost: prepare for a configurable host variant
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (8 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection " Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 11/29 v2] package/boost: add host symbol Yann E. MORIN
                   ` (19 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Even though we do not envision a host boost with nothing disabled
(i.e. with everything enabled), we still model the _WITHOUT_FLAGS
variable after the similar variable for the target variant.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/boost.mk | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 1dcc4a4b3a..6af76e1302 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -35,10 +35,13 @@ BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MA
 BOOST_DEPENDENCIES += python3
 endif
 
+HOST_BOOST_FLAGS = \
+	--without-icu \
+	--with-toolset=gcc
+
 # keep host variant as minimal as possible
 # regex & system are needed by host-riscv-isa-sim
-HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
-	--without-libraries=$(subst $(space),$(comma),\
+HOST_BOOST_WITHOUT_FLAGS = \
 	atomic \
 	chrono \
 	container \
@@ -68,8 +71,10 @@ HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
 	timer \
 	type_erasure \
 	url \
-	wave\
-	)
+	wave
+
+HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED = $(subst $(space),$(comma),$(strip $(HOST_BOOST_WITHOUT_FLAGS)))
+HOST_BOOST_FLAGS += $(if $(HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED))
 
 HOST_BOOST_OPTS += toolset=gcc threading=multi \
 	variant=release link=shared runtime-link=shared -j$(PARALLEL_JOBS) -q \
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 11/29 v2] package/boost: add host symbol
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (9 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 10/29 v2] package/boost: prepare for a configurable host variant Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 12/29 v2] package/libodb-boost: afirm host-boost dependency for host variant Yann E. MORIN
                   ` (18 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

That will be necessary when we eventually add sub-options to drive the
features of the host variant. But first, we need to convert existing
host packages using host-boost, so let's got step by step and have them
select host-boost; this will be done in following commits, one package
at a time.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/Config.in.host       | 1 +
 package/boost/Config.in.host | 2 ++
 2 files changed, 3 insertions(+)
 create mode 100644 package/boost/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index bf04f5fa97..3e6fef9e50 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -11,6 +11,7 @@ menu "Host utilities"
 	source "package/babeltrace2/Config.in.host"
 	source "package/bmap-tools/Config.in.host"
 	source "package/bmap-writer/Config.in.host"
+	source "package/boost/Config.in.host"
 	source "package/bootgen/Config.in.host"
 	source "package/btrfs-progs/Config.in.host"
 	source "package/cbootimage/Config.in.host"
diff --git a/package/boost/Config.in.host b/package/boost/Config.in.host
new file mode 100644
index 0000000000..5ffcbe6932
--- /dev/null
+++ b/package/boost/Config.in.host
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_HOST_BOOST
+	bool
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 12/29 v2] package/libodb-boost: afirm host-boost dependency for host variant
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (10 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 11/29 v2] package/boost: add host symbol Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 13/29 v2] package/thrift: " Yann E. MORIN
                   ` (17 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Kamel Bouhara

... and propagate to host-odb.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Kamel Bouhara <kamel.bouhara@gmail.com>
---
 package/libodb-boost/Config.in.host | 3 +++
 package/odb/Config.in.host          | 1 +
 2 files changed, 4 insertions(+)
 create mode 100644 package/libodb-boost/Config.in.host

diff --git a/package/libodb-boost/Config.in.host b/package/libodb-boost/Config.in.host
new file mode 100644
index 0000000000..fdf2b1c25f
--- /dev/null
+++ b/package/libodb-boost/Config.in.host
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_HOST_LIBODB_BOOST
+	bool
+	select BR2_PACKAGE_HOST_BOOST
diff --git a/package/odb/Config.in.host b/package/odb/Config.in.host
index bff3142ee5..41192bc25b 100644
--- a/package/odb/Config.in.host
+++ b/package/odb/Config.in.host
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_HOST_ODB
 	bool "host odb"
 	select BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT
+	select BR2_PACKAGE_HOST_LIBODB_BOOST
 	help
 	  This is a compiler that takes a specially crafted c++ header
 	  file and auto-generates a schema that works with libodb and
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 13/29 v2] package/thrift: afirm host-boost dependency for host variant
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (11 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 12/29 v2] package/libodb-boost: afirm host-boost dependency for host variant Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 14/29 v2] package/riscv-isa-sim: afirm host-boost dependency Yann E. MORIN
                   ` (16 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/thrift/Config.in      | 1 +
 package/thrift/Config.in.host | 3 +++
 2 files changed, 4 insertions(+)
 create mode 100644 package/thrift/Config.in.host

diff --git a/package/thrift/Config.in b/package/thrift/Config.in
index 2fa04705a8..dbe7585ea3 100644
--- a/package/thrift/Config.in
+++ b/package/thrift/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_THRIFT
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_HOST_THRIFT
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBEVENT
 	select BR2_PACKAGE_OPENSSL
diff --git a/package/thrift/Config.in.host b/package/thrift/Config.in.host
new file mode 100644
index 0000000000..5e92365587
--- /dev/null
+++ b/package/thrift/Config.in.host
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_HOST_THRIFT
+	bool
+	select BR2_PACKAGE_HOST_BOOST
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 14/29 v2] package/riscv-isa-sim: afirm host-boost dependency
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (12 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 13/29 v2] package/thrift: " Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 15/29 v2] pakcage/boost: make host variant slightly configurable Yann E. MORIN
                   ` (15 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Julien Olivain

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Julien Olivain <ju.o@free.fr>
---
 package/riscv-isa-sim/Config.in.host | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/riscv-isa-sim/Config.in.host b/package/riscv-isa-sim/Config.in.host
index 4ccf6e9546..eb28d5b063 100644
--- a/package/riscv-isa-sim/Config.in.host
+++ b/package/riscv-isa-sim/Config.in.host
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_HOST_RISCV_ISA_SIM
 	bool "host riscv-isa-sim"
 	depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++11
+	select BR2_PACKAGE_HOST_BOOST
 	help
 	  Spike, the RISC-V ISA Simulator, implements a functional
 	  model of one or more RISC-V harts.
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 15/29 v2] pakcage/boost: make host variant slightly configurable
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (13 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 14/29 v2] package/riscv-isa-sim: afirm host-boost dependency Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 16/29 v2] utils/check-symbols: allow ignoring some defined-but-unused symbols Yann E. MORIN
                   ` (14 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Julien Olivain, Yann E. MORIN

regex and system are currently not disabled, on the off-chance that
host-riscv-isa-sim is needed. But when it is not, this uselessly builds
regex and system...

Add options for those, and select them from host-riscv-isa-sim.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Julien Olivain <ju.o@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/Config.in.host         | 10 ++++++++++
 package/boost/boost.mk               |  6 ++++--
 package/riscv-isa-sim/Config.in.host |  2 ++
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/package/boost/Config.in.host b/package/boost/Config.in.host
index 5ffcbe6932..d377a8fbd8 100644
--- a/package/boost/Config.in.host
+++ b/package/boost/Config.in.host
@@ -1,2 +1,12 @@
 config BR2_PACKAGE_HOST_BOOST
 	bool
+
+if BR2_PACKAGE_HOST_BOOST
+
+config BR2_PACKAGE_HOST_BOOST_REGEX
+	bool
+
+config BR2_PACKAGE_HOST_BOOST_SYSTEM
+	bool
+
+endif
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 6af76e1302..95191476a8 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -39,8 +39,8 @@ HOST_BOOST_FLAGS = \
 	--without-icu \
 	--with-toolset=gcc
 
-# keep host variant as minimal as possible
-# regex & system are needed by host-riscv-isa-sim
+# keep host variant as minimal as possible, only add options when
+# an actual host package needs it.
 HOST_BOOST_WITHOUT_FLAGS = \
 	atomic \
 	chrono \
@@ -64,8 +64,10 @@ HOST_BOOST_WITHOUT_FLAGS = \
 	program_options \
 	python \
 	random \
+	$(if $(BR2_PACKAGE_HOST_BOOST_REGEX),,regex) \
 	serialization \
 	stacktrace \
+	$(if $(BR2_PACKAGE_HOST_BOOST_SYSTEM),,system) \
 	test \
 	thread \
 	timer \
diff --git a/package/riscv-isa-sim/Config.in.host b/package/riscv-isa-sim/Config.in.host
index eb28d5b063..60dc6823d8 100644
--- a/package/riscv-isa-sim/Config.in.host
+++ b/package/riscv-isa-sim/Config.in.host
@@ -2,6 +2,8 @@ config BR2_PACKAGE_HOST_RISCV_ISA_SIM
 	bool "host riscv-isa-sim"
 	depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++11
 	select BR2_PACKAGE_HOST_BOOST
+	select BR2_PACKAGE_HOST_BOOST_REGEX
+	select BR2_PACKAGE_HOST_BOOST_SYSTEM
 	help
 	  Spike, the RISC-V ISA Simulator, implements a functional
 	  model of one or more RISC-V harts.
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 16/29 v2] utils/check-symbols: allow ignoring some defined-but-unused symbols
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (14 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 15/29 v2] pakcage/boost: make host variant slightly configurable Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 17/29 v2] package/boost: commonalise list of libs Yann E. MORIN
                   ` (13 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Ricardo Martincoski

In some situations, it might be needed to not report some symbols that
are defined but not used; we already have a few heuristics for that.

For example, a symbol that selects another will not be reported as being
unused; this was what allowed the linux-tools symbols to not be reported
as unused so far.

However, there is no way to identify symbols that are (re)constructed in
Makefile code, for example from a list, like so:

    foo/Config.in:
        config BR2_PACKAGE_FOO
            bool "foo"
        if BR2_PACKAGE_FOO
        config BR2_PACKAGE_FOO_BAR
            bool "foo bar"
        config BR2_PACKAGE_FOO_BOO
            bool "foo boo"
        [...]
        endif

    foo/foo.mk:
        FOO_FEATS = bar boo and that many sub features in the foo package
        FOO_OPTS = \
            $(foreach feat, $(FOO_FEATS), \
                $(if $(BR2_PACKAGE_FOO_$(call UPPER,$(feat))),--enable-$(f),--disable-$(f)) \
            )

Although we currently have no such case, we are going to introduce one
in the following commits, for example for boost, where we currently
maintain the list of features (libraries) twice, once each for the
target and host variants, and where we repeat ad nauseam a common
construct. By having a single list with all the Boost libraries, and
reconstructing the corresponding Kconfig symbols, we can more easily
share the list between host and target, and easily update the construct
to enable/disable the libraries, as well as easily validate that list is
still up-to-date by asking boost's buildsystem.

Ideally, we would like to extend checksymbolslib to handle that case,
but it is going to be really, like really-really tricky to handle: there
is no trivial, or even mildly complex, heuristic that we can envision to
cover that case...

Instead, we decided to add a rule to be able to exclude symbols
definitions:

    # check-symbol ignore
    config BR2_PACKAGE_FOO_BAR

Those ignore directives are only valid (at least for now) for a symbol
declaration, so we make it a new warning when an ignore directive does
not guard a symbol definition. We also make it a warning when a symbol
that so guarded, is actually in use (as noted above, a symbol that
selects another is interpreted as being in use, even if it is itself
never referenced).

Finally, we want to also be able to ignore those ignore directives, if
at least to assess how many there are in the tree. So, to that effect,
we introduce the --strict option to check-symbols.

Adapt the test-suite to suit: all cases described above are tested.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@datacom.com.br>

--
Note: it took a bit of time for me to wrap my head around check-symbols
and its test-suite. So, here's a proposal for reviewing the code, in
this order:
 1. utils/checksymbolslib/db.py
    - the DB constructor defines if the DB is strict or not
    - the DB exposes the API to add ignored symbols and incorrect ignore
      directives
    - the DB exposes the API to retrieve the incorrect ignore directives
 2. utils/checksymbolslib/br.py
    - it adds the pattern to match the ignore directives
 3. utils/checksymbolslib/kconfig.py
    - the parser adds a new handler to detect ignore directives and
      store them in the DB
 4. utils/check-symbols
    - it creates the DB with the specified strictness
    - it reports invalid ignore directives
 5. utils/checksymbolslib/test_db.py
    - an ignored symbol is added to the existing DB test
    - a new test is added for incorrect ignore directives
 6. utils/checksymbolslib/test_kconfig.py
    - it adds a definition to be ignored, and a incorrect ignore
      directive
---
 utils/check-symbols                   |  9 ++--
 utils/checksymbolslib/br.py           |  1 +
 utils/checksymbolslib/db.py           | 61 +++++++++++++++++++++++++-
 utils/checksymbolslib/kconfig.py      | 18 ++++++++
 utils/checksymbolslib/test_db.py      | 17 ++++++++
 utils/checksymbolslib/test_kconfig.py | 63 +++++++++++++++++++++++++--
 6 files changed, 161 insertions(+), 8 deletions(-)

diff --git a/utils/check-symbols b/utils/check-symbols
index bb78790994..0877db0071 100755
--- a/utils/check-symbols
+++ b/utils/check-symbols
@@ -12,6 +12,8 @@ def parse_args():
     parser = argparse.ArgumentParser()
     parser.add_argument('--search', action='store', default=None,
                         help='print all symbols matching a given regular expression')
+    parser.add_argument('--strict', action='store_true',
+                        help='include ignored lines in warnings')
     return parser.parse_args()
 
 
@@ -20,8 +22,8 @@ def change_to_top_dir():
     os.chdir(base_dir)
 
 
-def get_full_db(files_to_process):
-    db = DB()
+def get_full_db(strict, files_to_process):
+    db = DB(strict)
     for f in files_to_process:
         file.populate_db_from_file(db, f)
     return db
@@ -51,7 +53,7 @@ def __main__():
     change_to_top_dir()
     all_files = file.get_list_of_files_in_the_repo()
     files_to_process = file.get_list_of_files_to_process(all_files)
-    db = get_full_db(files_to_process)
+    db = get_full_db(flags.strict, files_to_process)
 
     if flags.search:
         print_filenames_with_pattern(all_files, files_to_process, flags.search)
@@ -66,6 +68,7 @@ def __main__():
     warnings += db.get_warnings_for_symbols_with_legacy_note_and_no_usage()
     warnings += db.get_warnings_for_symbols_without_definition()
     warnings += db.get_warnings_for_symbols_without_usage()
+    warnings += db.get_warnings_for_invalid_ignore()
 
     for filename, lineno, msg in sorted(warnings):
         print('{}:{}: {}'.format(filename, lineno, msg), file=sys.stderr)
diff --git a/utils/checksymbolslib/br.py b/utils/checksymbolslib/br.py
index a4c1b84c56..dc58187dbe 100644
--- a/utils/checksymbolslib/br.py
+++ b/utils/checksymbolslib/br.py
@@ -82,6 +82,7 @@ barebox_infra_suffixes = [
     '_USE_DEFCONFIG',
 ]
 re_kconfig_symbol = re.compile(r'\b(BR2_\w+)\b')
+re_kconfig_ignore = re.compile(r'^# check-symbol ignore$')
 # Example lines to be handled:
 # config BR2_TOOLCHAIN_EXTERNAL_PREFIX
 # menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE
diff --git a/utils/checksymbolslib/db.py b/utils/checksymbolslib/db.py
index cb0dfa476f..e43f27e237 100644
--- a/utils/checksymbolslib/db.py
+++ b/utils/checksymbolslib/db.py
@@ -6,6 +6,7 @@ import checksymbolslib.br as br
 choice = 'part of a choice'
 definition = 'definition'
 helper = 'possible config helper'
+ignored = 'definition ignored'
 legacy_definition = 'legacy definition'
 legacy_note = 'legacy note'
 legacy_usage = 'legacy usage'
@@ -13,10 +14,18 @@ select = 'selected'
 usage = 'normal usage'
 usage_in_legacy = 'usage inside legacy'
 virtual = 'virtual'
+full_usage = [
+    choice,
+    helper,
+    legacy_usage,
+    usage,
+    usage_in_legacy,
+]
 
 
 class DB:
-    def __init__(self):
+    def __init__(self, strict=False):
+        self.strict = strict
         self.all_symbols = {}
 
     def __str__(self):
@@ -31,6 +40,12 @@ class DB:
             self.all_symbols[symbol][entry_type][filename] = []
         self.all_symbols[symbol][entry_type][filename].append(lineno)
 
+    def add_symbol_ignored(self, symbol, filename, lineno):
+        self.add_symbol_entry(symbol, filename, lineno, ignored)
+
+    def add_invalid_ignore(self, filename, lineno):
+        self.add_symbol_entry(None, filename, lineno, ignored)
+
     def add_symbol_choice(self, symbol, filename, lineno):
         self.add_symbol_entry(symbol, filename, lineno, choice)
 
@@ -65,6 +80,8 @@ class DB:
         re_pattern = re.compile(r'{}'.format(pattern))
         found_symbols = {}
         for symbol, entries in self.all_symbols.items():
+            if symbol is None:
+                continue
             if not re_pattern.search(symbol):
                 continue
             found_symbols[symbol] = entries
@@ -73,6 +90,8 @@ class DB:
     def get_warnings_for_choices_selected(self):
         warnings = []
         for symbol, entries in self.all_symbols.items():
+            if symbol is None:
+                continue
             if choice not in entries:
                 continue
             if select not in entries:
@@ -88,6 +107,8 @@ class DB:
     def get_warnings_for_legacy_symbols_being_used(self):
         warnings = []
         for symbol, entries in self.all_symbols.items():
+            if symbol is None:
+                continue
             if legacy_definition not in entries:
                 continue
             if usage not in entries:
@@ -103,6 +124,8 @@ class DB:
     def get_warnings_for_legacy_symbols_being_defined(self):
         warnings = []
         for symbol, entries in self.all_symbols.items():
+            if symbol is None:
+                continue
             if legacy_definition not in entries:
                 continue
             if definition not in entries:
@@ -118,6 +141,8 @@ class DB:
     def get_warnings_for_symbols_without_definition(self):
         warnings = []
         for symbol, entries in self.all_symbols.items():
+            if symbol is None:
+                continue
             if definition in entries:
                 continue
             if legacy_definition in entries:
@@ -149,6 +174,9 @@ class DB:
     def get_warnings_for_symbols_without_usage(self):
         warnings = []
         for symbol, entries in self.all_symbols.items():
+            msg_suffix = ""
+            if symbol is None:
+                continue
             if usage in entries:
                 continue
             if usage_in_legacy in entries:
@@ -165,15 +193,44 @@ class DB:
                 continue
             if choice in entries:
                 continue
+            if ignored in entries:
+                if not self.strict:
+                    continue
+                msg_suffix = " [ignored]"
             all_items = []
             all_items += entries.get(definition, {}).items()
             all_items += entries.get(legacy_definition, {}).items()
             for filename, linenos in all_items:
                 for lineno in linenos:
-                    msg = '{} defined but not referenced'.format(symbol)
+                    msg = '{} defined but not referenced{}'.format(symbol, msg_suffix)
                     warnings.append((filename, lineno, msg))
         return warnings
 
+    def get_warnings_for_invalid_ignore(self):
+        warnings = []
+        for symbol, entries in self.all_symbols.items():
+            if ignored not in entries:
+                continue
+            if symbol is None:
+                all_items = entries.get(ignored, {}).items()
+                msg = 'ignoring non-definition'
+                for filename, linenos in all_items:
+                    for lineno in linenos:
+                        warnings.append((filename, lineno, msg))
+            else:
+                if (
+                    any(map(lambda e: e in full_usage, entries))
+                    or symbol in br.symbols_used_only_in_source_code
+                    or symbol in br.symbols_used_only_for_host_variant
+                ):
+                    msg = f'{symbol} defined and referenced, but ignored'
+                    all_items = entries.get(ignored, {}).items()
+                    for filename, linenos in all_items:
+                        for lineno in linenos:
+                            warnings.append((filename, lineno, msg))
+
+        return warnings
+
     def get_warnings_for_symbols_with_legacy_note_and_no_comment_on_usage(self):
         warnings = []
         for symbol, entries in self.all_symbols.items():
diff --git a/utils/checksymbolslib/kconfig.py b/utils/checksymbolslib/kconfig.py
index 9ad6030305..bbdbc5dcbc 100644
--- a/utils/checksymbolslib/kconfig.py
+++ b/utils/checksymbolslib/kconfig.py
@@ -123,12 +123,30 @@ def handle_note(db, filename, file_content):
                 continue
 
 
+def handle_ignore(db, filename, file_content):
+    ignore_lineno = None
+    for lineno, line in file_content:
+        if ignore_lineno is None:
+            if br.re_kconfig_ignore.search(line):
+                ignore_lineno = lineno
+        else:
+            if br.re_kconfig_config.search(line):
+                m = br.re_kconfig_symbol.search(line)
+                if m:
+                    symbol = m.group(1)
+                    db.add_symbol_ignored(symbol, filename, lineno)
+            else:
+                db.add_invalid_ignore(filename, ignore_lineno)
+            ignore_lineno = None
+
+
 def populate_db(db, filename, file_content):
     legacy = filename.endswith('.legacy')
     for lineno, line in file_content:
         handle_line(db, filename, lineno, line, legacy)
     handle_config_helper(db, filename, file_content)
     handle_config_choice(db, filename, file_content)
+    handle_ignore(db, filename, file_content)
     if legacy:
         handle_note(db, filename, file_content)
 
diff --git a/utils/checksymbolslib/test_db.py b/utils/checksymbolslib/test_db.py
index 15576fa897..6416324848 100644
--- a/utils/checksymbolslib/test_db.py
+++ b/utils/checksymbolslib/test_db.py
@@ -219,6 +219,7 @@ def test_get_warnings_for_symbols_without_usage():
     db.add_symbol_usage_in_legacy('BR2_k', 'file', 6)
     db.add_symbol_legacy_usage('BR2_k', 'file', 7)
     db.add_symbol_legacy_definition('BR2_l', 'Config.in.legacy', 2)
+    db.add_symbol_ignored('BR2_m', 'm/Config/in', 2)
     assert str(db) == str({
         'BR2_a': {'definition': {'a/Config.in': [1, 2]}, 'normal usage': {'file': [1, 2]}},
         'BR2_b': {'definition': {'b/Config.in': [2]}, 'usage inside legacy': {'file': [1]}},
@@ -238,6 +239,7 @@ def test_get_warnings_for_symbols_without_usage():
             'usage inside legacy': {'file': [6]},
             'legacy usage': {'file': [7]}},
         'BR2_l': {'legacy definition': {'Config.in.legacy': [2]}},
+        'BR2_m': {'definition ignored': {'m/Config/in': [2]}},
         })
     warnings = db.get_warnings_for_symbols_without_usage()
     assert warnings == [
@@ -248,6 +250,21 @@ def test_get_warnings_for_symbols_without_usage():
         ]
 
 
+def test_get_warnings_for_invalid_ignore():
+    db = m.DB()
+    db.add_symbol_ignored('BR2_a', 'a/Config/in', 2)
+    db.add_symbol_usage('BR2_a', 'file', 1)
+    db.add_symbol_ignored('BR2_b', 'b/Config/in', 2)
+    assert str(db) == str({
+        'BR2_a': {'definition ignored': {'a/Config/in': [2]}, 'normal usage': {'file': [1]}},
+        'BR2_b': {'definition ignored': {'b/Config/in': [2]}}
+    })
+    warnings = db.get_warnings_for_invalid_ignore()
+    assert warnings == [
+        ('a/Config/in', 2, 'BR2_a defined and referenced, but ignored')
+    ]
+
+
 def test_get_warnings_for_symbols_with_legacy_note_and_no_comment_on_usage():
     db = m.DB()
     db.add_symbol_legacy_note('BR2_foo', 'Config.in.legacy', 1)
diff --git a/utils/checksymbolslib/test_kconfig.py b/utils/checksymbolslib/test_kconfig.py
index ab2008df6c..fd2a3f5214 100644
--- a/utils/checksymbolslib/test_kconfig.py
+++ b/utils/checksymbolslib/test_kconfig.py
@@ -356,6 +356,52 @@ def test_handle_note(testname, filename, file_content, expected_calls):
     assert_db_calls(db, expected_calls)
 
 
+handle_ignore = [
+    (
+        'definition',
+        'Config.in',
+        [
+            [1, 'config BR2_PACKAGE_FOO']
+        ],
+        {}
+    ),
+    (
+        'ignored definition',
+        'Config.in',
+        [
+            [1, '# check-symbols ignore'],
+            [2, 'config BR2_PACKAGE_FOO']
+        ],
+        {
+            'add_symbol_ignored': [
+                call('BR2_PACKAGE_FOO', 'Config.in', 2)
+            ]
+        }
+    ),
+    (
+        'incorrect ignore directive',
+        'Config.in',
+        [
+            [1, 'config BR2_PACKAGE_FOO'],
+            [2, '# check-symbols ignore'],
+            [3, '\t bool "foo"']
+        ],
+        {
+            'add_invalid_ignore': [
+                call('Config.in', 2)
+            ]
+        }
+    ),
+]
+
+
+@pytest.mark.parametrize('testname,filename,file_content,expected_calls', handle_ignore)
+def test_handle_ignore(testname, filename, file_content, expected_calls):
+    db = Mock()
+    m.handle_ignore(db, filename, file_content)
+    assert_db_calls(db, expected_calls)
+
+
 populate_db = [
     ('legacy',
      'Config.in.legacy',
@@ -377,7 +423,12 @@ populate_db = [
       [5, 'config BR2_PACKAGE_FOO'],
       [6, 'config BR2_PACKAGE_BAR'],
       [7, '\t select BR2_PACKAGE_FOO_BAR'],
-      [10, 'endchoice']],
+      [10, 'endchoice'],
+      [12, '# check-symbol ignore'],
+      [13, 'config BR2_PACKAGE_BUZ'],
+      [15, 'config BR2_PACKAGE_NAH'],
+      [16, '# check-symbol ignore'],
+      [17, '\thelp']],
      {'add_symbol_choice': [
          call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5),
          call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)],
@@ -388,9 +439,15 @@ populate_db = [
       'add_symbol_definition': [
          call('BR2_PACKAGE_BAZ', 'package/foo/Config.in', 1),
          call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5),
-         call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)],
+         call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6),
+         call('BR2_PACKAGE_BUZ', 'package/foo/Config.in', 13),
+         call('BR2_PACKAGE_NAH', 'package/foo/Config.in', 15)],
       'add_symbol_helper': [
-         call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)]}),
+         call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)],
+      'add_symbol_ignored': [
+         call('BR2_PACKAGE_BUZ', 'package/foo/Config.in', 13)],
+      'add_invalid_ignore': [
+         call(None, 'package/foo/Config.in', 16)]}),
     ]
 
 
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 17/29 v2] package/boost: commonalise list of libs
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (15 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 16/29 v2] utils/check-symbols: allow ignoring some defined-but-unused symbols Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 18/29 v2] package/boost: add graph option for host variant Yann E. MORIN
                   ` (12 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The list of available libraries is duplicated for the host and target
variants, which is prone to getting desynchronised next time we bump and
the list changes (with additions or removals).

This incidentally greatly cleanups the target variant variable, which
used the superfluous, verbose repetition of append-assignments rather
than a multi-line single assignment.

For the host variant, if we do not have an option for a library, the
library will default to being disabled, which is exactly what we want.

Note: This diff best viewed with: --anchored='BOOST_TARGET_CXXFLAGS ='

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/Config.in      |   6 ++
 package/boost/Config.in.host |   2 +
 package/boost/boost.mk       | 103 +++++++++++++----------------------
 3 files changed, 47 insertions(+), 64 deletions(-)

diff --git a/package/boost/Config.in b/package/boost/Config.in
index c7c90aa9ab..f37efd129b 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -98,6 +98,7 @@ config BR2_PACKAGE_BOOST_DATE_TIME
 	  A set of date-time libraries based on generic programming
 	  concepts.
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_EXCEPTION
 	bool "boost-exception"
 	help
@@ -146,6 +147,7 @@ config BR2_PACKAGE_BOOST_GRAPH
 	  The BGL graph interface and graph components are generic, in
 	  the same sense as the the Standard Template Library (STL).
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_GRAPH_PARALLEL
 	bool "boost-graph_parallel"
 	help
@@ -249,12 +251,14 @@ config BR2_PACKAGE_BOOST_MATH
 comment "boost-math needs a toolchain w/ C++14, gcc>=5.0"
 	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_MPI
 	bool "boost-mpi"
 	help
 	  Message Passing Interface library, for use in
 	  distributed-memory parallel application programming.
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_NOWIDE
 	bool "boost-nowide"
 	help
@@ -294,6 +298,7 @@ config BR2_PACKAGE_BOOST_SERIALIZATION
 	help
 	  Serialization for persistence and marshalling.
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_STACKTRACE
 	bool "boost-stacktrace"
 	depends on !BR2_STATIC_LIBS
@@ -349,6 +354,7 @@ config BR2_PACKAGE_BOOST_TYPE_ERASURE
 comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735"
 	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_URL
 	bool "boost-url"
 	help
diff --git a/package/boost/Config.in.host b/package/boost/Config.in.host
index d377a8fbd8..bf69287383 100644
--- a/package/boost/Config.in.host
+++ b/package/boost/Config.in.host
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_HOST_BOOST
 	bool
 
+# keep host variant as minimal as possible, only add options when
+# an actual host package needs it.
 if BR2_PACKAGE_HOST_BOOST
 
 config BR2_PACKAGE_HOST_BOOST_REGEX
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 95191476a8..2b952baaac 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -12,36 +12,7 @@ BOOST_LICENSE = BSL-1.0
 BOOST_LICENSE_FILES = LICENSE_1_0.txt
 BOOST_CPE_ID_VENDOR = boost
 
-BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
-
-BOOST_FLAGS = --with-toolset=gcc
-
-ifeq ($(BR2_PACKAGE_ICU),y)
-BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr
-BOOST_DEPENDENCIES += icu
-else
-BOOST_FLAGS += --without-icu
-endif
-
-ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y)
-BOOST_DEPENDENCIES += bzip2 zlib
-endif
-
-ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y)
-BOOST_FLAGS += \
-	--with-python-root=$(HOST_DIR) \
-	--with-python=$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR)
-BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)
-BOOST_DEPENDENCIES += python3
-endif
-
-HOST_BOOST_FLAGS = \
-	--without-icu \
-	--with-toolset=gcc
-
-# keep host variant as minimal as possible, only add options when
-# an actual host package needs it.
-HOST_BOOST_WITHOUT_FLAGS = \
+BOOST_ALL_LIBS = \
 	atomic \
 	chrono \
 	container \
@@ -64,10 +35,10 @@ HOST_BOOST_WITHOUT_FLAGS = \
 	program_options \
 	python \
 	random \
-	$(if $(BR2_PACKAGE_HOST_BOOST_REGEX),,regex) \
+	regex \
 	serialization \
 	stacktrace \
-	$(if $(BR2_PACKAGE_HOST_BOOST_SYSTEM),,system) \
+	system \
 	test \
 	thread \
 	timer \
@@ -75,6 +46,38 @@ HOST_BOOST_WITHOUT_FLAGS = \
 	url \
 	wave
 
+BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
+
+BOOST_FLAGS = --with-toolset=gcc
+
+ifeq ($(BR2_PACKAGE_ICU),y)
+BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr
+BOOST_DEPENDENCIES += icu
+else
+BOOST_FLAGS += --without-icu
+endif
+
+ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y)
+BOOST_DEPENDENCIES += bzip2 zlib
+endif
+
+ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y)
+BOOST_FLAGS += \
+	--with-python-root=$(HOST_DIR) \
+	--with-python=$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR)
+BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)
+BOOST_DEPENDENCIES += python3
+endif
+
+HOST_BOOST_FLAGS = \
+	--without-icu \
+	--with-toolset=gcc
+
+HOST_BOOST_WITHOUT_FLAGS = \
+	$(foreach lib, $(BOOST_ALL_LIBS), \
+		$(if $(BR2_PACKAGE_HOST_BOOST_$(call UPPERCASE,$(lib))),,$(lib)) \
+	)
+
 HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED = $(subst $(space),$(comma),$(strip $(HOST_BOOST_WITHOUT_FLAGS)))
 HOST_BOOST_FLAGS += $(if $(HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED))
 
@@ -126,38 +129,10 @@ endif
 BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
 endif
 
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FIBER),,fiber)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_JSON),,json)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_URL),,url)
-BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
+BOOST_WITHOUT_FLAGS = \
+	$(foreach lib, $(BOOST_ALL_LIBS), \
+		$(if $(BR2_PACKAGE_BOOST_$(call UPPERCASE,$(lib))),,$(lib)) \
+	)
 
 BOOST_WITHOUT_FLAGS_COMMASEPARATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS)))
 BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPARATED))
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 18/29 v2] package/boost: add graph option for host variant
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (16 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 17/29 v2] package/boost: commonalise list of libs Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 19/29 v2] package/boost: headers-only libs are always installed Yann E. MORIN
                   ` (11 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

host-sdcc will need that option.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/Config.in.host | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/boost/Config.in.host b/package/boost/Config.in.host
index bf69287383..c378c0ce74 100644
--- a/package/boost/Config.in.host
+++ b/package/boost/Config.in.host
@@ -5,6 +5,10 @@ config BR2_PACKAGE_HOST_BOOST
 # an actual host package needs it.
 if BR2_PACKAGE_HOST_BOOST
 
+config BR2_PACKAGE_HOST_BOOST_GRAPH
+	bool
+	select BR2_PACKAGE_HOST_BOOST_REGEX
+
 config BR2_PACKAGE_HOST_BOOST_REGEX
 	bool
 
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 19/29 v2] package/boost: headers-only libs are always installed
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (17 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 18/29 v2] package/boost: add graph option for host variant Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 20/29 v2] package/boost: check that known libs match Boost's list Yann E. MORIN
                   ` (10 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The headers-only libraries are an entry like the others for the boost
build system, and are reported in the list of libraries when it is
queried:

    $ ./bootstrap.sh --show-libraries
    [--SNIP--]
    The Boost libraries requiring separate building and installation are:
        [...]
        - headers
        [...]

However, they are always "built" and installed, and can't be disabled,
even using the --without-headers flag.

In a followup change, we'll make sure that the sets of libs provided by
Boost on one hand, and known to Buildroot on the other, are identical,
so we'll want to have 'headers' be present in the list known to
Buildroot.

Add an Kconfig symbol to represent that library. To inform the user that
the headers library is installed, we expose it with a prompt; we however
make sure the symbol can't be disabled when Boost is enabled. Since it
is a "special' library, we list if first, not in alphabetical order.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/Config.in | 7 +++++++
 package/boost/boost.mk  | 1 +
 2 files changed, 8 insertions(+)

diff --git a/package/boost/Config.in b/package/boost/Config.in
index f37efd129b..784c40278b 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_BOOST
 	# let's depend on threads.
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_WCHAR
+	select BR2_PACKAGE_BOOST_HEADERS
 	help
 	  A general purpose C++ library
 
@@ -16,6 +17,12 @@ config BR2_PACKAGE_BOOST
 
 if BR2_PACKAGE_BOOST
 
+# Headers-only libraries are always installed by Boost's buildsystem
+config BR2_PACKAGE_BOOST_HEADERS
+	bool "boost-headers"
+	help
+	  Headers-only libraries; those are always installed.
+
 config BR2_PACKAGE_BOOST_ATOMIC
 	bool "boost-atomic"
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 2b952baaac..e849f902f2 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -25,6 +25,7 @@ BOOST_ALL_LIBS = \
 	filesystem \
 	graph \
 	graph_parallel \
+	headers \
 	iostreams \
 	json \
 	locale \
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 20/29 v2] package/boost: check that known libs match Boost's list
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (18 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 19/29 v2] package/boost: headers-only libs are always installed Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 21/29 v2] package/boost: use positive logic to enable libraries Yann E. MORIN
                   ` (9 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

When updating Boost, it can be easy to miss that new libraries are
added, or that older ones are dropped.

We use Boost's ability to list its libraries, to match it against the
set of libraries we know of. If they do not match, we report missing
or dropped libraries.

To get the list from Boost, we need to call 'b2', boost's buildsystem.
However, that is only created after a successful run to bootstrap.
But then only the set of _configured_ libs are reported, not all of
them, so we can't do it as a post-configure hook.

Boost's bootstrap script also allows querying the set of libraries, but
that takes a bit of time as it will build b2 first, and that takes quite
a bit of time. Since we need to evaluate the variable multiple times,
that would be a bit too costly to do a simple assignment with a shell
call-out. Thus the slightly elaborate assignment, which uses memoization
to run the shell call-out only once.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/boost.mk | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index e849f902f2..7538dcb8f4 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -142,6 +142,35 @@ BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$
 BOOST_OPTS += $(if $(QUIET),-d0,-d+1)
 HOST_BOOST_OPTS += $(if $(QUIET),-d0,-d+1)
 
+# Check that all the libraries that Boost may build, are actually present
+# in the list of all known libs and handled by Buildroot.
+BOOST_B2_LIBS = \
+	$(if $(filter undefined,$(origin BOOST_B2_LIBS_X)), \
+		$(eval BOOST_B2_LIBS_X := \
+			$(sort \
+				$(shell cd $(BOOST_BUILDDIR) && \
+					./bootstrap.sh --show-libraries \
+					|sed -r -e '/^ +- (.+)$$/!d; s//\1/;' \
+				) \
+			) \
+		) \
+	) \
+	$(BOOST_B2_LIBS_X)
+BOOST_MISSED_LIBS = $(strip $(filter-out $(BOOST_ALL_LIBS),$(BOOST_B2_LIBS)))
+BOOST_GONE_LIBS = $(strip $(filter-out $(BOOST_B2_LIBS),$(BOOST_ALL_LIBS)))
+define BOOST_CHECK_LIBS
+	$(Q)if [ "$(BOOST_GONE_LIBS)" ]; then \
+		printf 'Those libraries known to Buildroot are not present in Boost $(BOOST_VERSION):\n'; \
+		printf '  - %s\n' $(BOOST_GONE_LIBS); \
+	fi
+	$(Q)if [ "$(BOOST_MISSED_LIBS)" ]; then \
+		printf 'Those libraries present in Boost $(BOOST_VERSION) are not known to Buildroot:\n'; \
+		printf '  - %s\n' $(BOOST_MISSED_LIBS); \
+	fi
+	$(Q)[ -z "$(BOOST_GONE_LIBS)" -a -z "$(BOOST_MISSED_LIBS)" ]
+endef
+BOOST_PRE_CONFIGURE_HOOKS += BOOST_CHECK_LIBS
+
 define BOOST_CONFIGURE_CMDS
 	cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS)
 	echo "using gcc : `$(TARGET_CC) -dumpversion` : $(TARGET_CXX) : <cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 21/29 v2] package/boost: use positive logic to enable libraries
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (19 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 20/29 v2] package/boost: check that known libs match Boost's list Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 22/29 v2] package/boost: explain how to maintain the list of libraries Yann E. MORIN
                   ` (8 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

boostrap.sh has supported --with-libraries since its inception on
2005-10-07, with upstream commit a3595d0d7570 (Initial shot at a
configure script for Boost), and since its was first available in a
release, with Boost 1.34.0 released on 2013-04-13.

Using negative logic is counter-intuitive, and we avoid doing that in
Buildroot whenever possible, especially when using positive logic is
just as powerful.

Additionally, if a new version of Boost incldues a new library that we
missed, and that `./bootstrap.sh --show-libraries` also does not report,
then that new library would be built with the current use of negative
logic (i.e. all that is not disabled is built). By using positive logic,
only what gets explicitly enabled gets built, and such a new library
would not be built; thus, an interested party would late rnotice, and
add the necessary support.

Furthermore, by using positive logic here, and because we know that the
'headers' library will always be enabled, we know the list is not empty,
and thus we can simplify the code slightly.

Note that we would have liked to also explicitly disable libraries not
enabled in the configuration, but that is not possible: Boost's
buildsystem only accepts one of --with-libraries or --without-libraries.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
 package/boost/boost.mk | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 7538dcb8f4..aa7b93a375 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -74,13 +74,13 @@ HOST_BOOST_FLAGS = \
 	--without-icu \
 	--with-toolset=gcc
 
-HOST_BOOST_WITHOUT_FLAGS = \
+HOST_BOOST_LIBS = \
 	$(foreach lib, $(BOOST_ALL_LIBS), \
-		$(if $(BR2_PACKAGE_HOST_BOOST_$(call UPPERCASE,$(lib))),,$(lib)) \
+		$(if $(BR2_PACKAGE_HOST_BOOST_$(call UPPERCASE,$(lib))),$(lib)) \
 	)
 
-HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED = $(subst $(space),$(comma),$(strip $(HOST_BOOST_WITHOUT_FLAGS)))
-HOST_BOOST_FLAGS += $(if $(HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(HOST_BOOST_WITHOUT_FLAGS_COMMASEPARATED))
+HOST_BOOST_FLAGS += \
+	--with-libraries=$(subst $(space),$(comma),$(strip $(HOST_BOOST_LIBS)))
 
 HOST_BOOST_OPTS += toolset=gcc threading=multi \
 	variant=release link=shared runtime-link=shared -j$(PARALLEL_JOBS) -q \
@@ -130,13 +130,13 @@ endif
 BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
 endif
 
-BOOST_WITHOUT_FLAGS = \
+BOOST_LIBS = \
 	$(foreach lib, $(BOOST_ALL_LIBS), \
-		$(if $(BR2_PACKAGE_BOOST_$(call UPPERCASE,$(lib))),,$(lib)) \
+		$(if $(BR2_PACKAGE_BOOST_$(call UPPERCASE,$(lib))),$(lib)) \
 	)
 
-BOOST_WITHOUT_FLAGS_COMMASEPARATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS)))
-BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPARATED))
+BOOST_FLAGS += \
+	--with-libraries=$(subst $(space),$(comma),$(strip $(BOOST_LIBS)))
 
 # how verbose should the build be?
 BOOST_OPTS += $(if $(QUIET),-d0,-d+1)
@@ -201,7 +201,7 @@ endef
 BOOST_PRE_INSTALL_TARGET_HOOKS += BOOST_REMOVE_TARGET_LIBRARIES
 
 define BOOST_CHECK_TARGET_LIBRARIES
-	@$(foreach disabled,$(BOOST_WITHOUT_FLAGS),\
+	@$(foreach disabled, $(filter-out $(BOOST_LIBS),$(BOOST_ALL_LIBS)), \
 		! ls $(TARGET_DIR)/usr/lib/libboost_$(disabled)* 1>/dev/null 2>&1 || \
 			! echo "libboost_$(disabled) shouldn't have been installed: missing select in boost/Config.in" || \
 			exit 1;)
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 22/29 v2] package/boost: explain how to maintain the list of libraries
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (20 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 21/29 v2] package/boost: use positive logic to enable libraries Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 23/29 v2] package/boost: bump to version 1.87.0 Yann E. MORIN
                   ` (7 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/boost/boost.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index aa7b93a375..6847ea5cfe 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -12,6 +12,14 @@ BOOST_LICENSE = BSL-1.0
 BOOST_LICENSE_FILES = LICENSE_1_0.txt
 BOOST_CPE_ID_VENDOR = boost
 
+# This is the list of libraries that Boost can build. They may not all be
+# exposed in the Buildroot menuconfig; only add them as the need arises.
+# How to maintain that list (the last step takes a bit of time):
+#  - make boost-direclean
+#  - make boost-configure
+# Buildrrot will then report any disrepancy: either libraries in this list
+# but no longer present in the newer Boost version, or libraries missing in
+# this list but present in that nwewer version.
 BOOST_ALL_LIBS = \
 	atomic \
 	chrono \
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 23/29 v2] package/boost: bump to version 1.87.0
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (21 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 22/29 v2] package/boost: explain how to maintain the list of libraries Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-15  9:56   ` Michael Nosthoff via buildroot
  2025-04-09 20:03 ` [Buildroot] [PATCH 24/29 v2] package/sdcc: new package Yann E. MORIN
                   ` (6 subsequent siblings)
  29 siblings, 1 reply; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Add a slew of new libraries as reported by ./bootstrap --show-libraries.
Add a comment about how to maintain the list, and that they may not all
need to be exposed in the menuconfig.

There has been a few dependency changes. Those have been identified by
removing all selects, building Boost with exactly one option enabled,
identifying those that built without issue (thus were leaf options),
then adding dependencies to failing options, and so on iteratively,
until all options would build when selected on their own, and without a
select that was not already satisfied transitively (that's a limitation,
but hey...)

Some dependencies were dropped, and that has been confirned by
inspecting the corresponding upstream component. For example, contract
no longer needs system since upstream commit eedf51b2c675 (removed
linking to boost.system [...]) and available since boost 1.72.0 (so yes,
we've had superfluous dependencies for a while now, but it is extra
diffficult to detect).

In some cases, this implies a change in what symbol has to be ignored or
not:
  - contract now selects nothing, so appears orphaned, so must be
    ignored;
  - exception is now selected by coroutine, so no longer appears
    orphaned, so must not be ignored;
  - timer now selects nothing, so appears orphaned, so must be ignored;
  - url now select system, so it no longer appears orphaned, so must not
    be ignored.

Drop the backported patch, it's been applied upstream since 1.84.0.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>

---
Changes v1 -> v2:
  - rewrite the comment explaining how to maintain the list of Boost
    libs
  - fix URL ref for hash
---
 .../0001-unordered-fix-copy-assign.patch      | 22 -------
 package/boost/Config.in                       | 34 +++++------
 package/boost/boost.hash                      |  4 +-
 package/boost/boost.mk                        | 61 ++++++++++++++++++-
 4 files changed, 75 insertions(+), 46 deletions(-)
 delete mode 100644 package/boost/0001-unordered-fix-copy-assign.patch

diff --git a/package/boost/0001-unordered-fix-copy-assign.patch b/package/boost/0001-unordered-fix-copy-assign.patch
deleted file mode 100644
index 670552535a..0000000000
--- a/package/boost/0001-unordered-fix-copy-assign.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream Patch for Unordered
-
-Prevent erroneous copying of groups data, update max load to properly propagate
-
-Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
-Upstream: https://github.com/boostorg/unordered/commit/067884a4e213352e7c81c441f1453c54735c39f3
-diff --git a/include/boost/unordered/detail/foa/core.hpp b/include/boost/unordered/detail/foa/core.hpp
-index 239d05d3..7ae9f2c8 100644
---- a/boost/unordered/detail/foa/core.hpp
-+++ b/boost/unordered/detail/foa/core.hpp
-@@ -1870,9 +1870,10 @@ private:
- 
-   void fast_copy_elements_from(const table_core& x)
-   {
--    if(arrays.elements){
-+    if(arrays.elements&&x.arrays.elements){
-       copy_elements_array_from(x);
-       copy_groups_array_from(x);
-+      size_ctrl.ml=std::size_t(x.size_ctrl.ml);
-       size_ctrl.size=std::size_t(x.size_ctrl.size);
-     }
-   }
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 784c40278b..d1d1dc2423 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -65,11 +65,11 @@ config BR2_PACKAGE_BOOST_CONTEXT
 comment "boost-context needs a toolchain w/ C++11, gcc>=4.8"
 	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_CONTRACT
 	bool "boost-contract"
 	# pthread_condattr_setclock
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
-	select BR2_PACKAGE_BOOST_SYSTEM
 	help
 	  Contract programming for C++.
 
@@ -82,10 +82,9 @@ config BR2_PACKAGE_BOOST_COROUTINE
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
-	select BR2_PACKAGE_BOOST_CHRONO
 	select BR2_PACKAGE_BOOST_CONTEXT
+	select BR2_PACKAGE_BOOST_EXCEPTION
 	select BR2_PACKAGE_BOOST_SYSTEM
-	select BR2_PACKAGE_BOOST_THREAD
 	help
 	  deprecated coroutine library, the non-deprecated coroutine2
 	  library is a header-only library and does not need to be
@@ -105,7 +104,6 @@ config BR2_PACKAGE_BOOST_DATE_TIME
 	  A set of date-time libraries based on generic programming
 	  concepts.
 
-# check-symbol ignore
 config BR2_PACKAGE_BOOST_EXCEPTION
 	bool "boost-exception"
 	help
@@ -125,7 +123,6 @@ config BR2_PACKAGE_BOOST_FIBER
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
 	select BR2_PACKAGE_BOOST_CONTEXT
 	select BR2_PACKAGE_BOOST_FILESYSTEM
-	select BR2_PACKAGE_BOOST_SYSTEM
 	help
 	  C++11 userland threads library.
 
@@ -149,7 +146,6 @@ config BR2_PACKAGE_BOOST_FILESYSTEM
 
 config BR2_PACKAGE_BOOST_GRAPH
 	bool "boost-graph"
-	select BR2_PACKAGE_BOOST_REGEX
 	help
 	  The BGL graph interface and graph components are generic, in
 	  the same sense as the the Standard Template Library (STL).
@@ -165,6 +161,8 @@ config BR2_PACKAGE_BOOST_IOSTREAMS
 	bool "boost-iostreams"
 	select BR2_PACKAGE_BZIP2
 	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_BOOST_RANDOM
+	select BR2_PACKAGE_BOOST_REGEX
 	help
 	  Boost.IOStreams provides a framework for defining streams,
 	  stream buffers and i/o filters.
@@ -172,6 +170,7 @@ config BR2_PACKAGE_BOOST_IOSTREAMS
 config BR2_PACKAGE_BOOST_JSON
 	bool "boost-json"
 	select BR2_PACKAGE_BOOST_CONTAINER
+	select BR2_PACKAGE_BOOST_SYSTEM
 	help
 	  Boost.JSON is a portable C++ library which provides containers
 	  and algorithms that implement JavaScript Object Notation, or
@@ -193,7 +192,6 @@ config BR2_PACKAGE_BOOST_LOCALE
 	depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
 		|| !BR2_PACKAGE_ICU # boost-thread
-	select BR2_PACKAGE_BOOST_SYSTEM
 	select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
@@ -214,11 +212,7 @@ config BR2_PACKAGE_BOOST_LOG
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
-	select BR2_PACKAGE_BOOST_ATOMIC
-	select BR2_PACKAGE_BOOST_DATE_TIME
 	select BR2_PACKAGE_BOOST_FILESYSTEM
-	select BR2_PACKAGE_BOOST_REGEX
-	select BR2_PACKAGE_BOOST_SYSTEM
 	select BR2_PACKAGE_BOOST_THREAD
 	help
 	  Logging library.
@@ -233,6 +227,8 @@ comment "boost-log needs a toolchain not affected by GCC bug 64735"
 config BR2_PACKAGE_BOOST_MATH
 	bool "boost-math"
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
+	select BR2_PACKAGE_BOOST_CONTAINER
+	select BR2_PACKAGE_BOOST_RANDOM
 	help
 	  Boost.Math includes several contributions in the domain of
 	  mathematics:
@@ -282,6 +278,8 @@ config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
 config BR2_PACKAGE_BOOST_PYTHON
 	bool "boost-python"
 	depends on BR2_PACKAGE_PYTHON3
+	select BR2_PACKAGE_BOOST_CONTAINER
+	select BR2_PACKAGE_BOOST_GRAPH
 	help
 	  The Boost Python Library is a framework for interfacing Python
 	  and C++. It allows you to quickly and seamlessly expose C++
@@ -324,8 +322,6 @@ config BR2_PACKAGE_BOOST_SYSTEM
 config BR2_PACKAGE_BOOST_TEST
 	bool "boost-test"
 	depends on BR2_USE_MMU # fork()
-	select BR2_PACKAGE_BOOST_SYSTEM
-	select BR2_PACKAGE_BOOST_TIMER
 	help
 	  Support for simple program testing, full unit testing, and for
 	  program execution monitoring.
@@ -334,18 +330,16 @@ config BR2_PACKAGE_BOOST_THREAD
 	bool "boost-thread"
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
-	select BR2_PACKAGE_BOOST_CHRONO
-	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_BOOST_CHRONO  # For dependents only
 	help
 	  Portable C++ multi-threading. C++11, C++14.
 
 comment "boost-thread needs a toolchain not affected by GCC bug 64735"
 	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
+# check-symbol ignore
 config BR2_PACKAGE_BOOST_TIMER
 	bool "boost-timer"
-	select BR2_PACKAGE_BOOST_CHRONO
-	select BR2_PACKAGE_BOOST_SYSTEM
 	help
 	  Event timer, progress timer, and progress display classes.
 
@@ -361,9 +355,9 @@ config BR2_PACKAGE_BOOST_TYPE_ERASURE
 comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735"
 	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
-# check-symbol ignore
 config BR2_PACKAGE_BOOST_URL
 	bool "boost-url"
+	select BR2_PACKAGE_BOOST_SYSTEM
 	help
 	  Boost.URL is a portable C++ library which provides containers
 	  and algorithms which model a "URL," more formally described
@@ -382,9 +376,9 @@ config BR2_PACKAGE_BOOST_WAVE
 	depends on !BR2_m68k_cf
 	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
 	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
-	select BR2_PACKAGE_BOOST_DATE_TIME
+	select BR2_PACKAGE_BOOST_CONTAINER
 	select BR2_PACKAGE_BOOST_FILESYSTEM
-	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_BOOST_SERIALIZATION
 	select BR2_PACKAGE_BOOST_THREAD
 	help
 	  The Boost.Wave library is a Standards conformant, and highly
diff --git a/package/boost/boost.hash b/package/boost/boost.hash
index 14403758ac..2a76244a2e 100644
--- a/package/boost/boost.hash
+++ b/package/boost/boost.hash
@@ -1,5 +1,5 @@
-# From https://www.boost.org/users/history/version_1_83_0.html
-sha256  6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e  boost_1_83_0.tar.bz2
+# From https://www.boost.org/users/history/version_1_87_0.html
+sha256  af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89  boost_1_87_0.tar.bz2
 
 # Locally computed
 sha256  c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566  LICENSE_1_0.txt
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 6847ea5cfe..41a9b15ab3 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-BOOST_VERSION = 1.83.0
+BOOST_VERSION = 1.87.0
 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2
 BOOST_SITE = https://archives.boost.io/release/$(BOOST_VERSION)/source
 BOOST_INSTALL_STAGING = YES
@@ -21,39 +21,96 @@ BOOST_CPE_ID_VENDOR = boost
 # but no longer present in the newer Boost version, or libraries missing in
 # this list but present in that nwewer version.
 BOOST_ALL_LIBS = \
+	any \
+	asio \
+	assert \
 	atomic \
+	beast \
+	bimap \
+	bind \
+	charconv \
 	chrono \
+	cobalt \
+	compat \
 	container \
+	container_hash \
 	context \
 	contract \
+	conversion \
+	core \
 	coroutine \
+	coroutine2 \
+	crc \
 	date_time \
+	describe \
+	detail \
+	dll \
+	endian \
 	exception \
 	fiber \
 	filesystem \
+	flyweight \
+	function \
+	function_types \
+	geometry \
 	graph \
 	graph_parallel \
+	hana \
 	headers \
+	heap \
+	integer \
+	interprocess \
+	intrusive \
 	iostreams \
+	iterator \
 	json \
+	lambda2 \
+	lexical_cast \
 	locale \
+	lockfree \
 	log \
 	math \
+	move \
+	mp11 \
 	mpi \
+	msm \
+	multi_index \
+	mysql \
 	nowide \
+	optional \
+	outcome \
+	parameter \
+	pfr \
+	poly_collection \
+	predef \
+	process \
 	program_options \
 	python \
 	random \
+	ratio \
+	redis \
 	regex \
+	scope \
 	serialization \
+	signals2 \
+	smart_ptr \
 	stacktrace \
+	stl_interfaces \
 	system \
 	test \
 	thread \
+	throw_exception \
 	timer \
+	tuple \
 	type_erasure \
+	type_index \
+	unordered \
 	url \
-	wave
+	uuid \
+	variant \
+	variant2 \
+	wave \
+	winapi
 
 BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
 
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 24/29 v2] package/sdcc: new package
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (22 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 23/29 v2] package/boost: bump to version 1.87.0 Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 25/29 v2] package/sdcc: add option for the mcs51 (aka 8051) port Yann E. MORIN
                   ` (5 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Thomas Petazzoni

Although they are optional, most ports need sdcppp and sdbinutils,
especially when we later add an option to build the device libraries.
Furthermore, they are relatively quick to build. So, we always build
them unconditionally.

For now, we enable no port, to get a basic package. Enabling ports will
come in following commits [0].

To be noted: sdcc will hard-code its PREFIX/share/sdcc/ (from configure
--datadir and --datarootdir) as a search path to lok for its stdlib. It
also add a path relative ot where its executable is, i.e. something like
[...]/bin/../share/sdcc/ as an additional search path for additional
libraries. When PPD is enabled, PREFIX/share/sdcc/ is copied to the
depndee's PPD, so the stdlibs will be found in both locations, causing
sdld to eventually whine because of duplicate symbols:

    ?ASlink-Warning-Definition of public symbol '___sdcc_external_startup' found more than once:
       Library: '.../per-package/fx2lafw/host/bin/../share/sdcc/lib/small/libsdcc.lib', Module: '_startup.rel'
       Library: '.../per-package/host-sdcc/host/share/sdcc/lib/small/libsdcc.lib', Module: '_startup.rel'

As tested with fx2lafw (to come in a later commit), the generated
binaries are byte-for-byte identical whether PPD is enabled (duplicate
symbols) or not (no duplicate symbol).

The licensing terms are a bit hectic: the core of sdcc, the sdcc
compiler itself, is GPLv2, and the doc [1] adds "GPLv3 might apply
depending on the libraries used when building", which is a bit
ambiguous... GPLv3 is however the license for other parts of sdcc,
like the sdcpp preprocessor (derived from gcc), the sdbinutils (derived
from binutils), or the sdasXXX assemblers and sdld linker (derived from
an external package, asXXXX [2]). As sdld is always built, GPLv3 always
applies. One tool is under the zlib license. Others are disabled, so
their licensing terms do not apply (until we add options to enable
them).

[0] with all ports disabled as it is in this initial commit, sdcc will
    end up building some stuff at install time; this is not a problem in
    practice, as the default commands and flags all work nicely.
    Furthermore, the issue will disappear when we eventually add one
    port, in the following commit.
[1] the PDF rendered from the in-tree docs/dsccman.lyx, and of which the
    latest version is at https://sdcc.sourceforge.net/doc/sdccman.pdf,
    notably section 1.2, SDCC Suite Licenses.
[2] https://shop-pdp.net/ashtml/

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 DEVELOPERS                  |  3 ++
 package/Config.in.host      |  1 +
 package/sdcc/Config.in.host | 15 ++++++++
 package/sdcc/sdcc.hash      |  7 ++++
 package/sdcc/sdcc.mk        | 75 +++++++++++++++++++++++++++++++++++++
 5 files changed, 101 insertions(+)
 create mode 100644 package/sdcc/Config.in.host
 create mode 100644 package/sdcc/sdcc.hash
 create mode 100644 package/sdcc/sdcc.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 1c84f95943..b4250a5dbf 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3438,6 +3438,9 @@ F:	package/casync/
 F:	package/gloox/
 F:	package/tpm2-pkcs11/
 
+N:	Yann E. MORIN <yann.morin.1998@free.fr>
+F:	package/sdcc/
+
 N:	Yann E. MORIN <yann.morin@orange.com>
 F:	.editorconfig
 F:	package/gpsd/
diff --git a/package/Config.in.host b/package/Config.in.host
index 3e6fef9e50..d29fa33e27 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -109,6 +109,7 @@ menu "Host utilities"
 	source "package/sam-ba/Config.in.host"
 	source "package/sdbus-cpp/Config.in.host"
 	source "package/sdbusplus/Config.in.host"
+	source "package/sdcc/Config.in.host"
 	source "package/sentry-cli/Config.in.host"
 	source "package/skopeo/Config.in.host"
 	source "package/sloci-image/Config.in.host"
diff --git a/package/sdcc/Config.in.host b/package/sdcc/Config.in.host
new file mode 100644
index 0000000000..52934aa150
--- /dev/null
+++ b/package/sdcc/Config.in.host
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_HOST_SDCC
+	bool "host sdcc"
+	select BR2_PACKAGE_HOST_BOOST
+	select BR2_PACKAGE_HOST_BOOST_GRAPH
+	help
+	  SDCC is a retargettable, optimizing Standard C (ANSI C89, ISO
+	  C99, ISO C11, ISO C23) compiler suite that targets the Intel
+	  MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.),
+	  Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly
+	  Motorola) HC08 based (hc08, s08), Zilog Z80 based MCUs (Z80,
+	  Z180, SM83, Rabbit 2000, 2000A, 3000A, TLCS-90, R800), Padauk
+	  (pdk14, pdk15), STMicroelectronics STM8, MOS 6502 and WDC
+	  65C02.
+
+	  https://sdcc.sourceforge.net/
diff --git a/package/sdcc/sdcc.hash b/package/sdcc/sdcc.hash
new file mode 100644
index 0000000000..ef5ceb686a
--- /dev/null
+++ b/package/sdcc/sdcc.hash
@@ -0,0 +1,7 @@
+# From sourceforge
+sha1  ffc600a471b2684a3b268859b038487e43b811ed  sdcc-src-4.5.0.tar.bz2
+# Locally computed
+sha256  d5030437fb436bb1d93a8dbdbfb46baaa60613318f4fb3f5871d72815d1eed80  sdcc-src-4.5.0.tar.bz2
+sha256  1ca3e8f71b7de618968e7ea9fe47822d9e704dc476aef8544033abedec355225  COPYING
+sha256  c23d0df4adc62b3f7cddcf96bec64e7100bfe7671eefe2ce31b9ace366fcc001  LICENSE
+sha256  39c81a22595e472dcae2caf7b1a4009a9bbaad7b043d800a5af0631c612961af  doc/README.txt
diff --git a/package/sdcc/sdcc.mk b/package/sdcc/sdcc.mk
new file mode 100644
index 0000000000..b2082c36bc
--- /dev/null
+++ b/package/sdcc/sdcc.mk
@@ -0,0 +1,75 @@
+################################################################################
+#
+# sdcc
+#
+################################################################################
+
+SDCC_VERSION = 4.5.0
+SDCC_SOURCE = sdcc-src-$(SDCC_VERSION).tar.bz2
+SDCC_SITE = https://downloads.sourceforge.net/project/sdcc/sdcc/$(SDCC_VERSION)
+
+SDCC_LICENSE = \
+	GPL-2.0-only (sdcc), \
+	GPL-3.0-or-later (sdcpp, sdas, sdld), \
+	Zlib (makebin)
+
+# doc/README.txt refers to dccman.pdf for the whole licensing information,
+# but that's a generated file, so we can't add it to the license files.
+SDCC_LICENSE_FILES = \
+	COPYING \
+	LICENSE \
+	doc/README.txt
+
+HOST_SDCC_DEPENDENCIES = \
+	$(BR2_PYTHON3_HOST_DEPENDENCY) \
+	host-bison \
+	host-flex \
+	host-gawk \
+	host-zlib \
+	host-boost
+
+# ccache is handled by Buildroot and included in $(HOSTCC)
+HOST_SDCC_CONF_OPTS = \
+	--without-ccache \
+	--disable-doc \
+	--disable-device-lib \
+	--disable-non-free \
+	--disable-libgc
+
+# Keep utilities separate, and alphabeticaly ordered.
+HOST_SDCC_CONF_OPTS += \
+	--enable-sdbinutils \
+	--enable-sdcpp \
+	--disable-packihx \
+	--disable-sdcdb \
+	--disable-ucsim
+
+# Keep the list of ports separate, and alphabetically ordered.
+HOST_SDCC_CONF_OPTS += \
+	--disable-ds390-port \
+	--disable-ds400-port \
+	--disable-ez80_z80-port \
+	--disable-f8-port \
+	--disable-hc08-port \
+	--disable-mcs51-port \
+	--disable-mos6502-port \
+	--disable-mos65c02-port \
+	--disable-pdk13-port \
+	--disable-pdk14-port \
+	--disable-pdk15-port \
+	--disable-pdk16-port \
+	--disable-pic14-port \
+	--disable-pic16-port \
+	--disable-r2k-port \
+	--disable-r2ka-port \
+	--disable-r3ka-port \
+	--disable-r800-port \
+	--disable-s08-port \
+	--disable-sm83-port \
+	--disable-stm8-port \
+	--disable-tlcs90-port \
+	--disable-z180-port \
+	--disable-z80-port \
+	--disable-z80n-port
+
+$(eval $(host-autotools-package))
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 25/29 v2] package/sdcc: add option for the mcs51 (aka 8051) port
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (23 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 24/29 v2] package/sdcc: new package Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 26/29 v2] package/sdcc: add option for the z80 port Yann E. MORIN
                   ` (4 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

Enabling a port enables the assembler for that port; the other utilities
(sdcpp, sdbinutils) are always built.

We make it so that at least one port is enabled, otherwise it does not
make much sense to enable sdcc [0]. Also, without any port enabled,
some parts of sdcc (e.g. sdld) get compiled at install time, which is
incorrect (but by luck just happens to use the proper tools and compile
flags).

The mcs51 port is the first one that will be needed (for fx2lafw in a
following commit). So we make that the default port to use if no other
is enabled (another port will be added soon, too, so we get ready for
that right now).

[0] there is one utility, packihx, that could be used without any port
enabled, but that was not deemed an interesting-enough use-case to
support.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/sdcc/Config.in.host | 16 ++++++++++++++++
 package/sdcc/sdcc.mk        |  2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/package/sdcc/Config.in.host b/package/sdcc/Config.in.host
index 52934aa150..1c851951b8 100644
--- a/package/sdcc/Config.in.host
+++ b/package/sdcc/Config.in.host
@@ -2,6 +2,7 @@ config BR2_PACKAGE_HOST_SDCC
 	bool "host sdcc"
 	select BR2_PACKAGE_HOST_BOOST
 	select BR2_PACKAGE_HOST_BOOST_GRAPH
+	select BR2_PACKAGE_HOST_SDCC_MCS51 if !BR2_PACKAGE_HOST_SDCC_HAS_PORT
 	help
 	  SDCC is a retargettable, optimizing Standard C (ANSI C89, ISO
 	  C99, ISO C11, ISO C23) compiler suite that targets the Intel
@@ -13,3 +14,18 @@ config BR2_PACKAGE_HOST_SDCC
 	  65C02.
 
 	  https://sdcc.sourceforge.net/
+
+if BR2_PACKAGE_HOST_SDCC
+
+comment "Ports"
+
+config BR2_PACKAGE_HOST_SDCC_HAS_PORT
+	bool
+
+config BR2_PACKAGE_HOST_SDCC_MCS51
+	bool "mcs51 (8051 et al.)"
+	help
+	  Add support for Intel MCS-51 based Microprocessors (8031,
+	  8032, 8051, 8052, etc.),
+
+endif
diff --git a/package/sdcc/sdcc.mk b/package/sdcc/sdcc.mk
index b2082c36bc..60ed688ce4 100644
--- a/package/sdcc/sdcc.mk
+++ b/package/sdcc/sdcc.mk
@@ -51,7 +51,7 @@ HOST_SDCC_CONF_OPTS += \
 	--disable-ez80_z80-port \
 	--disable-f8-port \
 	--disable-hc08-port \
-	--disable-mcs51-port \
+	$(if $(BR2_PACKAGE_HOST_SDCC_MCS51),--enable,--disable)-mcs51-port \
 	--disable-mos6502-port \
 	--disable-mos65c02-port \
 	--disable-pdk13-port \
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 26/29 v2] package/sdcc: add option for the z80 port
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (24 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 25/29 v2] package/sdcc: add option for the mcs51 (aka 8051) port Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 27/29 v2] package/sdcc: add option for the device lib Yann E. MORIN
                   ` (3 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The z80 is a common microprocessor familly, and although it is currently
unused in Buildroot, it makes sense to enable to demonstrate how to
enable ports other than the mcs51.

Note that we decided to add a single option that enables all the
variants of z80, rather than one for each variant: this only installs a
single additional program that handles all z80 variants anyway. When the
device libs are enabled, one set of libs is installed for each variant,
though they are small enough that it does not warrant adding an option
for each variant.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/sdcc/Config.in.host | 8 ++++++++
 package/sdcc/sdcc.mk        | 8 ++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/package/sdcc/Config.in.host b/package/sdcc/Config.in.host
index 1c851951b8..711da37444 100644
--- a/package/sdcc/Config.in.host
+++ b/package/sdcc/Config.in.host
@@ -28,4 +28,12 @@ config BR2_PACKAGE_HOST_SDCC_MCS51
 	  Add support for Intel MCS-51 based Microprocessors (8031,
 	  8032, 8051, 8052, etc.),
 
+config BR2_PACKAGE_HOST_SDCC_Z80
+	bool "z80 (et al.)"
+	select BR2_PACKAGE_HOST_SDCC_HAS_PORT
+	help
+	  Add support for Zilog Z80 based MCUs (Z80, Z180, eZ80 in Z80
+	  mode, SM83, Rabbit 2000/3000, Rabbit 3000A , Toshiba TLCS-90,
+	  Zilog eZ80 in Z80 mode, ASCII R800),
+
 endif
diff --git a/package/sdcc/sdcc.mk b/package/sdcc/sdcc.mk
index 60ed688ce4..8e5032427f 100644
--- a/package/sdcc/sdcc.mk
+++ b/package/sdcc/sdcc.mk
@@ -48,7 +48,7 @@ HOST_SDCC_CONF_OPTS += \
 HOST_SDCC_CONF_OPTS += \
 	--disable-ds390-port \
 	--disable-ds400-port \
-	--disable-ez80_z80-port \
+	$(if $(BR2_PACKAGE_HOST_SDCC_Z80),--enable,--disable)-ez80_z80-port \
 	--disable-f8-port \
 	--disable-hc08-port \
 	$(if $(BR2_PACKAGE_HOST_SDCC_MCS51),--enable,--disable)-mcs51-port \
@@ -68,8 +68,8 @@ HOST_SDCC_CONF_OPTS += \
 	--disable-sm83-port \
 	--disable-stm8-port \
 	--disable-tlcs90-port \
-	--disable-z180-port \
-	--disable-z80-port \
-	--disable-z80n-port
+	$(if $(BR2_PACKAGE_HOST_SDCC_Z80),--enable,--disable)-z180-port \
+	$(if $(BR2_PACKAGE_HOST_SDCC_Z80),--enable,--disable)-z80-port \
+	$(if $(BR2_PACKAGE_HOST_SDCC_Z80),--enable,--disable)-z80n-port
 
 $(eval $(host-autotools-package))
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw)
@ 2025-04-09 20:03 Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support Yann E. MORIN
                   ` (29 more replies)
  0 siblings, 30 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot
  Cc: Kamel Bouhara, Ricardo Martincoski, Klaus Heinrich Kiwi,
	Julien Olivain, Thomas Petazzoni, Yann E . MORIN

Hello All!

This series aims at making the pulseview and other sigrok-related
packages more integrated. The series is articulated around three main
goals, the details of which are expanded later:
 1. cleanup and extend pulseview dependencies, notably the need for
    fonts;
 2. extend the boost package, for a better host variant, and better
    maintainability;
 3. introduce sdcc and fx2lafw, to allow use of Cypress FX2-based logic
    analyzers.

Below are the details of the series, starting with the utimate goal, and
then going backward with its dependencies and the foundational changes
it required (i.e. git-log style).

fx2lafw is "an open-source firmware for Cypress FX2 chips which makes
them usable as simple logic analyzer and/or oscilloscope hardware.
It is licensed under the terms of the GNU GPL (version 2, or later)"
[0], so we want to be able to build it (rather than use the pre-built
blobs).

To build fx2lafw, we need host-sdcc, "a retargettable, optimizing
standard C [..] compiler that targets a growing list of architectures
[...] microprocessors" [1]. sdcc contains a few utilities, that are not
all always needed, and can target many architectures, that too are not
all always needed. So we introduce a basic sdcc package, and add options
for those few features and ports we need as a we go.

To introduce host-sdcc, first some changes in how we handle host-boost
are needed: indeed, host-sdcc needs yet another boost library, but we do
not want to enable it unless sdcc is actually enabled. So, we extend the
host-boost variant to have configurable options, that host packages,
when they are enabled, can select. This causes a bit of preparatory
churn in the few packages that do.

Then we rework the way the boost libraries are handled, so that it is
easier to update the list for both the target and host variants in one
go, which we exercise and demonstrate by indeed actually bumping Boost
to the latest release. Note that the next release is expected any day
soon... With a bit (a lot!) of luck, this series can prove to make that
bump easier...

To support this new use-case, where some Kconfig symbol are voluntarily
not explicitly referenced, we extend check-symbol to recognise symbol
definitions that should be ignored.

Now, pulseview, the Qt5-based UI for th esigrok ecosystem, is brought
up to more up-to-date dependency handling, and new dependecies are added
to ensure fonts are available at runtime. This is achieved by adding a
pseduo-package (by lack of better infra and wording) that ensure that at
least one font is actually installed.

This eventually led to some minor fixes in two font packages, that could
be configured to install nothing.

Finally, a trivial missing runtime dependency is added to
libsigrokdecode, which contains protocol decoders for the other sigrok
packages.

[0] https://sigrok.org/wiki/Fx2lafw
[1] https://sourceforge.net/projects/sdcc/

PS. This is a huge series, that's true. It all started "just" because I
wanted to build and install the fx2lafw firmwares, which ultimately
build in "just" a few seconds, and install "just" about 160kiB... And
from fx2lafw, it all snowballed to this huge series...

Changes v1 -> v2;
  - beter explain how to update the list of Boost libs
  - a few typoes in commit logs here and there...

Regards,
Yann E. MORIN.


----------------------------------------------------------------
Yann E. MORIN (29):
      package/libsigrokdecode: needs python3 w/ zlib support
      package/dejavu: update homepage
      package/dejavu: ensure at least one typeface is installed
      package/liberation: ensure at least one typeface is installed
      package/some-font: new pseudo-package
      package/pulseview: fix, update, and reorganise dependencies
      package/pulseview: needs some font, and fontconfig support in qt5base
      package/boost: move host variables closer together
      package/boost: move taget library selection variables closer together
      package/boost: prepare for a configurable host variant
      package/boost: add host symbol
      package/libodb-boost: afirm host-boost dependency for host variant
      package/thrift: afirm host-boost dependency for host variant
      package/riscv-isa-sim: afirm host-boost dependency
      pakcage/boost: make host variant slightly configurable
      utils/check-symbols: allow ignoring some defined-but-unused symbols
      package/boost: commonalise list of libs
      package/boost: add graph option for host variant
      package/boost: headers-only libs are always installed
      package/boost: check that known libs match Boost's list
      package/boost: use positive logic to enable libraries
      package/boost: explain how to maintain the list of libraries
      package/boost: bump to version 1.87.0
      package/sdcc: new package
      package/sdcc: add option for the mcs51 (aka 8051) port
      package/sdcc: add option for the z80 port
      package/sdcc: add option for the device lib
      support/download/git: use FOO_DL_OPTS
      package/fx2lafw: new package

 DEVELOPERS                                         |   4 +
 docs/manual/adding-packages-generic.adoc           |   4 +-
 package/Config.in                                  |   3 +
 package/Config.in.host                             |   2 +
 package/bitstream-vera/Config.in                   |   1 +
 package/boost/0001-unordered-fix-copy-assign.patch |  22 ---
 package/boost/Config.in                            |  43 +++---
 package/boost/Config.in.host                       |  18 +++
 package/boost/boost.hash                           |   4 +-
 package/boost/boost.mk                             | 166 +++++++++++++++------
 package/cantarell/Config.in                        |   1 +
 package/dejavu/Config.in                           |  11 +-
 package/font-awesome/Config.in                     |   1 +
 package/fx2lafw/Config.in                          |  11 ++
 package/fx2lafw/fx2lafw.hash                       |   5 +
 package/fx2lafw/fx2lafw.mk                         |  21 +++
 package/ghostscript-fonts/Config.in                |   1 +
 package/inconsolata/Config.in                      |   1 +
 package/liberation/Config.in                       |   6 +
 package/libodb-boost/Config.in.host                |   3 +
 package/libsigrokdecode/Config.in                  |   1 +
 package/odb/Config.in.host                         |   1 +
 package/pulseview/Config.in                        |  44 +++---
 package/riscv-isa-sim/Config.in.host               |   3 +
 package/sdcc/Config.in.host                        |  44 ++++++
 package/sdcc/sdcc.hash                             |   7 +
 package/sdcc/sdcc.mk                               |  92 ++++++++++++
 package/some-font/Config.in                        |  17 +++
 package/thrift/Config.in                           |   1 +
 package/thrift/Config.in.host                      |   3 +
 package/wqy-zenhei/Config.in                       |   1 +
 support/download/git                               |   6 +-
 utils/check-symbols                                |   9 +-
 utils/checksymbolslib/br.py                        |   1 +
 utils/checksymbolslib/db.py                        |  61 +++++++-
 utils/checksymbolslib/kconfig.py                   |  18 +++
 utils/checksymbolslib/test_db.py                   |  17 +++
 utils/checksymbolslib/test_kconfig.py              |  63 +++++++-
 38 files changed, 597 insertions(+), 120 deletions(-)
 delete mode 100644 package/boost/0001-unordered-fix-copy-assign.patch
 create mode 100644 package/boost/Config.in.host
 create mode 100644 package/fx2lafw/Config.in
 create mode 100644 package/fx2lafw/fx2lafw.hash
 create mode 100644 package/fx2lafw/fx2lafw.mk
 create mode 100644 package/libodb-boost/Config.in.host
 create mode 100644 package/sdcc/Config.in.host
 create mode 100644 package/sdcc/sdcc.hash
 create mode 100644 package/sdcc/sdcc.mk
 create mode 100644 package/some-font/Config.in
 create mode 100644 package/thrift/Config.in.host

--
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 27/29 v2] package/sdcc: add option for the device lib
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (25 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 26/29 v2] package/sdcc: add option for the z80 port Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-09 20:03 ` [Buildroot] [PATCH 28/29 v2] support/download/git: use FOO_DL_OPTS Yann E. MORIN
                   ` (2 subsequent siblings)
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

This enables the "stdlib"-like set of libraries for the enabled ports
and for the various memory models supported by each port.

For some ports, there are non-fee libraries (and includes) available.
However, their licensing terms are dubious, and they are only available
for the PIC ports which we currently do not enable in Buildroot. So we
do not enable those non-free stuff.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/sdcc/Config.in.host |  5 +++++
 package/sdcc/sdcc.mk        | 21 +++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/package/sdcc/Config.in.host b/package/sdcc/Config.in.host
index 711da37444..56ac8c7ed1 100644
--- a/package/sdcc/Config.in.host
+++ b/package/sdcc/Config.in.host
@@ -36,4 +36,9 @@ config BR2_PACKAGE_HOST_SDCC_Z80
 	  mode, SM83, Rabbit 2000/3000, Rabbit 3000A , Toshiba TLCS-90,
 	  Zilog eZ80 in Z80 mode, ASCII R800),
 
+comment "libraries"
+
+config BR2_PACKAGE_HOST_SDCC_DEV_LIB
+	bool "device-lib"
+
 endif
diff --git a/package/sdcc/sdcc.mk b/package/sdcc/sdcc.mk
index 8e5032427f..0e2de37748 100644
--- a/package/sdcc/sdcc.mk
+++ b/package/sdcc/sdcc.mk
@@ -32,8 +32,6 @@ HOST_SDCC_DEPENDENCIES = \
 HOST_SDCC_CONF_OPTS = \
 	--without-ccache \
 	--disable-doc \
-	--disable-device-lib \
-	--disable-non-free \
 	--disable-libgc
 
 # Keep utilities separate, and alphabeticaly ordered.
@@ -72,4 +70,23 @@ HOST_SDCC_CONF_OPTS += \
 	$(if $(BR2_PACKAGE_HOST_SDCC_Z80),--enable,--disable)-z80-port \
 	$(if $(BR2_PACKAGE_HOST_SDCC_Z80),--enable,--disable)-z80n-port
 
+ifeq ($(BR2_PACKAGE_HOST_SDCC_DEV_LIB),y)
+SDCC_LICENSE += \
+	, GPL-2.0-only with Library Exception (device libraries)
+
+HOST_SDCC_CONF_OPTS += \
+	--enable-device-lib \
+	--disable-non-free
+define HOST_SDCC_DEV_LIB_CLEAN
+	rm -rf $(HOST_DIR)/share/sdcc/lib/src
+	find $(HOST_DIR)/share/sdcc/include $(HOST_DIR)/share/sdcc/lib \
+		-depth -type d -empty -delete
+endef
+HOST_SDCC_POST_INSTALL_HOOKS += HOST_SDCC_DEV_LIB_CLEAN
+else
+HOST_SDCC_CONF_OPTS += \
+	--disable-device-lib \
+	--disable-non-free
+endif
+
 $(eval $(host-autotools-package))
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 28/29 v2] support/download/git: use FOO_DL_OPTS
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (26 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 27/29 v2] package/sdcc: add option for the device lib Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
  2025-04-09 20:03 ` [Buildroot] [PATCH 29/29 v2] package/fx2lafw: new package Yann E. MORIN
  2025-04-19 15:17 ` [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Thomas Petazzoni via buildroot
  29 siblings, 1 reply; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN

The manual states that FOO_DL_OPTS are valid for all the different
download backends, but that is not the case: at least the git backend
does not use them (it does not fail, it just ignores them).

Accept FOO_DL_OPTS in the git backend, and pass them to 'git fetch'.
There is no way that we can pass such options to submodules or lfs,
though.

Update the manual accordingly.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 docs/manual/adding-packages-generic.adoc | 4 +++-
 support/download/git                     | 6 +++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc
index f0b0508f53..7e2e066c16 100644
--- a/docs/manual/adding-packages-generic.adoc
+++ b/docs/manual/adding-packages-generic.adoc
@@ -270,7 +270,9 @@ not and can not work as people would expect it should:
   server-side checking for user logins and passwords, or to use a proxy.
   All download methods valid for +LIBFOO_SITE_METHOD+ are supported;
   valid options depend on the download method (consult the man page
-  for the respective download utilities).
+  for the respective download utilities). For git, +FOO_DL_OPTS+ will
+  only be passed to `git fetch` and no other git command (esp. not to
+  `git lfs fetch` or `git submodule update`).
 
 * +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional
   files that Buildroot should download. If an entry contains +://+
diff --git a/support/download/git b/support/download/git
index 8123bc3153..fdc00607cc 100755
--- a/support/download/git
+++ b/support/download/git
@@ -133,8 +133,8 @@ fi
 _git remote set-url origin "'${uri}'"
 
 printf "Fetching all references\n"
-_git fetch origin
-_git fetch origin -t -f
+_git fetch "${@}" origin
+_git fetch "${@}" origin -t -f
 
 # Try to get the special refs exposed by some forges (pull-requests for
 # github, changes for gerrit...). There is no easy way to know whether
@@ -143,7 +143,7 @@ _git fetch origin -t -f
 # below, if there is an issue anyway. Since most of the cset we're gonna
 # have to clone are not such special refs, consign the output to oblivion
 # so as not to alarm unsuspecting users, but still trace it as a warning.
-if ! _git fetch origin "'${cset}:${cset}'" >/dev/null 2>&1; then
+if ! _git fetch "${@}" origin "'${cset}:${cset}'" >/dev/null 2>&1; then
     printf "Could not fetch special ref '%s'; assuming it is not special.\n" "${cset}"
 fi
 
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH 29/29 v2] package/fx2lafw: new package
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (27 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 28/29 v2] support/download/git: use FOO_DL_OPTS Yann E. MORIN
@ 2025-04-09 20:03 ` Yann E. MORIN
  2025-04-19 15:17 ` [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Thomas Petazzoni via buildroot
  29 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-09 20:03 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Thomas Petazzoni

fx2lafw (FX2 logic analyser firmware) is a set of firmware files for
FX2- or FX2L-based logic analysers. It is developped by the Sigrok
project.

The latest release, 0.1.7, is more than 5 years old now, and no longer
builds with recent sdcc versions (starting with 4.2.3). The git tree has
fixes for those build failures. Rather than backport the 4 commits of
interest, just use the git tree directly: it contains another unrelated
fix, a few documentation changes, and two new firmwares. Also, given the
git tree has not been touched since early 2024, and given the frequency
of releases before that, don't wait to get those two new firmwares.

fx2lafw bundles fx2lib. Usually, we'd avoid using a bundled version, but
in this case, it is an old version, and anyway fx2lafw can't use a
pre-installed version. The probability that another package would use
fx2lib is extra slim as well; if we eventually get one, the chances it
also bundles its own copy are also relatively high. And finally, fx2lib
runs on a separate microcontroller, not on the target's main CPU, so it
can't be shared to any "real target" package. There is no reason to
expand the efforts to unbundle it.

sigrok.org's IPv6 is unresponsive, and as it is the first one tried when
connecting, this causes a huge delay when fetching; indeed, our git
backend does at least three git-fetch, each timing out after ~135s, for
a total of ~400s, plus the time of download (which is fortunately rather
small for this package). So, force use of IPv4.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 DEVELOPERS                   |  1 +
 package/Config.in            |  1 +
 package/fx2lafw/Config.in    | 11 +++++++++++
 package/fx2lafw/fx2lafw.hash |  5 +++++
 package/fx2lafw/fx2lafw.mk   | 21 +++++++++++++++++++++
 5 files changed, 39 insertions(+)
 create mode 100644 package/fx2lafw/Config.in
 create mode 100644 package/fx2lafw/fx2lafw.hash
 create mode 100644 package/fx2lafw/fx2lafw.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index b4250a5dbf..ccc1f0c61a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3439,6 +3439,7 @@ F:	package/gloox/
 F:	package/tpm2-pkcs11/
 
 N:	Yann E. MORIN <yann.morin.1998@free.fr>
+F:	package/fx2lafw/
 F:	package/sdcc/
 
 N:	Yann E. MORIN <yann.morin@orange.com>
diff --git a/package/Config.in b/package/Config.in
index 28bdae9c1b..9e2e63b144 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -445,6 +445,7 @@ menu "Firmware"
 	source "package/armbian-firmware/Config.in"
 	source "package/b43-firmware/Config.in"
 	source "package/brcmfmac_sdio-firmware-rpi/Config.in"
+	source "package/fx2lafw/Config.in"
 	source "package/linux-firmware/Config.in"
 	source "package/murata-cyw-fw/Config.in"
 	source "package/nxp-bt-wifi-firmware/Config.in"
diff --git a/package/fx2lafw/Config.in b/package/fx2lafw/Config.in
new file mode 100644
index 0000000000..675750d114
--- /dev/null
+++ b/package/fx2lafw/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_FX2LAFW
+	bool "fx2lafw"
+	select BR2_PACKAGE_HOST_SDCC
+	select BR2_PACKAGE_HOST_SDCC_DEV_LIB
+	select BR2_PACKAGE_HOST_SDCC_MCS51
+	help
+	  fx2lafw is an open-source firmware for Cypress FX2 chips which
+	  makes them usable as simple logic analyzer and/or oscilloscope
+	  hardware.
+
+	  https://sigrok.org/wiki/Fx2lafw
diff --git a/package/fx2lafw/fx2lafw.hash b/package/fx2lafw/fx2lafw.hash
new file mode 100644
index 0000000000..d5709c0284
--- /dev/null
+++ b/package/fx2lafw/fx2lafw.hash
@@ -0,0 +1,5 @@
+# Locally computed
+sha256  8efa8c555384a463a50a0d8ff12dbe718308132fdcf0db0d45b1cadb0868f52f  fx2lafw-0f2d3242ffb5582e5b9a018ed9ae9812d517a56e-git4.tar.gz
+sha256  5081618178f9a8946720f37b898fb502a06d470092dbeb64041fa988a45aab8c  README
+sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  COPYING
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LESSER
diff --git a/package/fx2lafw/fx2lafw.mk b/package/fx2lafw/fx2lafw.mk
new file mode 100644
index 0000000000..0368208d85
--- /dev/null
+++ b/package/fx2lafw/fx2lafw.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# fx2lafw
+#
+################################################################################
+
+FX2LAFW_VERSION = 0f2d3242ffb5582e5b9a018ed9ae9812d517a56e
+FX2LAFW_SITE = git://sigrok.org/sigrok-firmware-fx2lafw
+
+# The IPv6 is unresponsive, causing huge delays during download, so force IPv4
+FX2LAFW_DL_OPTS = -4
+
+FX2LAFW_LICENSE = GPL-2.0-or-later, LGPL-2.1-or-later (fx2lib)
+FX2LAFW_LICENSE_FILES = README COPYING COPYING.LESSER
+
+FX2LAFW_DEPENDENCIES = host-sdcc
+
+# Straight our of git tree
+FX2LAFW_AUTORECONF = YES
+
+$(eval $(autotools-package))
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot]  [PATCH 23/29 v2] package/boost: bump to version 1.87.0
  2025-04-09 20:03 ` [Buildroot] [PATCH 23/29 v2] package/boost: bump to version 1.87.0 Yann E. MORIN
@ 2025-04-15  9:56   ` Michael Nosthoff via buildroot
  2025-04-15 19:46     ` Yann E. MORIN
  0 siblings, 1 reply; 47+ messages in thread
From: Michael Nosthoff via buildroot @ 2025-04-15  9:56 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

Hi Yann,

On Wednesday, April 09, 2025 22:03 CEST, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

Great that you took the time to clean up the boost package and bump it.

I had the bumping on my list for some time now but didn't manage to finish it due to the many C++03 deprecations in the last releases.
I discovered some issues with some boost internal dependencies. Especially troublesome was using a gcc < 6.0 where C++11 is not
set as default mode and the package pulling in the header dependency that required C++11 wasn't setting C++11 mode.

As I don't see any new BR2_TOOLCHAIN_GCC_AT_LEAST_* lines in the patch I assume you didn't look at this?

Here my list of packages that now require a newer C++ version (taken from the release notes):

now requiring C++11:
- asio
- atomic
- bind
- chrono
- crc
- filesystem
- format
- function
- log
- optional
- random
- ratio
- smartptr
- stacktrace
- system
- test
- thread
- typeindex
- typeof
- uuid
- variant

now requiring C++14:
- graph
- heap
- lockfree

Regards,
Michael

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 23/29 v2] package/boost: bump to version 1.87.0
  2025-04-15  9:56   ` Michael Nosthoff via buildroot
@ 2025-04-15 19:46     ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-15 19:46 UTC (permalink / raw)
  To: Michael Nosthoff; +Cc: buildroot

Michael, All,

On 2025-04-15 11:56 +0200, Michael Nosthoff spake thusly:
> On Wednesday, April 09, 2025 22:03 CEST, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> Great that you took the time to clean up the boost package and bump it.

And just right after I sent the series, they released boost 1.88.0!

I guess I'll have to eat my own dog food to prove that my cleanups and
rework do indeed make it easier to bump. ;-]

> I had the bumping on my list for some time now but didn't manage to
> finish it due to the many C++03 deprecations in the last releases.
> I discovered some issues with some boost internal dependencies.
> Especially troublesome was using a gcc < 6.0 where C++11 is not
> set as default mode and the package pulling in the header dependency
> that required C++11 wasn't setting C++11 mode.
> 
> As I don't see any new BR2_TOOLCHAIN_GCC_AT_LEAST_* lines in the
> patch I assume you didn't look at this?

Indeed I did not.

I first wanted to make it easier to test boost, but this package is just
insane.

Currently, to update the dependencies of libraries is very difficult,
especially to drop no-longer needed dependencies. For example, since
1.72.0, contract no longer needs system. With the current Config.in,
this is totally impossible to detect, so much so that it has lingered in
Buildroot up until now.

To properly detect that, we need to manually edit the Config.in, remove
all dependencies, and build (configure is enough) libs one by one until
one breaks, at which point we can add the required dependencies, and so
on and so forth until all libs are covered. Given the amount of libs in
1.87 and beyond, this is just an insane work...

And when we have a solution for that problem, then it becomes easier to
pass boost through the ./utils/test-pkg harness, to test-build libs one
by one to check whether they get new toolchain dependencies...

> Here my list of packages that now require a newer C++ version (taken
> from the release notes):
[--SNIP--]

Thanks, that's very useful information! I'll have a look at 1.88.0 to
update that list...

Thanks for the feedback! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support
  2025-04-09 20:03 ` [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support Yann E. MORIN
@ 2025-04-19 15:02   ` Thomas Petazzoni via buildroot
  2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-19 15:02 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

On Wed,  9 Apr 2025 22:03:16 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Some protocol decoders in libsigrokdecode need the zlib module:
> 
>     srd: ModuleNotFoundError: Failed to load decoder usb_power_delivery: import by name failed: No module named 'zlib'
>     srd: Traceback (most recent call last):
>       File "/usr/share/libsigrokdecode/decoders/usb_power_delivery/__init__.py", line 24, in <module>
>         from .pd import *
>       File "/usr/share/libsigrokdecode/decoders/usb_power_delivery/pd.py", line 24, in <module>
>         import zlib   # for crc32
>         ^^^^^^^^^^^
>     ModuleNotFoundError: No module named 'zlib'
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>  package/libsigrokdecode/Config.in | 1 +
>  1 file changed, 1 insertion(+)

Applied to master, 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] 47+ messages in thread

* Re: [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage
  2025-04-09 20:03 ` [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage Yann E. MORIN
@ 2025-04-19 15:02   ` Thomas Petazzoni via buildroot
  2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-19 15:02 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

On Wed,  9 Apr 2025 22:03:17 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> The currently referenced homepage is a cyber-squatter. Switch to the new
> official homepage.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>  package/dejavu/Config.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to master, 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] 47+ messages in thread

* Re: [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies
  2025-04-09 20:03 ` [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies Yann E. MORIN
@ 2025-04-19 15:04   ` Thomas Petazzoni via buildroot
  2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
  2 siblings, 0 replies; 47+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-19 15:04 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

On Wed,  9 Apr 2025 22:03:21 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> The dependencies for pulseview are not entirely clean:
>   - arch deps are not first;
>   - second-level inherited deps are listed;
>   - deps are not alphabetically ordered (for deps on packages);
>   - the comment is hidden even when the arch deps are met, because of an
>     incorrect dependency on Qt5;
>   - qt5 is a depends-on when it could be a select.
> 
> Update the dependencies to fix all the points above.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>  package/pulseview/Config.in | 42 ++++++++++++++++++-------------------
>  1 file changed, 21 insertions(+), 21 deletions(-)

Applied to master, 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] 47+ messages in thread

* Re: [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together
  2025-04-09 20:03 ` [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together Yann E. MORIN
@ 2025-04-19 15:10   ` Thomas Petazzoni via buildroot
  2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-19 15:10 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

On Wed,  9 Apr 2025 22:03:23 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Also, one item per line (chrono, container) in the list of libraries.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Nosthoff <buildroot@heine.tech>
> Cc: Yegor Yefremov <yegorslists@googlemail.com>
> ---
>  package/boost/boost.mk | 71 +++++++++++++++++++++---------------------
>  1 file changed, 36 insertions(+), 35 deletions(-)

Applied to master, 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] 47+ messages in thread

* Re: [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection variables closer together
  2025-04-09 20:03 ` [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection " Yann E. MORIN
@ 2025-04-19 15:10   ` Thomas Petazzoni via buildroot
  2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-19 15:10 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: buildroot

On Wed,  9 Apr 2025 22:03:24 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Nosthoff <buildroot@heine.tech>
> Cc: Yegor Yefremov <yegorslists@googlemail.com>
> ---
>  package/boost/boost.mk | 66 +++++++++++++++++++++---------------------
>  1 file changed, 33 insertions(+), 33 deletions(-)

Applied to master with the minor typo fixed in the commit message,
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] 47+ messages in thread

* Re: [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw)
  2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
                   ` (28 preceding siblings ...)
  2025-04-09 20:03 ` [Buildroot] [PATCH 29/29 v2] package/fx2lafw: new package Yann E. MORIN
@ 2025-04-19 15:17 ` Thomas Petazzoni via buildroot
  2025-04-20  8:09   ` Yann E. MORIN
  2025-04-20 13:01   ` Yann E. MORIN
  29 siblings, 2 replies; 47+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-19 15:17 UTC (permalink / raw)
  To: Yann E. MORIN
  Cc: Kamel Bouhara, Ricardo Martincoski, Klaus Heinrich Kiwi,
	Julien Olivain, buildroot, Romain Naour

Hello Yann,

On Wed,  9 Apr 2025 22:03:42 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> This series aims at making the pulseview and other sigrok-related
> packages more integrated. The series is articulated around three main
> goals, the details of which are expanded later:
>  1. cleanup and extend pulseview dependencies, notably the need for
>     fonts;
>  2. extend the boost package, for a better host variant, and better
>     maintainability;
>  3. introduce sdcc and fx2lafw, to allow use of Cypress FX2-based logic
>     analyzers.

Wow, this is a large series doing a lot of stuff. I already applied a
few of the preparation patches in order to reduce a bit the size of
your series.

Now, I have several concerns about different aspects of the series.
Nothing I am entirely against, just topics on which I am not 100% sure
on how we want to deal with them.

First topic is the some-font package and this whole idea that all font
packages should at least install some font. One thing that bothers me
is that fonts can be provided in different formats, and "some-font"
doesn't say which font format will be used/available. Should we make
this "some-ttf-font", or something like that? Is that even a mechanism
we want in Buildroot at all? Arnout, Peter, Julien, Romain, any opinion?

Second topic of concern is how you handle the host-boost dependency.
You add a "select BR2_PACKAGE_HOST_BOOST" to all packages that need
host-boost, adding hidden Config.in.host options for all of them. Is
this really what we want? So far, we have never required
BR2_PACKAGE_HOST_* options to be selected (think
BR2_PACKAGE_HOST_PKGCONF for example). So to stay consistent, I would
rather suggest that the BR2_PACKAGE_HOST_BOOST_<something> hidden
options that are needed get added and selected by whoever need them,
but BR2_PACKAGE_HOST_BOOST isn't needed, nor it is necessary for
packages to select it. Of course, unless we decide to bite the bullet
and have Config.in.host options for all host packages, always selected,
but that's a huge effort and complicated one (think host-cmake, which
may or may not be built depending on whether there is a suitable CMake
version on the host machine). Here as well, Peter, Arnout, Julien,
Romain, any opinion?

Best regards,

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] 47+ messages in thread

* Re: [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw)
  2025-04-19 15:17 ` [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Thomas Petazzoni via buildroot
@ 2025-04-20  8:09   ` Yann E. MORIN
  2025-04-20 13:01   ` Yann E. MORIN
  1 sibling, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-20  8:09 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Kamel Bouhara, Ricardo Martincoski, Klaus Heinrich Kiwi,
	Julien Olivain, buildroot, Romain Naour

Thomas, All,

On 2025-04-19 17:17 +0200, Thomas Petazzoni spake thusly:
> On Wed,  9 Apr 2025 22:03:42 +0200
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> > This series aims at making the pulseview and other sigrok-related
> > packages more integrated. The series is articulated around three main
> > goals, the details of which are expanded later:
> >  1. cleanup and extend pulseview dependencies, notably the need for
> >     fonts;
> >  2. extend the boost package, for a better host variant, and better
> >     maintainability;
> >  3. introduce sdcc and fx2lafw, to allow use of Cypress FX2-based logic
> >     analyzers.
> 
> Wow, this is a large series doing a lot of stuff.

Yes, but it is all related and triggered by the f2xlafw package coming
last in the series... So, a lot of different things, but to an ultimate
common goal.

> I already applied a
> few of the preparation patches in order to reduce a bit the size of
> your series.

\o/ :-)

> Now, I have several concerns about different aspects of the series.
> Nothing I am entirely against, just topics on which I am not 100% sure
> on how we want to deal with them.
> 
> First topic is the some-font package and this whole idea that all font
> packages should at least install some font. One thing that bothers me
> is that fonts can be provided in different formats, and "some-font"
> doesn't say which font format will be used/available. Should we make
> this "some-ttf-font", or something like that? Is that even a mechanism
> we want in Buildroot at all? Arnout, Peter, Julien, Romain, any opinion?

Yes, the some-font stuff is not what I am most proud of. If you have a
better idea on how to allow applications to request that some font be
available, or some refinements on my solutions, I'm all ears and eyes.

As for TTF vs fixed-width, I don't think that makes a difference.
Applicaitons usually use a font rendering library, like fontconfig and
harfbuzz et al. which would load and render text from whatever font they
are told to load, or that is available... In the very limited use-case I
had, running pulseview full-screen on framebuffer on rpi2, it was
working very well whatever the fonts that were installed (the text would
look slightly ugly/weird at times, but was rendered OK).

But I'm by far not an expert in fonts, so I may very well be talking
bullshit.

> Second topic of concern is how you handle the host-boost dependency.
> You add a "select BR2_PACKAGE_HOST_BOOST" to all packages that need
> host-boost, adding hidden Config.in.host options for all of them. Is
> this really what we want? So far, we have never required
> BR2_PACKAGE_HOST_* options to be selected (think
> BR2_PACKAGE_HOST_PKGCONF for example). So to stay consistent, I would
> rather suggest that the BR2_PACKAGE_HOST_BOOST_<something> hidden
> options that are needed get added and selected by whoever need them,
> but BR2_PACKAGE_HOST_BOOST isn't needed, nor it is necessary for
> packages to select it.

The thing is, if you look for example to the package host-odb, it does
not itself need host-boost, but it depends on libodb-boost, which does.
Today, libodb-boost does not need any of the boost extra libraries, but
if tomorrow it does, then without a host-libodb-boost Kconfig symbol, it
would be host-odb that would have to carry the selection of that extra
boost library; that does not sound too nice to me...

Second, if a package selects HOST_BOOST_BLAH, it is not too much of a
burden to also select _HOST_BOOST, I believe. I modeled that from the
host-python3 package: there is a main symbol that has to be selected
before sub-options can also be selected. Granted, host-python also has a
prompt and can be enabled on its own, which is not the case for
host-boost. However, I think it would be a little bit awkward to have
symbols for sub-options of a package that has no main symbol for
itself... (but if the consensus is to just drop the main symbol, and
just keep the rest of the symbols as-is for a configurable host variant,
I will not argue further, that would be fine for me as well).

> Of course, unless we decide to bite the bullet
> and have Config.in.host options for all host packages, always selected,
> but that's a huge effort and complicated one (think host-cmake, which
> may or may not be built depending on whether there is a suitable CMake
> version on the host machine).

We already talked about this and we already tried, but it really is way
too much to do; let's concentrate on those packages where that is
actually needed and/or makes sense and/or is not too much trouble...

However, to be honest, that is not the part of the boost changes I was
expecting the most comments about; I had rather expected some (very
needed!) questioning on that subset:

    utils/check-symbols: allow ignoring some defined-but-unused symbols
    package/boost: commonalise list of libs
    package/boost: check that known libs match Boost's list

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw)
  2025-04-19 15:17 ` [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Thomas Petazzoni via buildroot
  2025-04-20  8:09   ` Yann E. MORIN
@ 2025-04-20 13:01   ` Yann E. MORIN
  1 sibling, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2025-04-20 13:01 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Kamel Bouhara, Ricardo Martincoski, Klaus Heinrich Kiwi,
	Julien Olivain, buildroot, Romain Naour

Thomas, All,

On 2025-04-19 17:17 +0200, Thomas Petazzoni spake thusly:
> On Wed,  9 Apr 2025 22:03:42 +0200
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> > This series aims at making the pulseview and other sigrok-related
> > packages more integrated. The series is articulated around three main
> > goals, the details of which are expanded later:
> >  1. cleanup and extend pulseview dependencies, notably the need for
> >     fonts;
> >  2. extend the boost package, for a better host variant, and better
> >     maintainability;
> >  3. introduce sdcc and fx2lafw, to allow use of Cypress FX2-based logic
> >     analyzers.
[--SNIP--]
> First topic is the some-font package and this whole idea that all font
> packages should at least install some font.

I realise I did not address that first part earler, so there it is: if a
font package is enabled, then it does not make sense that it installs no
font at all; hence, when a package is enabled, we want to ensure that it
does by default install something.

This is the same situation as we get for other packages that may
optionally install multiple things, for exmple fftw, where we ensure at
least one variant thereof is enabled (commit 7883e559991); there are
quite a few other similar packages: civetweb, gkrellm, gpsd, jack2,
libcamera, libiio, linux-tools/hv, minetest, host-qemu, xen,
zxing-cpp...

This does not require that the 'some-font' pseudo-package be introduced,
by the way (but 'some-font' does require it, of course).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support
  2025-04-09 20:03 ` [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support Yann E. MORIN
  2025-04-19 15:02   ` Thomas Petazzoni via buildroot
@ 2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:40 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> Some protocol decoders in libsigrokdecode need the zlib module:
> 
>      srd: ModuleNotFoundError: Failed to load decoder usb_power_delivery: import by name failed: No module named 'zlib'
>      srd: Traceback (most recent call last):
>        File "/usr/share/libsigrokdecode/decoders/usb_power_delivery/__init__.py", line 24, in <module>
>          from .pd import *
>        File "/usr/share/libsigrokdecode/decoders/usb_power_delivery/pd.py", line 24, in <module>
>          import zlib   # for crc32
>          ^^^^^^^^^^^
>      ModuleNotFoundError: No module named 'zlib'
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
>   package/libsigrokdecode/Config.in | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/package/libsigrokdecode/Config.in b/package/libsigrokdecode/Config.in
> index b58c8a2a29..463cb25f28 100644
> --- a/package/libsigrokdecode/Config.in
> +++ b/package/libsigrokdecode/Config.in
> @@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBSIGROKDECODE
>   	depends on !BR2_STATIC_LIBS # python3
>   	select BR2_PACKAGE_LIBGLIB2
>   	select BR2_PACKAGE_PYTHON3
> +	select BR2_PACKAGE_PYTHON3_ZLIB  # runtime
>   	help
>   	  Libsigrokdecode is a shared library written in C, which
>   	  provides (streaming) protocol decoding functionality. Say

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage
  2025-04-09 20:03 ` [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage Yann E. MORIN
  2025-04-19 15:02   ` Thomas Petazzoni via buildroot
@ 2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:40 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> The currently referenced homepage is a cyber-squatter. Switch to the new
> official homepage.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
>   package/dejavu/Config.in | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/dejavu/Config.in b/package/dejavu/Config.in
> index 5d21e56088..ca549d30e4 100644
> --- a/package/dejavu/Config.in
> +++ b/package/dejavu/Config.in
> @@ -6,7 +6,7 @@ config BR2_PACKAGE_DEJAVU
>   	  maintaining the original look and feel through the process
>   	  of collaborative development, under a Free license.
>   
> -	  http://dejavu-fonts.org
> +	  https://dejavu-fonts.github.io/
>   
>   if BR2_PACKAGE_DEJAVU
>   

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies
  2025-04-09 20:03 ` [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies Yann E. MORIN
  2025-04-19 15:04   ` Thomas Petazzoni via buildroot
@ 2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
  2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
  2 siblings, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:40 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> The dependencies for pulseview are not entirely clean:
>    - arch deps are not first;
>    - second-level inherited deps are listed;
>    - deps are not alphabetically ordered (for deps on packages);
>    - the comment is hidden even when the arch deps are met, because of an
>      incorrect dependency on Qt5;
>    - qt5 is a depends-on when it could be a select.
> 
> Update the dependencies to fix all the points above.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>   package/pulseview/Config.in | 42 ++++++++++++++++++-------------------
>   1 file changed, 21 insertions(+), 21 deletions(-)
> 
> diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
> index f122551b9f..b1f9dc25d7 100644
> --- a/package/pulseview/Config.in
> +++ b/package/pulseview/Config.in
> @@ -1,40 +1,40 @@
>   config BR2_PACKAGE_PULSEVIEW
>   	bool "pulseview"
> -	depends on BR2_PACKAGE_QT5
> -	# libsigrok->libglib2:
> -	depends on BR2_USE_WCHAR
> -	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on BR2_USE_MMU
>   	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> -	depends on BR2_USE_MMU
> +	depends on BR2_USE_WCHAR  # libsigrok, qt5
> +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # qt5
>   	depends on BR2_INSTALL_LIBSTDCPP
> -	# libsigrok->libzip
> -	depends on !BR2_STATIC_LIBS
> -	# libsigrok
> -	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
> -	depends on BR2_HOST_GCC_AT_LEAST_4_9
>   	depends on BR2_ENABLE_LOCALE
> +	depends on !BR2_STATIC_LIBS # libsigrok, qt5
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigrok
> +	depends on BR2_HOST_GCC_AT_LEAST_5  # qt5
> +	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_BOOST_FILESYSTEM
> +	select BR2_PACKAGE_BOOST_SERIALIZATION
> +	select BR2_PACKAGE_BOOST_SYSTEM
>   	select BR2_PACKAGE_LIBSIGROK
>   	select BR2_PACKAGE_LIBSIGROKCXX
> -	select BR2_PACKAGE_QT5BASE_WIDGETS
> +	select BR2_PACKAGE_QT5
> +	select BR2_PACKAGE_QT5BASE
>   	select BR2_PACKAGE_QT5BASE_PNG
> +	select BR2_PACKAGE_QT5BASE_WIDGETS
>   	select BR2_PACKAGE_QT5SVG
>   	select BR2_PACKAGE_QT5TOOLS
>   	select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
> -	select BR2_PACKAGE_BOOST
> -	select BR2_PACKAGE_BOOST_FILESYSTEM
> -	select BR2_PACKAGE_BOOST_SYSTEM
> -	select BR2_PACKAGE_BOOST_SERIALIZATION
>   	help
>   	  PulseView is a Qt based logic analyzer, oscilloscope
>   	  and MSO GUI for sigrok.
>   
>   	  http://sigrok.org/wiki/PulseView
>   
> -comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 4.9"
> +comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5"
>   	depends on BR2_USE_MMU
> -	depends on BR2_PACKAGE_QT5
>   	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> -	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
> -		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
> -		|| BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
> -		!BR2_HOST_GCC_AT_LEAST_4_9
> +	depends on !BR2_USE_WCHAR \
> +		|| !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
> +		|| !BR2_INSTALL_LIBSTDCPP \
> +		|| !BR2_ENABLE_LOCALE \
> +		|| BR2_STATIC_LIBS \
> +		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
> +		|| !BR2_HOST_GCC_AT_LEAST_5

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies
  2025-04-09 20:03 ` [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies Yann E. MORIN
  2025-04-19 15:04   ` Thomas Petazzoni via buildroot
  2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
@ 2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
  2 siblings, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:41 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> The dependencies for pulseview are not entirely clean:
>    - arch deps are not first;
>    - second-level inherited deps are listed;
>    - deps are not alphabetically ordered (for deps on packages);
>    - the comment is hidden even when the arch deps are met, because of an
>      incorrect dependency on Qt5;
>    - qt5 is a depends-on when it could be a select.
> 
> Update the dependencies to fix all the points above.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
>   package/pulseview/Config.in | 42 ++++++++++++++++++-------------------
>   1 file changed, 21 insertions(+), 21 deletions(-)
> 
> diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
> index f122551b9f..b1f9dc25d7 100644
> --- a/package/pulseview/Config.in
> +++ b/package/pulseview/Config.in
> @@ -1,40 +1,40 @@
>   config BR2_PACKAGE_PULSEVIEW
>   	bool "pulseview"
> -	depends on BR2_PACKAGE_QT5
> -	# libsigrok->libglib2:
> -	depends on BR2_USE_WCHAR
> -	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on BR2_USE_MMU
>   	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> -	depends on BR2_USE_MMU
> +	depends on BR2_USE_WCHAR  # libsigrok, qt5
> +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # qt5
>   	depends on BR2_INSTALL_LIBSTDCPP
> -	# libsigrok->libzip
> -	depends on !BR2_STATIC_LIBS
> -	# libsigrok
> -	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
> -	depends on BR2_HOST_GCC_AT_LEAST_4_9
>   	depends on BR2_ENABLE_LOCALE
> +	depends on !BR2_STATIC_LIBS # libsigrok, qt5
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigrok
> +	depends on BR2_HOST_GCC_AT_LEAST_5  # qt5
> +	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_BOOST_FILESYSTEM
> +	select BR2_PACKAGE_BOOST_SERIALIZATION
> +	select BR2_PACKAGE_BOOST_SYSTEM
>   	select BR2_PACKAGE_LIBSIGROK
>   	select BR2_PACKAGE_LIBSIGROKCXX
> -	select BR2_PACKAGE_QT5BASE_WIDGETS
> +	select BR2_PACKAGE_QT5
> +	select BR2_PACKAGE_QT5BASE
>   	select BR2_PACKAGE_QT5BASE_PNG
> +	select BR2_PACKAGE_QT5BASE_WIDGETS
>   	select BR2_PACKAGE_QT5SVG
>   	select BR2_PACKAGE_QT5TOOLS
>   	select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
> -	select BR2_PACKAGE_BOOST
> -	select BR2_PACKAGE_BOOST_FILESYSTEM
> -	select BR2_PACKAGE_BOOST_SYSTEM
> -	select BR2_PACKAGE_BOOST_SERIALIZATION
>   	help
>   	  PulseView is a Qt based logic analyzer, oscilloscope
>   	  and MSO GUI for sigrok.
>   
>   	  http://sigrok.org/wiki/PulseView
>   
> -comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 4.9"
> +comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 7, host gcc >= 5"
>   	depends on BR2_USE_MMU
> -	depends on BR2_PACKAGE_QT5
>   	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> -	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
> -		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
> -		|| BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
> -		!BR2_HOST_GCC_AT_LEAST_4_9
> +	depends on !BR2_USE_WCHAR \
> +		|| !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
> +		|| !BR2_INSTALL_LIBSTDCPP \
> +		|| !BR2_ENABLE_LOCALE \
> +		|| BR2_STATIC_LIBS \
> +		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
> +		|| !BR2_HOST_GCC_AT_LEAST_5

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together
  2025-04-09 20:03 ` [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together Yann E. MORIN
  2025-04-19 15:10   ` Thomas Petazzoni via buildroot
@ 2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:41 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> Also, one item per line (chrono, container) in the list of libraries.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Nosthoff <buildroot@heine.tech>
> Cc: Yegor Yefremov <yegorslists@googlemail.com>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
>   package/boost/boost.mk | 71 +++++++++++++++++++++---------------------
>   1 file changed, 36 insertions(+), 35 deletions(-)
> 
> diff --git a/package/boost/boost.mk b/package/boost/boost.mk
> index c0d17f7670..044dd275b3 100644
> --- a/package/boost/boost.mk
> +++ b/package/boost/boost.mk
> @@ -12,41 +12,6 @@ BOOST_LICENSE = BSL-1.0
>   BOOST_LICENSE_FILES = LICENSE_1_0.txt
>   BOOST_CPE_ID_VENDOR = boost
>   
> -# keep host variant as minimal as possible
> -# regex & system are needed by host-riscv-isa-sim
> -HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
> -	--without-libraries=$(subst $(space),$(comma),\
> -	atomic \
> -	chrono container \
> -	context \
> -	contract \
> -	coroutine \
> -	date_time \
> -	exception \
> -	fiber \
> -	filesystem \
> -	graph \
> -	graph_parallel \
> -	iostreams \
> -	json \
> -	locale \
> -	log \
> -	math \
> -	mpi \
> -	nowide \
> -	program_options \
> -	python \
> -	random \
> -	serialization \
> -	stacktrace \
> -	test \
> -	thread \
> -	timer \
> -	type_erasure \
> -	url \
> -	wave\
> -	)
> -
>   BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
>   BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
>   BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
> @@ -103,6 +68,42 @@ BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MA
>   BOOST_DEPENDENCIES += python3
>   endif
>   
> +# keep host variant as minimal as possible
> +# regex & system are needed by host-riscv-isa-sim
> +HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
> +	--without-libraries=$(subst $(space),$(comma),\
> +	atomic \
> +	chrono \
> +	container \
> +	context \
> +	contract \
> +	coroutine \
> +	date_time \
> +	exception \
> +	fiber \
> +	filesystem \
> +	graph \
> +	graph_parallel \
> +	iostreams \
> +	json \
> +	locale \
> +	log \
> +	math \
> +	mpi \
> +	nowide \
> +	program_options \
> +	python \
> +	random \
> +	serialization \
> +	stacktrace \
> +	test \
> +	thread \
> +	timer \
> +	type_erasure \
> +	url \
> +	wave\
> +	)
> +
>   HOST_BOOST_OPTS += toolset=gcc threading=multi \
>   	variant=release link=shared runtime-link=shared -j$(PARALLEL_JOBS) -q \
>   	--ignore-site-config --layout=system --prefix=$(HOST_DIR) \

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection variables closer together
  2025-04-09 20:03 ` [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection " Yann E. MORIN
  2025-04-19 15:10   ` Thomas Petazzoni via buildroot
@ 2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:42 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Michael Nosthoff <buildroot@heine.tech>
> Cc: Yegor Yefremov <yegorslists@googlemail.com>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
>   package/boost/boost.mk | 66 +++++++++++++++++++++---------------------
>   1 file changed, 33 insertions(+), 33 deletions(-)
> 
> diff --git a/package/boost/boost.mk b/package/boost/boost.mk
> index 044dd275b3..1dcc4a4b3a 100644
> --- a/package/boost/boost.mk
> +++ b/package/boost/boost.mk
> @@ -12,39 +12,6 @@ BOOST_LICENSE = BSL-1.0
>   BOOST_LICENSE_FILES = LICENSE_1_0.txt
>   BOOST_CPE_ID_VENDOR = boost
>   
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FIBER),,fiber)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_JSON),,json)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_URL),,url)
> -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
> -
>   BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
>   
>   BOOST_FLAGS = --with-toolset=gcc
> @@ -152,6 +119,39 @@ endif
>   BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
>   endif
>   
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FIBER),,fiber)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_JSON),,json)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_URL),,url)
> +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
> +
>   BOOST_WITHOUT_FLAGS_COMMASEPARATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS)))
>   BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPARATED))
>   

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 28/29 v2] support/download/git: use FOO_DL_OPTS
  2025-04-09 20:03 ` [Buildroot] [PATCH 28/29 v2] support/download/git: use FOO_DL_OPTS Yann E. MORIN
@ 2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
  0 siblings, 0 replies; 47+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-02 10:42 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot



On 09/04/2025 22:03, Yann E. MORIN wrote:
> The manual states that FOO_DL_OPTS are valid for all the different
> download backends, but that is not the case: at least the git backend
> does not use them (it does not fail, it just ignores them).
> 
> Accept FOO_DL_OPTS in the git backend, and pass them to 'git fetch'.
> There is no way that we can pass such options to submodules or lfs,
> though.
> 
> Update the manual accordingly.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>

  Applied to 2025.02.x, thanks.

  Regards,
  Arnout

> ---
>   docs/manual/adding-packages-generic.adoc | 4 +++-
>   support/download/git                     | 6 +++---
>   2 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc
> index f0b0508f53..7e2e066c16 100644
> --- a/docs/manual/adding-packages-generic.adoc
> +++ b/docs/manual/adding-packages-generic.adoc
> @@ -270,7 +270,9 @@ not and can not work as people would expect it should:
>     server-side checking for user logins and passwords, or to use a proxy.
>     All download methods valid for +LIBFOO_SITE_METHOD+ are supported;
>     valid options depend on the download method (consult the man page
> -  for the respective download utilities).
> +  for the respective download utilities). For git, +FOO_DL_OPTS+ will
> +  only be passed to `git fetch` and no other git command (esp. not to
> +  `git lfs fetch` or `git submodule update`).
>   
>   * +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional
>     files that Buildroot should download. If an entry contains +://+
> diff --git a/support/download/git b/support/download/git
> index 8123bc3153..fdc00607cc 100755
> --- a/support/download/git
> +++ b/support/download/git
> @@ -133,8 +133,8 @@ fi
>   _git remote set-url origin "'${uri}'"
>   
>   printf "Fetching all references\n"
> -_git fetch origin
> -_git fetch origin -t -f
> +_git fetch "${@}" origin
> +_git fetch "${@}" origin -t -f
>   
>   # Try to get the special refs exposed by some forges (pull-requests for
>   # github, changes for gerrit...). There is no easy way to know whether
> @@ -143,7 +143,7 @@ _git fetch origin -t -f
>   # below, if there is an issue anyway. Since most of the cset we're gonna
>   # have to clone are not such special refs, consign the output to oblivion
>   # so as not to alarm unsuspecting users, but still trace it as a warning.
> -if ! _git fetch origin "'${cset}:${cset}'" >/dev/null 2>&1; then
> +if ! _git fetch "${@}" origin "'${cset}:${cset}'" >/dev/null 2>&1; then
>       printf "Could not fetch special ref '%s'; assuming it is not special.\n" "${cset}"
>   fi
>   

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2025-05-02 10:42 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09 20:03 [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 01/29 v2] package/libsigrokdecode: needs python3 w/ zlib support Yann E. MORIN
2025-04-19 15:02   ` Thomas Petazzoni via buildroot
2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
2025-04-09 20:03 ` [Buildroot] [PATCH 02/29 v2] package/dejavu: update homepage Yann E. MORIN
2025-04-19 15:02   ` Thomas Petazzoni via buildroot
2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
2025-04-09 20:03 ` [Buildroot] [PATCH 03/29 v2] package/dejavu: ensure at least one typeface is installed Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 04/29 v2] package/liberation: " Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 05/29 v2] package/some-font: new pseudo-package Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 06/29 v2] package/pulseview: fix, update, and reorganise dependencies Yann E. MORIN
2025-04-19 15:04   ` Thomas Petazzoni via buildroot
2025-05-02 10:40   ` Arnout Vandecappelle via buildroot
2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
2025-04-09 20:03 ` [Buildroot] [PATCH 07/29 v2] package/pulseview: needs some font, and fontconfig support in qt5base Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 08/29 v2] package/boost: move host variables closer together Yann E. MORIN
2025-04-19 15:10   ` Thomas Petazzoni via buildroot
2025-05-02 10:41   ` Arnout Vandecappelle via buildroot
2025-04-09 20:03 ` [Buildroot] [PATCH 09/29 v2] package/boost: move taget library selection " Yann E. MORIN
2025-04-19 15:10   ` Thomas Petazzoni via buildroot
2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
2025-04-09 20:03 ` [Buildroot] [PATCH 10/29 v2] package/boost: prepare for a configurable host variant Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 11/29 v2] package/boost: add host symbol Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 12/29 v2] package/libodb-boost: afirm host-boost dependency for host variant Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 13/29 v2] package/thrift: " Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 14/29 v2] package/riscv-isa-sim: afirm host-boost dependency Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 15/29 v2] pakcage/boost: make host variant slightly configurable Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 16/29 v2] utils/check-symbols: allow ignoring some defined-but-unused symbols Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 17/29 v2] package/boost: commonalise list of libs Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 18/29 v2] package/boost: add graph option for host variant Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 19/29 v2] package/boost: headers-only libs are always installed Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 20/29 v2] package/boost: check that known libs match Boost's list Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 21/29 v2] package/boost: use positive logic to enable libraries Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 22/29 v2] package/boost: explain how to maintain the list of libraries Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 23/29 v2] package/boost: bump to version 1.87.0 Yann E. MORIN
2025-04-15  9:56   ` Michael Nosthoff via buildroot
2025-04-15 19:46     ` Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 24/29 v2] package/sdcc: new package Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 25/29 v2] package/sdcc: add option for the mcs51 (aka 8051) port Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 26/29 v2] package/sdcc: add option for the z80 port Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 27/29 v2] package/sdcc: add option for the device lib Yann E. MORIN
2025-04-09 20:03 ` [Buildroot] [PATCH 28/29 v2] support/download/git: use FOO_DL_OPTS Yann E. MORIN
2025-05-02 10:42   ` Arnout Vandecappelle via buildroot
2025-04-09 20:03 ` [Buildroot] [PATCH 29/29 v2] package/fx2lafw: new package Yann E. MORIN
2025-04-19 15:17 ` [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw) Thomas Petazzoni via buildroot
2025-04-20  8:09   ` Yann E. MORIN
2025-04-20 13:01   ` Yann E. MORIN

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