Skip to content
Merged
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
6 changes: 4 additions & 2 deletions .github/workflows/build-scs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:
PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/
PIP_ONLY_BINARY=numpy,scipy

- name: Check the wheel ships the extensions and both licences
- name: Check the wheel ships the extensions and all licences
run: |
python3 - wheelhouse/*.whl <<'EOF'
import sys, zipfile
Expand All @@ -108,7 +108,9 @@ jobs:
for n in names), (whl, mod)
licences = {n.rsplit("/", 1)[1]
for n in names if ".dist-info/licenses/" in n} - {""}
assert licences == {"LICENSE", "LICENSE.openblas"}, (whl, licences)
# 3.3.1 added LICENSE-INTEL-MKL.txt at the repo root, alongside
# LICENSE; the pyproject.toml patch's LICENSE* glob ships it too.
assert licences == {"LICENSE", "LICENSE.openblas", "LICENSE-INTEL-MKL.txt"}, (whl, licences)
print(whl, "ok")
EOF

Expand Down
1 change: 1 addition & 0 deletions docs/packages/scs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ versions:
gpl-sources:
filename: gpl-sources.tar
description: gcc
- version: 3.3.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
From 676f302fa8efa9b81d66b975b6cd3fd66b85e39a Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
Date: Fri, 28 Aug 2026 08:54:10 +0200
Subject: [PATCH] pyproject: ship licence files of bundled libraries

The Linux wheels bundle OpenBLAS (BSD-3-Clause), whose binary
redistribution clause requires its copyright notice to travel with the
binary, but the wheel only carries SCS' own LICENSE.

Declare the licence files with a glob so any LICENSE.<dep> staged beside
the project's own LICENSE is packaged into dist-info/licenses/. PEP 639
rejects `project.license-files` while `project.license` is a table or a
`License ::` classifier is present, so both are converted at the same
time.

Upstream-Status: To upstream [needs a companion CI change staging the licence text of each bundled library]
---
pyproject.toml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pyproject.toml b/pyproject.toml
index 6925fa2..4b9d83d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,7 +12,6 @@ description = 'Splitting conic solver'
readme = 'README.md'
requires-python = '>=3.9'
classifiers = [
- 'License :: OSI Approved :: MIT License',
'Programming Language :: C',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
@@ -30,7 +29,8 @@ classifiers = [
'Operating System :: Unix',
'Operating System :: MacOS',
]
-license = {file = 'LICENSE'}
+license = "MIT"
+license-files = ['LICENSE*']
authors = [
{name = "Brendan O'Donoghue", email = "bodonoghue85@gmail.com"}]
dependencies = [
Loading