* [Buildroot] [PATCH RFC 0/2] Update package/rpi-rgb-led-matrix
@ 2025-12-26 16:07 J. Neuschäfer via buildroot
2025-12-26 16:07 ` [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers J. Neuschäfer via buildroot
2025-12-26 16:07 ` [Buildroot] [PATCH RFC 2/2] package/rpi-rgb-led-matrix: update to latest git version (2025-12-22) J. Neuschäfer via buildroot
0 siblings, 2 replies; 6+ messages in thread
From: J. Neuschäfer via buildroot @ 2025-12-26 16:07 UTC (permalink / raw)
To: buildroot
Cc: Angelo Compagnucci, Grzegorz Blach, James Hilliard,
J. Neuschäfer
This brings the rpi-rgb-led-matrix and python-rgbmatrix packages
up to date. One thing that stands out is the additional dependency
on python-pillow's libImaging headers, which requires:
1. the python-pillow package to install the headers somewhere
2. the python-rgbmatrix package to pick them up.
I've made an attempt at this, which works but doesn't seem optimal,
especially the fact that I'm installing to $(STAGING_DIR)/usr/include
rather than .../python$(PYTHON3_VERSION_MAJOR). Comments are appreciated.
Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net>
---
J. Neuschäfer (2):
package/python-pillow: install libImaging headers
package/rpi-rgb-led-matrix: update to latest git version (2025-12-22)
package/python-pillow/python-pillow.mk | 6 ++++++
package/python-rgbmatrix/Config.in | 1 +
package/python-rgbmatrix/python-rgbmatrix.hash | 2 +-
package/python-rgbmatrix/python-rgbmatrix.mk | 4 ++--
package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash | 2 +-
package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk | 2 +-
6 files changed, 12 insertions(+), 5 deletions(-)
---
base-commit: 61ca67a5b202c3b81089abc30f67aa88edf73dd2
change-id: 20251226-rgbmatrix-bump-f1e5ec424fd2
Best regards,
--
J. Neuschäfer <j.neuschaefer@gmx.net>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread* [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers 2025-12-26 16:07 [Buildroot] [PATCH RFC 0/2] Update package/rpi-rgb-led-matrix J. Neuschäfer via buildroot @ 2025-12-26 16:07 ` J. Neuschäfer via buildroot 2025-12-27 23:14 ` Thomas Petazzoni via buildroot 2025-12-26 16:07 ` [Buildroot] [PATCH RFC 2/2] package/rpi-rgb-led-matrix: update to latest git version (2025-12-22) J. Neuschäfer via buildroot 1 sibling, 1 reply; 6+ messages in thread From: J. Neuschäfer via buildroot @ 2025-12-26 16:07 UTC (permalink / raw) To: buildroot Cc: Angelo Compagnucci, Grzegorz Blach, James Hilliard, J. Neuschäfer python-rgbmatrix depends[1] on Imaging.h since commit bf45676 ("Refactor broken unsafe SetImagePillow()"). Debian only installs four headers[2], but this seems insufficient, because Imaging.h includes at least one header that is not on this list (Arrow.h). [1]: https://github.com/hzeller/rpi-rgb-led-matrix/pull/1818 [2]: https://sources.debian.org/src/pillow/12.0.0-1/debian/rules#L106 --- package/python-pillow/python-pillow.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index 80961b92a5..3ae4938dc5 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -12,6 +12,7 @@ PYTHON_PILLOW_LICENSE_FILES = LICENSE PYTHON_PILLOW_CPE_ID_VENDOR = python PYTHON_PILLOW_CPE_ID_PRODUCT = pillow PYTHON_PILLOW_SETUP_TYPE = setuptools +PYTHON_PILLOW_INSTALL_STAGING = YES PYTHON_PILLOW_DEPENDENCIES = host-pkgconf PYTHON_PILLOW_BUILD_OPTS = \ @@ -75,4 +76,9 @@ else PYTHON_PILLOW_BUILD_OPTS += -Czlib=disable endif +define PYTHON_PILLOW_INSTALL_LIBIMAGING_HEADERS_STAGING + $(INSTALL) -D -m 0644 -t $(STAGING_DIR)/usr/include $(@D)/src/libImaging/*.h +endef +PYTHON_PILLOW_POST_INSTALL_STAGING_HOOKS += PYTHON_PILLOW_INSTALL_LIBIMAGING_HEADERS_STAGING + $(eval $(python-package)) -- 2.51.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers 2025-12-26 16:07 ` [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers J. Neuschäfer via buildroot @ 2025-12-27 23:14 ` Thomas Petazzoni via buildroot 2025-12-28 18:53 ` J. Neuschäfer via buildroot 0 siblings, 1 reply; 6+ messages in thread From: Thomas Petazzoni via buildroot @ 2025-12-27 23:14 UTC (permalink / raw) To: J. Neuschäfer via buildroot Cc: J. Neuschäfer, Angelo Compagnucci, Grzegorz Blach, James Hilliard Hello J, Thanks for your patch! On Fri, 26 Dec 2025 17:07:10 +0100 J. Neuschäfer via buildroot <buildroot@buildroot.org> wrote: > python-rgbmatrix depends[1] on Imaging.h since commit bf45676 ("Refactor > broken unsafe SetImagePillow()"). You should clarify here: "and therefore changing python-pillow to install this header is needed prior to bumping python-rgbmatrix". > Debian only installs four headers[2], but this seems insufficient, > because Imaging.h includes at least one header that is not on this list > (Arrow.h). > > [1]: https://github.com/hzeller/rpi-rgb-led-matrix/pull/1818 Please point to the commit that has been merged, not some "random" PR. > [2]: https://sources.debian.org/src/pillow/12.0.0-1/debian/rules#L106 Please add your Signed-off-by line here. Curious: python-pillow would for me be a... Python module. And so would be python-rgbmatrix. But with your patch, we install some C/C++ headers. So python-pillow includes a native library, and python-rgbmatrix directly links against this library? How was it working prior to this change? Thanks! 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] 6+ messages in thread
* Re: [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers 2025-12-27 23:14 ` Thomas Petazzoni via buildroot @ 2025-12-28 18:53 ` J. Neuschäfer via buildroot 2025-12-28 19:09 ` Thomas Petazzoni via buildroot 0 siblings, 1 reply; 6+ messages in thread From: J. Neuschäfer via buildroot @ 2025-12-28 18:53 UTC (permalink / raw) To: Thomas Petazzoni Cc: J. Neuschäfer via buildroot, J. Neuschäfer, Angelo Compagnucci, Grzegorz Blach, James Hilliard On Sun, Dec 28, 2025 at 12:14:15AM +0100, Thomas Petazzoni wrote: > Hello J, > > Thanks for your patch! > > On Fri, 26 Dec 2025 17:07:10 +0100 > J. Neuschäfer via buildroot <buildroot@buildroot.org> wrote: > > > python-rgbmatrix depends[1] on Imaging.h since commit bf45676 ("Refactor > > broken unsafe SetImagePillow()"). > > You should clarify here: "and therefore changing python-pillow to > install this header is needed prior to bumping python-rgbmatrix". Will do > > > Debian only installs four headers[2], but this seems insufficient, > > because Imaging.h includes at least one header that is not on this list > > (Arrow.h). > > > > [1]: https://github.com/hzeller/rpi-rgb-led-matrix/pull/1818 > > Please point to the commit that has been merged, not some "random" PR. Will do, it's https://github.com/hzeller/rpi-rgb-led-matrix/commit/bf45676acb9aad3e453833c3a13033ab0650abb3 > > > [2]: https://sources.debian.org/src/pillow/12.0.0-1/debian/rules#L106 > > Please add your Signed-off-by line here. Indeed, I forgot! > Curious: python-pillow would for me be a... Python module. And so would > be python-rgbmatrix. But with your patch, we install some C/C++ > headers. So python-pillow includes a native library, and > python-rgbmatrix directly links against this library? How was it > working prior to this change? Pretty much. python-pillow is a Python module, but it's partially implemented in C. python-rgbmatrix (the Python module for the rpi-rgb-led-matrix C++ library) accesses internal state of objects created by python-pillow. There is no direct linking, both native libraries exist in the same process because they are loaded as part of their respective Python modules. Prior to this commit, python-rgbmatrix included its own definition of struct ImagingMemoryInstance (called PillowImagingInstance). With this commit, pillow's Imaging.h is included to get the struct layout and ultimately the offset of the "image32" member. Thanks! _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers 2025-12-28 18:53 ` J. Neuschäfer via buildroot @ 2025-12-28 19:09 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 6+ messages in thread From: Thomas Petazzoni via buildroot @ 2025-12-28 19:09 UTC (permalink / raw) To: J. Neuschäfer Cc: J. Neuschäfer via buildroot, Angelo Compagnucci, Grzegorz Blach, James Hilliard On Sun, 28 Dec 2025 19:53:09 +0100 J. Neuschäfer <j.neuschaefer@gmx.net> wrote: > Pretty much. python-pillow is a Python module, but it's partially > implemented in C. python-rgbmatrix (the Python module for the > rpi-rgb-led-matrix C++ library) accesses internal state of objects > created by python-pillow. There is no direct linking, both native > libraries exist in the same process because they are loaded as part of > their respective Python modules. Prior to this commit, python-rgbmatrix > included its own definition of struct ImagingMemoryInstance (called > PillowImagingInstance). With this commit, pillow's Imaging.h is included > to get the struct layout and ultimately the offset of the "image32" > member. Awesome explanation, thanks a lot! Could you copy/paste this into the commit message? Thanks! 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] 6+ messages in thread
* [Buildroot] [PATCH RFC 2/2] package/rpi-rgb-led-matrix: update to latest git version (2025-12-22) 2025-12-26 16:07 [Buildroot] [PATCH RFC 0/2] Update package/rpi-rgb-led-matrix J. Neuschäfer via buildroot 2025-12-26 16:07 ` [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers J. Neuschäfer via buildroot @ 2025-12-26 16:07 ` J. Neuschäfer via buildroot 1 sibling, 0 replies; 6+ messages in thread From: J. Neuschäfer via buildroot @ 2025-12-26 16:07 UTC (permalink / raw) To: buildroot Cc: Angelo Compagnucci, Grzegorz Blach, James Hilliard, J. Neuschäfer Since the last update, many open pull requests were merged. Commit log: https://github.com/hzeller/rpi-rgb-led-matrix/compare/f55736f7595b...cb6ef3adf643 Signed-off-by: J. Neuschäfer <j.neuschaefer@gmx.net> --- package/python-rgbmatrix/Config.in | 1 + package/python-rgbmatrix/python-rgbmatrix.hash | 2 +- package/python-rgbmatrix/python-rgbmatrix.mk | 4 ++-- package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash | 2 +- package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package/python-rgbmatrix/Config.in b/package/python-rgbmatrix/Config.in index 32fd6d191a..6851e0c2c6 100644 --- a/package/python-rgbmatrix/Config.in +++ b/package/python-rgbmatrix/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_PYTHON_RGBMATRIX depends on BR2_TOOLCHAIN_HAS_THREADS # rpi-rgb-led-matrix depends on !BR2_STATIC_LIBS # rpi-rgb-led-matrix select BR2_PACKAGE_HOST_PYTHON_CYTHON + select BR2_PACKAGE_PYTHON_PILLOW select BR2_PACKAGE_RPI_RGB_LED_MATRIX comment "python-rgbmatrix needs a toolchain w/ C++, threads, dynamic libraries" diff --git a/package/python-rgbmatrix/python-rgbmatrix.hash b/package/python-rgbmatrix/python-rgbmatrix.hash index 175081eb5d..7f1040aeda 100644 --- a/package/python-rgbmatrix/python-rgbmatrix.hash +++ b/package/python-rgbmatrix/python-rgbmatrix.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9a6da5b0ad730883a5fa18afc59b1297b4b05eb581c2c14ae50a3583296a4bed python-rgbmatrix-f55736f7595bc028451658996eedea9742688bbc.tar.gz +sha256 25f31481d4f281518a91cf62d4c3473d5d1067ec071d996650cf40885c38b3a7 python-rgbmatrix-cb6ef3adf643882603708962941c68e81c195ee4.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/python-rgbmatrix/python-rgbmatrix.mk b/package/python-rgbmatrix/python-rgbmatrix.mk index 2bd5bc97b7..5c7e39710d 100644 --- a/package/python-rgbmatrix/python-rgbmatrix.mk +++ b/package/python-rgbmatrix/python-rgbmatrix.mk @@ -5,14 +5,14 @@ ################################################################################ # When updating the version, please also update rpi-rgb-led-matrix -PYTHON_RGBMATRIX_VERSION = f55736f7595bc028451658996eedea9742688bbc # 2024-08-18 +PYTHON_RGBMATRIX_VERSION = cb6ef3adf643882603708962941c68e81c195ee4 PYTHON_RGBMATRIX_SITE = $(call github,hzeller,rpi-rgb-led-matrix,$(PYTHON_RGBMATRIX_VERSION)) PYTHON_RGBMATRIX_LICENSE = GPL-2.0 PYTHON_RGBMATRIX_LICENSE_FILES = COPYING PYTHON_RGBMATRIX_INSTALL_STAGING = YES PYTHON_RGBMATRIX_SETUP_TYPE = setuptools PYTHON_RGBMATRIX_SUBDIR = bindings/python -PYTHON_RGBMATRIX_DEPENDENCIES = host-python-cython rpi-rgb-led-matrix +PYTHON_RGBMATRIX_DEPENDENCIES = host-python-cython python-pillow rpi-rgb-led-matrix # Generate bindings with cython define PYTHON_RGBMATRIX_CYTHON diff --git a/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash index ee6c50dee0..b7eb30de02 100644 --- a/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash +++ b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9a6da5b0ad730883a5fa18afc59b1297b4b05eb581c2c14ae50a3583296a4bed rpi-rgb-led-matrix-f55736f7595bc028451658996eedea9742688bbc.tar.gz +sha256 25f31481d4f281518a91cf62d4c3473d5d1067ec071d996650cf40885c38b3a7 rpi-rgb-led-matrix-cb6ef3adf643882603708962941c68e81c195ee4.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk index 593bc96b5d..1d5cfbe13e 100644 --- a/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk +++ b/package/rpi-rgb-led-matrix/rpi-rgb-led-matrix.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update python-rgbmatrix -RPI_RGB_LED_MATRIX_VERSION = f55736f7595bc028451658996eedea9742688bbc +RPI_RGB_LED_MATRIX_VERSION = cb6ef3adf643882603708962941c68e81c195ee4 RPI_RGB_LED_MATRIX_SITE = $(call github,hzeller,rpi-rgb-led-matrix,$(RPI_RGB_LED_MATRIX_VERSION)) RPI_RGB_LED_MATRIX_LICENSE = GPL-2.0 RPI_RGB_LED_MATRIX_LICENSE_FILES = COPYING -- 2.51.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-12-28 19:09 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-26 16:07 [Buildroot] [PATCH RFC 0/2] Update package/rpi-rgb-led-matrix J. Neuschäfer via buildroot 2025-12-26 16:07 ` [Buildroot] [PATCH RFC 1/2] package/python-pillow: install libImaging headers J. Neuschäfer via buildroot 2025-12-27 23:14 ` Thomas Petazzoni via buildroot 2025-12-28 18:53 ` J. Neuschäfer via buildroot 2025-12-28 19:09 ` Thomas Petazzoni via buildroot 2025-12-26 16:07 ` [Buildroot] [PATCH RFC 2/2] package/rpi-rgb-led-matrix: update to latest git version (2025-12-22) J. Neuschäfer via buildroot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox