lang/python/3 via @pkgpath + @conflict (no quirks entry required
for that, because it is part of the update-set anyway).
glade in 7.8 depended on python 3.12 and in order that upgrades to
-current (and later 7.9) can work, we need to provide an upgrade path
that makes it disappear if installed. listing a port as obsolete does
not do this, it just leaves it installed, along with any packages
which it depends on (i.e. python 3.12 here), resulting in problems
if that causes a conflict.
3.13.10 was a rather massive update and .11 adds a few fixes on top,
some of them for not too terrible security issues:
https://www.python.org/downloads/release/python-31310/https://www.python.org/downloads/release/python-31311/
The annoying bit about this update is that our homegrown expat build
system does not install expat_config.h, which, strangely, is autoconf
results exposed in a public header (next to a few XML_ things). Until
that's sorted in base we get to patch the Python code since the expat
maintainer made the mitigation knobs only available behind some config
knobs, which the new Python code assumes to be enabled.
longer handle py2+3 in the same port
(I'll remove them from existing ports sometime, but probably alongside
a switch to a newer python branch, as a sweep touches a lot of PLISTs)
autodetected there anyway), otherwise python tries to use it and fails
(currently with SIGILL).
explicitly set --with-lto=no when we want it disabled, to make it clear.
clear up old .if block that just had comments in, talking about
--enable-optimizations. that wants revisiting now that we have newer
toolchain, but needs per-arch tests.
found by phessler, diff following discussions with phessler tb jca
MODPY_PYBUILD etc) and 3 (which doesn't remove all that much yet, but
when the remaining py3 MODPY_SETUPTOOLS are gone we'll be able to
remove the confusing conditionals around that)
been through enough of a bulk for confidence
${WRKSRC} which was added MODPY_TEST_LIBDIR brokes MODPY_TEST_LINK_SO as
side effect because it introduced a cyclic loop for resulted symlinks.
OK: sthen@
installed files are in different locations in the dist-info directory
(names are normalized, and licenses move to a subdirectory), so PLISTs
generated on older versions won't package on newer versions and vice-versa
setuptools opportunistically picks up extensions and builds can fail if
dpb junking occurs during build (only really likely on a slower building
port with compiled code rather than a pure Python port). it doesn't
happen _all_ that often (I've gone months without seeing it in my i386
bulk builds) but isn't that easy to identify from the logs and people
that can run more jobs in parallel hit it more frequently, so let's go
back to nojunk and see how we go.
(use case: setuptools-rust has some fiddly setup so if you use that, it needs
to be in MODPY_PYBUILD, if the port also need setuptools_scm you would then
need to list in bdep, and we don't really want the warning in that situation).
getting added to _sysconfigdata, which results in some compiled Python
extensions picking it up.
noticed while investigating surprising memory use in LLVM 18+ while
compiling cython-generated C code (~700MB in LLVM 16/17; 10GB+ in 18).
llvm #124749