Skip to content

Commit dfa1fe2

Browse files
Release 0.22.16 (#308)
* Release 0.22.16 * Fix libffi platform mismarking: source release is linux-only The auto-update path for libffi added new entries with platforms=["linux", "win32"], pointing at the libffi.org source release URL. That tarball ships only configure/Makefile.am/msvcc.sh — no ffi.h, no libffi-8.lib, no libffi-8.dll. Windows libffi has always come from python/cpython-bin-deps, whose archive ships those prebuilt artifacts under amd64/, win32/, and arm64/. get_dependency_version("libffi", "win32") picks the highest-versioned entry whose platforms list contains "win32". As soon as a new source release (3.6.0 here) got added with win32 in its platforms, it shadowed the cpython-bin-deps entry (3.4.4) for win32 — so the build fetched the source tarball, and _ctypes.vcxproj failed with `error C1083: Cannot open include file: 'ffi.h'` across every Windows matrix entry on PR #308. Same root cause as the existing 3.5.2 entry being ["linux"]-only: that was effectively the correct state, just never enforced in the auto-updater. Two changes: - relenv/pyversions.py: drop "win32" from the platforms list the auto-updater writes for new libffi source releases. The detect_cpython_bin_deps_versions() branch immediately below handles the Windows-side entry (platforms=["win32"]) and stays untouched. - relenv/python-versions.json: drop "win32" from the existing 3.6.0 entry so the win32 build falls back to 3.4.4 cpython-bin-deps and CI unblocks without waiting on a fresh auto-update run. Auto-updater bug only; libffi 3.6.0 itself is fine on Linux. --------- Co-authored-by: dwoz <1527763+dwoz@users.noreply.github.com> Co-authored-by: Daniel A. Wozniak <daniel.wozniak@broadcom.com>
1 parent cea2101 commit dfa1fe2

4 files changed

Lines changed: 42 additions & 2 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
0.22.16
2+
=======
3+
4+
* Update expat to 2.8.2
5+
* Update libffi to 3.6.0
6+
* Update sqlite to 3.53.3.0
7+
8+
19
0.22.15
210
=======
311

‎relenv/common.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from collections.abc import Callable, Iterable, Mapping
2828

2929
# relenv package version
30-
__version__ = "0.22.15"
30+
__version__ = "0.22.16"
3131

3232
log = logging.getLogger(__name__)
3333

‎relenv/python-versions.json‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,16 @@
322322
"darwin",
323323
"win32"
324324
]
325+
},
326+
"3.53.3.0": {
327+
"url": "https://sqlite.org/2026/sqlite-autoconf-{version}.tar.gz",
328+
"sha256": "c917d7db16648ec95f714974ace5e5dcf46b7dc70e26600a0a102a3141125db0",
329+
"sqliteversion": "3530300",
330+
"platforms": [
331+
"linux",
332+
"darwin",
333+
"win32"
334+
]
325335
}
326336
},
327337
"xz": {
@@ -358,6 +368,13 @@
358368
"platforms": [
359369
"win32"
360370
]
371+
},
372+
"3.6.0": {
373+
"url": "https://github.com/libffi/libffi/releases/download/v{version}/libffi-{version}.tar.gz",
374+
"sha256": "31ff1fe32deaebfbb388727f32677bb254bf2a41382c51464c0b1837c9ee9828",
375+
"platforms": [
376+
"linux"
377+
]
361378
}
362379
},
363380
"zlib": {
@@ -540,6 +557,15 @@
540557
"darwin",
541558
"win32"
542559
]
560+
},
561+
"2.8.2": {
562+
"url": "https://github.com/libexpat/libexpat/releases/download/R_2_8_2/expat-{version}.tar.xz",
563+
"sha256": "3ad89b8588e6644bd4e49981480d48b21289eebbcd4f0a1a4afb1c29f99b6ab4",
564+
"platforms": [
565+
"linux",
566+
"darwin",
567+
"win32"
568+
]
543569
}
544570
}
545571
}

‎relenv/pyversions.py‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,13 @@ def update_dependency_versions(path: pathlib.Path, deps_to_update: list[str] | N
723723
dependencies["libffi"][latest] = {
724724
"url": "https://github.com/libffi/libffi/releases/download/v{version}/libffi-{version}.tar.gz",
725725
"sha256": checksum,
726-
"platforms": ["linux", "win32"],
726+
# libffi/libffi source releases ship configure/Makefile
727+
# only; Windows libffi (ffi.h, libffi-8.lib, libffi-8.dll)
728+
# comes from python/cpython-bin-deps, handled by the
729+
# detect_cpython_bin_deps_versions branch below.
730+
# Don't claim win32 here or get_dependency_version picks
731+
# this entry by version-sort and fails the _ctypes build.
732+
"platforms": ["linux"],
727733
}
728734
os.remove(download_path)
729735
except Exception as e:

0 commit comments

Comments
 (0)