From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: buildroot@buildroot.org
Cc: Kamel Bouhara <kamel.bouhara@gmail.com>,
Ricardo Martincoski <ricardo.martincoski@datacom.com.br>,
Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>,
Julien Olivain <ju.o@free.fr>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
"Yann E . MORIN" <yann.morin.1998@free.fr>
Subject: [Buildroot] [PATCH 00/29 v2] package: improve for better pulseview integration (branch yem/sdcc-fx2lafw)
Date: Wed, 9 Apr 2025 22:03:42 +0200 [thread overview]
Message-ID: <cover.1744229017.git.yann.morin.1998@free.fr> (raw)
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
next reply other threads:[~2025-04-09 20:03 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 20:03 Yann E. MORIN [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1744229017.git.yann.morin.1998@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=ju.o@free.fr \
--cc=kamel.bouhara@gmail.com \
--cc=klaus@linux.vnet.ibm.com \
--cc=ricardo.martincoski@datacom.com.br \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox