diff --git a/.github/workflows/build-simplification.yml b/.github/workflows/build-simplification.yml index ce6da191b7ba..d42a4ed0656c 100644 --- a/.github/workflows/build-simplification.yml +++ b/.github/workflows/build-simplification.yml @@ -117,7 +117,13 @@ jobs: cp target/release/librdp.so include/header.h {project}/src/simplification/ # numpy/cython have riscv64 wheels only on our registry; cython-cmake # and scikit-build-core are pure Python and resolve from public PyPI. - CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ + # PATH: from 2.0.0 the build backend is maturin, which looks for cargo on + # PATH and otherwise tries to rustup-install into a temp dir (and fails: + # "Target triple not supported by rustup: riscv64-unknown-linux-gnu"); + # CIBW_BEFORE_ALL_LINUX's rustup puts it in ~/.cargo/bin. + CIBW_ENVIRONMENT_LINUX: >- + PATH=$HOME/.cargo/bin:$PATH + PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ CIBW_TEST_ENVIRONMENT: PIP_ONLY_BINARY=numpy - name: Check wheel contents diff --git a/docs/packages/simplification.yaml b/docs/packages/simplification.yaml index 90cb479a6060..f96994c14c0b 100644 --- a/docs/packages/simplification.yaml +++ b/docs/packages/simplification.yaml @@ -12,3 +12,4 @@ versions: - filename: simplification-1.0.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl sha256: 11ed3047ecceef29e61ab76a528d0977e19ee11e8b9bba193bdb708d0309f6fb requires-python: '>=3.10' +- version: 2.0.0 diff --git a/patches/simplification/2.0.0/0001-package-the-mit-licence-of-the-vendored-rdp-rust-lib.patch b/patches/simplification/2.0.0/0001-package-the-mit-licence-of-the-vendored-rdp-rust-lib.patch new file mode 100644 index 000000000000..a3e459df4447 --- /dev/null +++ b/patches/simplification/2.0.0/0001-package-the-mit-licence-of-the-vendored-rdp-rust-lib.patch @@ -0,0 +1,73 @@ +From 3b53c29ccc02ff7f7d4fa5bf85c996e4dd336b2d Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Tue, 8 Sep 2026 07:21:11 +0200 +Subject: [PATCH] package the MIT licence of the vendored rdp Rust library +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +simplification's Cython extension (src/simplification/cutil.pyx) links +against librdp.so, a prebuilt cdylib that upstream's own CI downloads +from urschrei/rdp's GitHub releases and CMakeLists.txt bundles into +the wheel via install(FILES ... DESTINATION ${SKBUILD_PROJECT_NAME}). +rdp has no riscv64 release asset, so our build compiles it from source +(urschrei/rdp v0.15.0, the tag that was latest when simplification +1.0.0 shipped) instead - see build-simplification.yml. Either way the +library ships inside the wheel, and rdp is MIT-licensed (Copyright (c) +2016 Stephan Hügel), so its licence needs to travel with the binary. + +pyproject.toml sets license-files = ["LICENSE.md"] explicitly, which +is PEP 639's opt-in form -- unlike setuptools' default LICEN[CS]E* +glob, a licence file dropped at the project root is not picked up on +its own, so the list itself needs extending. + +Upstream-Status: To upstream [not filed against urschrei/simplification from this automated port; a maintainer should report it upstream] +--- + LICENSE_rdp | 21 +++++++++++++++++++++ + pyproject.toml | 2 +- + 2 files changed, 22 insertions(+), 1 deletion(-) + create mode 100644 LICENSE_rdp + +diff --git a/LICENSE_rdp b/LICENSE_rdp +new file mode 100644 +index 0000000..3331443 +--- /dev/null ++++ b/LICENSE_rdp +@@ -0,0 +1,21 @@ ++The MIT License (MIT) ++ ++Copyright (c) 2016 Stephan Hügel ++ ++Permission is hereby granted, free of charge, to any person obtaining a copy ++of this software and associated documentation files (the "Software"), to deal ++in the Software without restriction, including without limitation the rights ++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++copies of the Software, and to permit persons to whom the Software is ++furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in ++all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++THE SOFTWARE. +diff --git a/pyproject.toml b/pyproject.toml +index 97ca438..d8d4c02 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -10,7 +10,7 @@ dependencies = [ + authors = [{ name = "Stephan Hügel" }, { email = "urschrei@gmail.com" }] + maintainers = [{ name = "Stephan Hügel" }, { email = "urschrei@gmail.com" }] + license = "BlueOak-1.0.0" +-license-files = ["LICENSE.md"] ++license-files = ["LICENSE.md", "LICENSE_rdp"] + keywords = ["Geo", "Polyline", "Linestring", "Ramer-Douglas-Peucker", "Douglas-Peucker", "Visvalingam-Whyatt"] + classifiers = [ + "Programming Language :: Python", +-- +2.50.1 (Apple Git-155) +