Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/build-simplification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions docs/packages/simplification.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
From 3b53c29ccc02ff7f7d4fa5bf85c996e4dd336b2d Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
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)

Loading