diff --git a/src/portable_python/external/__init__.py b/src/portable_python/external/__init__.py index 34a443a..f9af39e 100644 --- a/src/portable_python/external/__init__.py +++ b/src/portable_python/external/__init__.py @@ -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): diff --git a/src/portable_python/external/xcpython.py b/src/portable_python/external/xcpython.py index 2059722..579cdc7 100644 --- a/src/portable_python/external/xcpython.py +++ b/src/portable_python/external/xcpython.py @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): @@ -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): diff --git a/src/portable_python/external/xtkinter.py b/src/portable_python/external/xtkinter.py index 9d0f626..31ef27b 100644 --- a/src/portable_python/external/xtkinter.py +++ b/src/portable_python/external/xtkinter.py @@ -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 @@ -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") diff --git a/tests/test_failed.py b/tests/test_failed.py index 80572cd..fd56566 100644 --- a/tests/test_failed.py +++ b/tests/test_failed.py @@ -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