Skip to content
Open
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
1 change: 1 addition & 0 deletions src/portable_python/external/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ def url(self):

@property
def version(self):
# Check https://github.com/sabotage-linux/gettext-tiny/releases
return self.cfg_version("0.3.2")

def _do_linux_compile(self):
Expand Down
32 changes: 24 additions & 8 deletions src/portable_python/external/xcpython.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ def url(self):

@property
def version(self):
# Oracle stopped releasing new versions in May 2020 (18.1.40 was last under AGPL)
# Check https://www.oracle.com/database/technologies/related/berkeleydb-downloads.html
return self.cfg_version("6.2.32")

def c_configure_args(self):
Expand Down Expand Up @@ -61,6 +63,8 @@ def url(self):

@property
def version(self):
# Last release was 1.0.8 in 2019, project has very infrequent updates
# Check https://sourceware.org/bzip2/downloads.html
return self.cfg_version("1.0.8")

def _do_linux_compile(self):
Expand All @@ -85,6 +89,7 @@ def url(self):

@property
def version(self):
# Check https://www.gnu.org.ua/software/gdbm/
return self.cfg_version("1.26")

def c_configure_args(self):
Expand Down Expand Up @@ -131,6 +136,7 @@ def url(self):

@property
def version(self):
# Check https://github.com/libffi/libffi/releases
return self.cfg_version("3.5.2")

def c_configure_args(self):
Expand Down Expand Up @@ -176,9 +182,9 @@ def url(self):

@property
def version(self):
# See https://endoflife.date/openssl
# This default here picks the most conservative longest supported version
return self.cfg_version("3.0.17")
# 3.5 is LTS, supported until Apr 2030 (3.0 EOL Sept 2026)
# Check https://github.com/openssl/openssl/releases and https://endoflife.date/openssl
return self.cfg_version("3.5.6")

def c_configure_args(self):
if config_args := self.cfg_configure(self.deps_lib_dir, self.deps_lib64_dir):
Expand Down Expand Up @@ -207,7 +213,8 @@ def url(self):

@property
def version(self):
return self.cfg_version("6.5")
# Check https://invisible-island.net/ncurses/announce.html
return self.cfg_version("6.6")

def c_configure_args(self):
if config_args := self.cfg_configure(self.deps_lib_dir, self.deps_lib64_dir):
Expand Down Expand Up @@ -264,7 +271,9 @@ def url(self):

@property
def version(self):
return self.cfg_version("8.2.13")
# Patched tarballs (e.g. "8.2.13") are available on the GNU FTP when patches accumulate
# Check https://ftpmirror.gnu.org/gnu/readline/ for available tarballs
return self.cfg_version("8.3")

def c_configure_args(self):
if config_args := self.cfg_configure(self.deps_lib_dir, self.deps_lib64_dir):
Expand Down Expand Up @@ -308,7 +317,8 @@ def url(self):

@property
def version(self):
return self.cfg_version("3.50.4")
# Check https://sqlite.org/changes.html (avoid withdrawn releases like 3.52.0)
return self.cfg_version("3.51.3")

def c_configure_args(self):
if config_args := self.cfg_configure(self.deps_lib_dir, self.deps_lib64_dir):
Expand Down Expand Up @@ -343,6 +353,8 @@ def url(self):

@property
def version(self):
# Standalone libuuid (not util-linux), project is mostly dormant
# Check https://sourceforge.net/projects/libuuid/files/
return self.cfg_version("1.0.3")

def c_configure_args(self):
Expand Down Expand Up @@ -373,7 +385,8 @@ def url(self):

@property
def version(self):
return self.cfg_version("5.8.1")
# Check https://github.com/tukaani-project/xz/releases
return self.cfg_version("5.8.3")

def c_configure_args(self):
if config_args := self.cfg_configure(self.deps_lib_dir, self.deps_lib64_dir):
Expand Down Expand Up @@ -416,7 +429,8 @@ def url(self):

@property
def version(self):
return self.cfg_version("1.3.1")
# Check https://zlib.net/ and https://github.com/madler/zlib/releases
return self.cfg_version("1.3.2")

def c_configure_args(self):
if config_args := self.cfg_configure(self.deps_lib_dir, self.deps_lib64_dir):
Expand Down Expand Up @@ -456,6 +470,7 @@ def url(self):

@property
def version(self):
# Check https://github.com/facebook/zstd/releases
return self.cfg_version("1.5.7")

def _do_linux_compile(self):
Expand Down Expand Up @@ -490,6 +505,7 @@ def url(self):

@property
def version(self):
# Check https://www.bytereef.org/mpdecimal/download.html
return self.cfg_version("4.0.1")

def c_configure_args(self):
Expand Down
7 changes: 6 additions & 1 deletion src/portable_python/external/xtkinter.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ def url(self):

@property
def version(self):
# Effectively dead project, no updates expected
# Check https://github.com/python/cpython-source-deps (tix-* tags)
return self.cfg_version("8.4.3.6")

# noinspection PyPep8Naming
Expand Down Expand Up @@ -116,4 +118,7 @@ def candidate_modules(cls):

@property
def version(self):
return self.cfg_version("8.6.15")
# This is the Tcl/Tk version used by Tcl, Tk, and Tix sub-modules
# Staying on 8.6.x branch (9.0+ is a major rewrite)
# Check https://www.tcl-lang.org/software/tcltk/8.6.html
return self.cfg_version("8.6.17")
2 changes: 1 addition & 1 deletion tests/test_failed.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def test_build_bogus_platform(cli):
def test_failed_build(cli):
cli.run("-tmacos-arm64", "build", "3.12.0")
assert cli.failed
assert "Error while compiling xz:5.8.1: ForbiddenHttpError" in cli.logged
assert "Error while compiling xz:5.8.3: ForbiddenHttpError" in cli.logged
assert "Overall compilation failed:" in cli.logged


Expand Down