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
15 changes: 12 additions & 3 deletions .github/workflows/build-pycurl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,19 @@ jobs:
# paramiko's cryptography/bcrypt deps have no riscv64 wheel below cp312;
# fall back to the rest of the dev requirements so its sftp tests, which are
# pytest.importorskip'd, skip instead of failing metadata generation.
# 7.49.0 replaced requirements-dev.txt with a `test` dependency group in
# pyproject.toml (`pip install --group test`); older releases still ship the file.
CIBW_BEFORE_TEST_LINUX: >-
pip install flake8 -r {package}/requirements-dev.txt ||
{ grep -v '^paramiko' {package}/requirements-dev.txt > /tmp/requirements-dev.txt &&
pip install flake8 -r /tmp/requirements-dev.txt; } &&
if [ -f {package}/requirements-dev.txt ]; then
pip install flake8 -r {package}/requirements-dev.txt ||
{ grep -v '^paramiko' {package}/requirements-dev.txt > /tmp/requirements-dev.txt &&
pip install flake8 -r /tmp/requirements-dev.txt; };
else
pip install flake8 --group {package}/pyproject.toml:test ||
{ pip install tomli &&
python -c "import tomli; print(*[r for r in tomli.load(open('{package}/pyproject.toml', 'rb'))['dependency-groups']['test'] if not r.startswith('paramiko')], sep='\n')" > /tmp/requirements-test.txt &&
pip install flake8 -r /tmp/requirements-test.txt; };
fi &&
make -C {package}/tests/fake-curl/libcurl
CIBW_TEST_COMMAND: pytest -v -ra {project}/tests

Expand Down
1 change: 1 addition & 0 deletions docs/packages/pycurl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,4 @@ versions:
gpl-sources:
filename: gpl-sources.tar
description: gcc and the copyleft libraries bundled in the wheel
- version: 7.49.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
From 5b9d9b79074456e03a40c9ea7f4674fe1761bb92 Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
Date: Fri, 4 Sep 2026 15:49:05 +0200
Subject: [PATCH] Widen license-files to cover bundled third-party licences

`license-files = ["COPYING-LGPL", "COPYING-MIT"]` is an explicit PEP 639
list, so it replaces setuptools' default `LICEN[CS]E*` glob rather than
adding to it: a `LICENSE.<dep>` dropped at the project root to cover a
library `auditwheel repair` vendors into the wheel (libcurl and its
transitive closure) is silently ignored. Widening the list to also match
`LICENSE.*` picks those up with no other packaging change.

Upstream's own manylinux wheels vendor a smaller set of the same libraries
(via a statically-built vcpkg curl) and carry the identical gap: only
COPYING-LGPL/COPYING-MIT ship in dist-info/licenses, with no notice for
libcurl, OpenSSL, krb5, libssh2, brotli or nghttp2.

Upstream-Status: To upstream [not submitted from this automated port run; needs a pull request against pycurl/pycurl]
---
pyproject.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyproject.toml b/pyproject.toml
index dbcdaa2..37d0044 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -8,7 +8,7 @@ description = "PycURL -- A Python Interface To The cURL library"
readme = "README.rst"
requires-python = ">=3.10"
license = "LGPL-2.1-only OR MIT"
-license-files = ["COPYING-LGPL", "COPYING-MIT"]
+license-files = ["COPYING-LGPL", "COPYING-MIT", "LICENSE.*"]
keywords = ["curl", "libcurl", "urllib", "wget", "download", "file transfer", "http", "www"]
authors = [
{ name = "Kjetil Jacobsen", email = "kjetilja@gmail.com" },
--
2.43.0

Loading