* [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
* [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
* 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
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