===> The following configuration options are available for python314-3.14.8:
DEBUG=off: Build with debugging support
IPV6=on: IPv6 protocol support
LIBMPDEC=on: Use libmpdec from ports instead of bundled version
LTO=on: Use Link-Time Optimization
NLS=on: Enable gettext support for the locale module
PYMALLOC=on: Enable specialized mallocs
====> Experimental features
JIT=off: Enable just-in-time compiler
====> Hash Algorithm (PEP-456): you can only select none or one of them
FNV=off: Modified Fowler-Noll-Vo Algorithm
SIPHASH=off: SipHash24 Algorithm
===> Use 'make config' to modify these settings
lang/python314: fix/restore nxb-bin bytecode compile copypasta
_sysconfigdata no longer includes the FreeBSD major version, and
have ${REINPLACE_CMD} operate over all lines in the file.
Reported by: Christian Ullrich
PR: 296040
lang/python3*: give maintainership to the python@ team
Thank you for your past maintainership, but these ports should always be
maintained by a team, not individuals.
lang/python314: Update to 3.14.5
This release swaps out the incremental garbage collector for the
generational one used in 3.13 due to reports of memory pressure.
Backport the post-release upstream fix for:
Heap Buffer Overflow in pyexpat Character Data Buffering #148441
which is believed to be only triggered in rare circumstances.
Changelog: https://www.python.org/downloads/release/python-3145/
PR: 295200
MFH: 2026Q2
lang/python314: Security update to 3.14.4
Add a -flto=full option, which can speed up the port build
in terms of wallclock time at the expense of overall more
CPU time.
Issue a warning that test_ssl will fail from pre-test
if DEBUG is enabled.
Changelog: https://docs.python.org/release/3.14.4/whatsnew/changelog.html
PR: 294324
Which contains these security fixes:
(Only the first 15 lines of the commit message are shown above )
devel/libtextstyle, devel/gettext*: Update to 1.0
devel/gettext-tools: Use external libunistring and libxml2.
lang/python*: Remove dependency on gettext-tools. It isn't used and
it is gettext-tools that depends on python now.
PR: 293963
Exp-run by: antoine
lang/python314: SECURITY update to v3.14.3
ChangeLog: https://docs.python.org/release/3.14.3/whatsnew/changelog.html
MFH: 2026Q1 (immediately)
Security fixes:
* gh-144125: BytesGenerator will now refuse to serialize (write) headers
that are unsafely folded or delimited; see verify_generated_headers.
(Contributed by Bas Bloemsaat and Petr Viktorin in gh-121650).
* gh-143935: Fixed a bug in the folding of comments when flattening an
email message using a modern email policy. Comments consisting of a
very long sequence of non-foldable characters could trigger a forced
line wrap that omitted the required leading space on the continuation
(Only the first 15 lines of the commit message are shown above )
lang/python314: limit compileall to MAKE_JOBS_NUMBER
This seems to help with cross-builds (qemu) for RISC-V machines.
Obtained from: Siva Mahadevan
Differential Revision: https://reviews.freebsd.org/D55050
lang/python314: Fix cross build with native-xtools
- Python 3.14 does not include the OS version in the name of the
sysconfigdata file anymore.
- There are at least two commands on a single line that should have
their /nxb-bin/ prefix removed.
PR: 292222
lang/python314: avoid posix_fallocate test failure
that stems from our posix_fallocate() returning ENOTSUP
in accordance with the Open Group Base Specifications Issue 8.
Patch test to trap that return code on FreeBSD as well (it
was handled for NetBSD already.)
lang/python314: get port ready to ship
claim maintainership on the new port - not doing that with the
previous commit by wen@ to have a clear distinction who contributed
what.
- require archivers/zstd since it's part of the Python standard library:
https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-zstandard
- refresh Makefile.pre.in patch
- skip test_gdb without WITH_DEBUG
test_gdb has test_pretty_print, which requires debug symbols.
Skip it if WITH_DEBUG is not defined.
- drop --with-system-ffi configure option, which is no longer supported
and its behaviour is now the default
- move sqlite3 extension back into port
because the separate port fails to build
(mark the external python:-3.13)
PR: 282176