From 46a9d564e210633a35caeddb794e2b50763f73af Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 08:34:05 +0000 Subject: [PATCH 1/3] rasterio: Add version 1.5.2 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/rasterio.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/rasterio.yaml b/docs/packages/rasterio.yaml index 6164aeee76b..17c7c8b4c6a 100644 --- a/docs/packages/rasterio.yaml +++ b/docs/packages/rasterio.yaml @@ -24,3 +24,4 @@ versions: - filename: rasterio-1.5.1-cp315-cp315t-manylinux_2_39_riscv64.whl sha256: 0b9b369903c93bf11df707da0f3cb4e8decb9c2afc941ffd0437bb1158de211f requires-python: '>=3.12' +- version: 1.5.2 From 0836eedb4f3fde6706f1e2ef1e81181ca7b5e5ac Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 9 Oct 2026 16:31:11 +0000 Subject: [PATCH 2/3] rasterio: carry forward riscv64 patches to 1.5.2 Nightly version bump omitted the patches/rasterio/ directory for 1.5.2, so the build's unconditional `git apply .../*.patch` step failed with "No such file or directory" before any build/test ran. Copied forward the same patch set from 1.5.1 (unchanged since then). --- ...p-licence-files-of-bundled-libraries.patch | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 patches/rasterio/1.5.2/0001-pyproject-ship-licence-files-of-bundled-libraries.patch diff --git a/patches/rasterio/1.5.2/0001-pyproject-ship-licence-files-of-bundled-libraries.patch b/patches/rasterio/1.5.2/0001-pyproject-ship-licence-files-of-bundled-libraries.patch new file mode 100644 index 00000000000..0604c43fefb --- /dev/null +++ b/patches/rasterio/1.5.2/0001-pyproject-ship-licence-files-of-bundled-libraries.patch @@ -0,0 +1,38 @@ +From 43d244bb7ee43150c76547da572deba4cfba2bc2 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Fri, 4 Sep 2026 10:24:14 +0200 +Subject: [PATCH] pyproject: ship licence files of bundled libraries + +The riscv64 wheel bundles GDAL and its transitive dependency closure +(GEOS, PROJ, SpatiaLite, libcurl, sqlite, libtiff, expat, libxml2, +openssl, and more), compiled from source in the manylinux_riscv64 image +since GDAL has no riscv64 build available another way. auditwheel +vendors the whole closure's shared libraries into the wheel, but the +project's explicit license-files list only names its own two files, so +none of those licences would be packaged. + +Extend the list with a glob so any LICENSE_ staged beside the +project's own LICENSE.txt/AUTHORS.txt is packaged into +dist-info/licenses/. + +Upstream-Status: Inappropriate [glob covers licences generated by our own build image; no other platform vendors this dependency closure] +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 16fa4ea..94f1412 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -19,7 +19,7 @@ description = "Fast and direct raster I/O for use with NumPy" + readme = "README.rst" + keywords = ["gis", "raster", "gdal"] + license = "BSD-3-Clause" +-license-files = ["LICENSE.txt", "AUTHORS.txt"] ++license-files = ["LICENSE.txt", "AUTHORS.txt", "LICENSE_*"] + classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", +-- +2.50.1 (Apple Git-155) + From cb4761cfff64d564b79367d2d333003e6d7751f6 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sat, 10 Oct 2026 08:01:27 +0000 Subject: [PATCH 3/3] rasterio: floor s3fs test dep at upstream's 2025.9.0 With s3fs unbounded, pip resolves boto3 1.43.111 (botocore==1.43.111), which no aiobotocore release accepts yet (3.9.2 caps botocore<1.43.107), so it backtracks s3fs all the way to 0.4.2, the last release without an aiobotocore dependency. fsspec then warns that the installed s3fs is very old, and rasterio's filterwarnings=error turns that into a failure of test_pyopener.py::test_fsspec_s3_openfile on every interpreter. Use the s3fs>=2025.9.0 floor from upstream's requirements-dev.txt; pip then steps boto3 back to 1.43.106 and installs s3fs 2026.9.0. --- .github/workflows/build-rasterio.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-rasterio.yml b/.github/workflows/build-rasterio.yml index 1c83596a697..d70e91e3adc 100644 --- a/.github/workflows/build-rasterio.yml +++ b/.github/workflows/build-rasterio.yml @@ -520,7 +520,11 @@ jobs: # test_complex_nodata wraps its call in warnings.simplefilter('error'), turning # that warning into a hard failure on every interpreter (gotcha 25: pin the # floating test dep below the breaking release rather than patch the test). - CIBW_TEST_REQUIRES: numpy aiohttp attrs pytest click mock boto3 packaging affine<3.0.1 hypothesis fsspec s3fs requests + # s3fs takes upstream's requirements-dev.txt floor: unbounded, pip backtracks it to + # 0.4.2 whenever the newest boto3 outruns aiobotocore's botocore cap, and fsspec's + # "s3fs is very old" UserWarning then fails test_fsspec_s3_openfile under + # filterwarnings=error. + CIBW_TEST_REQUIRES: numpy aiohttp attrs pytest click mock boto3 packaging affine<3.0.1 hypothesis fsspec s3fs>=2025.9.0 requests # hypothesis became a Rust extension in 6.156 and PyPI ships no cp314t riscv64 # wheel for its current release, only cp310-abi3 (incompatible with free # threading); pip's default resolver still prefers the newest version's sdist