From b145ed3af65eb56d5906895f69af0dda6bc2de44 Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 07:52:49 +0000 Subject: [PATCH 1/3] lapx: Add version 0.11.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/lapx.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/lapx.yaml b/docs/packages/lapx.yaml index 3ccce92a3da6..279f700fdc42 100644 --- a/docs/packages/lapx.yaml +++ b/docs/packages/lapx.yaml @@ -32,3 +32,4 @@ versions: - filename: lapx-0.10.0-cp314-cp314t-manylinux_2_39_riscv64.whl sha256: 51d429455983f49a25a733c3a1b94bdf9a0ec91e39584d78edc5dba2e35b89c2 requires-python: '>=3.7' +- version: 0.11.0 From 3af0c0f73add5617a9798ab2d8c5beaa18ab3ae7 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sat, 24 Oct 2026 11:53:34 +0800 Subject: [PATCH 2/3] lapx: Install Rust for the LAPJVR/LAPJVH solvers added in 0.11.0 --- .github/workflows/build-lapx.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-lapx.yml b/.github/workflows/build-lapx.yml index 948ce36387ba..ca86827af07a 100644 --- a/.github/workflows/build-lapx.yml +++ b/.github/workflows/build-lapx.yml @@ -68,10 +68,15 @@ jobs: only: ${{ matrix.python }}-manylinux_riscv64 env: CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }} + # From 0.11.0 setup.py builds the LAPJVR/LAPJVH solvers with Rust and + # refuses to build without cargo, so install the toolchain in-container. + CIBW_BEFORE_ALL_LINUX: >- + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y # numpy is a build-time (headers) and runtime dependency, scipy a test-only # one; only our registry has either for riscv64. Only-binary keeps a newer # PyPI release from winning the resolution and then compiling from sdist. CIBW_ENVIRONMENT: >- + PATH="$PATH:$HOME/.cargo/bin" PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ PIP_ONLY_BINARY=numpy,scipy CIBW_TEST_REQUIRES: pytest pytest-timeout scipy @@ -90,7 +95,7 @@ jobs: for whl in sys.argv[1:]: names = zipfile.ZipFile(whl).namelist() exts = {n.split("/")[-1].split(".")[0] for n in names if n.endswith(".so")} - assert exts == {"_lapjv", "_lapjvc", "_lapjvs", "_lapjvx"}, exts + assert {"_lapjv", "_lapjvc", "_lapjvs", "_lapjvx"} <= exts, exts licences = {n.rsplit("/", 1)[-1] for n in names if ".dist-info/licenses/" in n} - {""} assert licences == {"LICENSE", "NOTICE"}, licences EOF From 771c837f1f382d0c54f612a606dd3bf8b89151a1 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sun, 25 Oct 2026 18:59:42 +0100 Subject: [PATCH 3/3] lapx: expect THIRD_PARTY_NOTICES in wheel licences --- .github/workflows/build-lapx.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-lapx.yml b/.github/workflows/build-lapx.yml index ca86827af07a..cbac0f56ac24 100644 --- a/.github/workflows/build-lapx.yml +++ b/.github/workflows/build-lapx.yml @@ -97,7 +97,8 @@ jobs: exts = {n.split("/")[-1].split(".")[0] for n in names if n.endswith(".so")} assert {"_lapjv", "_lapjvc", "_lapjvs", "_lapjvx"} <= exts, exts licences = {n.rsplit("/", 1)[-1] for n in names if ".dist-info/licenses/" in n} - {""} - assert licences == {"LICENSE", "NOTICE"}, licences + # 0.11.0 vendors Rust crates and ships THIRD_PARTY_NOTICES for them. + assert licences == {"LICENSE", "NOTICE", "THIRD_PARTY_NOTICES"}, licences EOF - name: Store wheels