Skip to content

Commit f411cb9

Browse files
pillow: update packages (#3673)
* pillow: Add version 13.0.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> * pillow: Carry patches over to version 13.0.0 Three patches apply unchanged. The 'uv pip' and test.sh patches are refreshed for 13.0.0's reworked .ci scripts (after_success.sh is gone, install.sh and test.sh changed). --------- Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> Co-authored-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> Co-authored-by: Ludovic Henry <git@ludovic.dev>
1 parent b45d71a commit f411cb9

6 files changed

Lines changed: 208 additions & 0 deletions

‎docs/packages/pillow.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,3 +202,4 @@ versions:
202202
- filename: pillow-12.3.0-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl
203203
sha256: cfc9e1d7cdb6d5e7a3a87d0b4e2fa666300bdca0f685ac50c03c8fc987771c34
204204
requires-python: '>=3.10'
205+
- version: 13.0.0
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
From 1bbab6afa8f1bf6d64d3db7b977975e45235c80d Mon Sep 17 00:00:00 2001
2+
From: Trevor Gamblin <tgamblin@baylibre.com>
3+
Date: Thu, 23 Jul 2026 13:20:47 -0400
4+
Subject: [PATCH] .ci: test.sh: skip test_grabclipboard_wl_clipboard
5+
6+
This test depends on a Wayland server and XDG_RUNTIME_DIR to be set. We
7+
don't want to rely on a graphical configuration on the runners, so skip
8+
it.
9+
10+
Upstream-Status: Inappropriate [workaround for RISC-V runner builds]
11+
12+
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
13+
---
14+
.ci/test.sh | 2 +-
15+
1 file changed, 1 insertion(+), 1 deletion(-)
16+
17+
diff --git a/.ci/test.sh b/.ci/test.sh
18+
index 2b2e39c..9fa46b0 100755
19+
--- a/.ci/test.sh
20+
+++ b/.ci/test.sh
21+
@@ -4,4 +4,4 @@ set -e
22+
23+
python3 -c "from PIL import Image"
24+
25+
-python3 -bb -m pytest -vv -x -W always --numprocesses=logical --dist=worksteal --cov PIL --cov Tests --cov-report term --cov-report xml Tests
26+
+python3 -bb -m pytest -vv -x -k "not test_grabclipboard_wl_clipboard" -W always --numprocesses=logical --dist=worksteal --cov PIL --cov Tests --cov-report term --cov-report xml Tests
27+
--
28+
2.55.0
29+
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
From de055b09de48b863c8c779fa6ac9cca59cbba07f Mon Sep 17 00:00:00 2001
2+
From: Trevor Gamblin <tgamblin@baylibre.com>
3+
Date: Thu, 23 Jul 2026 08:54:31 -0400
4+
Subject: [PATCH] Pillow: .ci: use 'uv pip'
5+
6+
We use uv in our workflows, so replace 'python3 -m pip' with 'uv pip' in
7+
the .ci scripts run by the Pillow pipelines.
8+
9+
Upstream-Status: Inappropriate [different Python management tooling]
10+
11+
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
12+
---
13+
.ci/install.sh | 10 +++++-----
14+
1 file changed, 5 insertions(+), 5 deletions(-)
15+
16+
diff --git a/.ci/install.sh b/.ci/install.sh
17+
index 516b310..a01d699 100755
18+
--- a/.ci/install.sh
19+
+++ b/.ci/install.sh
20+
@@ -36,17 +36,17 @@ packages=(
21+
)
22+
sudo apt-get -qq install --no-install-recommends "${packages[@]}"
23+
24+
-python3 -m pip install --upgrade pip
25+
-python3 -m pip install --upgrade ipython
26+
+uv pip install --upgrade pip
27+
+uv pip install --upgrade ipython
28+
29+
# optional test dependencies, only install if there's a binary package.
30+
-python3 -m pip install --only-binary=:all: numpy || true
31+
-python3 -m pip install --only-binary=:all: pyarrow || true
32+
+uv pip install --only-binary=:all: numpy || true
33+
+uv pip install --only-binary=:all: pyarrow || true
34+
35+
# PyQt6 doesn't support PyPy3
36+
if [[ $GHA_PYTHON_VERSION == 3.* ]]; then
37+
# pyqt6 doesn't yet support free-threading; only install if a wheel is available
38+
- python3 -m pip install --only-binary=:all: pyqt6 || true
39+
+ uv pip install --only-binary=:all: pyqt6 || true
40+
fi
41+
42+
# webp
43+
--
44+
2.55.0
45+
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
From 672262c8715b24485f82e18580fe33786dbce2b9 Mon Sep 17 00:00:00 2001
2+
From: Trevor Gamblin <tgamblin@baylibre.com>
3+
Date: Thu, 23 Jul 2026 10:57:00 -0400
4+
Subject: [PATCH] depends: install_libavif.sh: fix cache LIBDIR for non-x86_64
5+
hosts
6+
7+
The GitHub Actions cache restore/save paths hardcode
8+
LIBDIR=/usr/lib/x86_64-linux-gnu, but on riscv64 the multiarch install
9+
path is /usr/lib/riscv64-linux-gnu. The cache-save cp then fails:
10+
11+
cp: cannot stat '/usr/lib/x86_64-linux-gnu/libavif.so*': No such file or directory
12+
13+
Because that cp isn't the last command in an && list, `set -e`
14+
doesn't stop the script there either, so it falls through with a
15+
stale working directory and breaks the next dependency's `pushd
16+
depends` in .ci/install.sh:
17+
18+
.ci/install.sh: line 58: pushd: depends: No such file or directory
19+
20+
Derive LIBDIR from `uname -m` instead of hardcoding the triplet.
21+
22+
Upstream-Status: To upstream [relevant for non-x86_64 CI runners]
23+
24+
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
25+
---
26+
depends/install_libavif.sh | 4 ++--
27+
1 file changed, 2 insertions(+), 2 deletions(-)
28+
29+
diff --git a/depends/install_libavif.sh b/depends/install_libavif.sh
30+
index b837f6d65..ae4d7f87a 100755
31+
--- a/depends/install_libavif.sh
32+
+++ b/depends/install_libavif.sh
33+
@@ -5,7 +5,7 @@ version=1.4.2
34+
35+
if [[ "$GHA_LIBAVIF_CACHE_HIT" == "true" ]]; then
36+
37+
- LIBDIR=/usr/lib/x86_64-linux-gnu
38+
+ LIBDIR=/usr/lib/$(uname -m)-linux-gnu
39+
40+
# Copy cached files into place
41+
sudo cp ~/cache-libavif/lib/* $LIBDIR/
42+
@@ -80,7 +80,7 @@ else
43+
44+
if [ -n "$GITHUB_ACTIONS" ] && [ "$(uname)" != "Darwin" ]; then
45+
# Copy to cache
46+
- LIBDIR=/usr/lib/x86_64-linux-gnu
47+
+ LIBDIR=/usr/lib/$(uname -m)-linux-gnu
48+
rm -rf ~/cache-libavif
49+
mkdir -p ~/cache-libavif/lib
50+
mkdir -p ~/cache-libavif/include
51+
--
52+
2.55.0
53+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
From c675d64ec296f1f72c81a1c00e03448fde380589 Mon Sep 17 00:00:00 2001
2+
From: Trevor Gamblin <tgamblin@baylibre.com>
3+
Date: Thu, 23 Jul 2026 09:41:00 -0400
4+
Subject: [PATCH] depends: install_libavif.sh: force generic aom target on
5+
riscv64
6+
7+
aom's riscv RVV intrinsics (av1/common/riscv/convolve_rvv.c) use the
8+
explicit vxrm rounding-mode argument added in the finalized RVV C
9+
intrinsics spec, which the riscv64 runner's GCC 13.3.0 doesn't
10+
implement yet. That breaks the local aom build FetchContent pulls in
11+
when no system aom is available:
12+
13+
error: '__RISCV_VXRM_RNU' undeclared
14+
error: too many arguments to function '__riscv_vnclipu_wx_u8mf2'
15+
16+
Force AOM_TARGET_CPU=generic on riscv64 so aom skips its
17+
arch-specific SIMD/intrinsics codepaths entirely and builds portable
18+
C instead.
19+
20+
Upstream-Status: Inappropriate [riscv64 runners have gcc 13]
21+
22+
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
23+
---
24+
depends/install_libavif.sh | 7 +++++++
25+
1 file changed, 7 insertions(+)
26+
27+
diff --git a/depends/install_libavif.sh b/depends/install_libavif.sh
28+
index b1a337d7b..b837f6d65 100755
29+
--- a/depends/install_libavif.sh
30+
+++ b/depends/install_libavif.sh
31+
@@ -59,6 +59,13 @@ else
32+
LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_AOM=LOCAL)
33+
fi
34+
35+
+ if [ "$(uname -m)" == "riscv64" ]; then
36+
+ # aom's riscv RVV intrinsics require a newer GCC than what's
37+
+ # available on our riscv64 runner; force the portable-C target
38+
+ # so the local aom build skips that codepath.
39+
+ LIBAVIF_CMAKE_FLAGS+=(-DAOM_TARGET_CPU=generic)
40+
+ fi
41+
+
42+
cmake \
43+
-DCMAKE_INSTALL_PREFIX=$PREFIX \
44+
-DCMAKE_INSTALL_NAME_DIR=$PREFIX/lib \
45+
--
46+
2.55.0
47+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
From e16f5961f165ce43fe4bcdb7eb167d2714f2b116 Mon Sep 17 00:00:00 2001
2+
From: Mark Ryan <markdryan@rivosinc.com>
3+
Date: Wed, 23 Jul 2025 16:50:28 +0000
4+
Subject: [PATCH] disable lto when building libavif
5+
6+
This is due to a gcc bug
7+
8+
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812
9+
10+
Upstream-Status: Inappropriate [It's a GCC bug]
11+
12+
Signed-off-by: Mark Ryan <markdryan@rivosinc.com>
13+
14+
Refresh the patch to apply on 12.3.0.
15+
16+
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
17+
---
18+
.github/workflows/wheels-dependencies.sh | 2 +-
19+
1 file changed, 1 insertion(+), 1 deletion(-)
20+
21+
diff --git a/.github/workflows/wheels-dependencies.sh b/.github/workflows/wheels-dependencies.sh
22+
index 76d4ce22f..8b1c2f3a1 100755
23+
--- a/.github/workflows/wheels-dependencies.sh
24+
+++ b/.github/workflows/wheels-dependencies.sh
25+
@@ -181,7 +181,7 @@ function build_libavif {
26+
fi
27+
28+
local build_shared=ON
29+
- local lto=ON
30+
+ local lto=OFF
31+
32+
local libavif_cmake_flags
33+

0 commit comments

Comments
 (0)