821 Commits

Author SHA1 Message Date
sthen 6639ee6c2b fix edit mistake done when wrangling PLISTs to handle py3-packages that
were removed during the 7.9->-current cycle (specifically, go back to
py3-backports-zstd that accientally got changed to py2-backports-zstd)
2026-06-17 01:17:48 +00:00
daniel dbcea3d57f bring back bin/2to3 now that it was removed from Python 3.14
We have python2.7-2to3 there, but it's more convenient for me to use the
shorter tool name. So bring it back now that there's no conflict.

This tool is still useful to help get some of the final Python 2 bits over
to Python 3.

ok and tweaked by sthen@
2026-06-15 20:32:25 +00:00
daniel 96351808fc update python to 3.14.5
ok kmos@ (MAINTAINER), tb@
2026-06-07 17:29:15 +00:00
tb f250495d25 bsd.port.mk: python-modules(5) -> python-module(5) twice
ok sthen
2026-06-05 13:53:35 +00:00
tb fbe4baa1c8 Add MODPY_WANTLIB to CHECK_LIB_DEPENDS_ARGS in the python module
When the python module is in scope, usually the WANTLIB lists are quite
big and it's very easy to miss a hardcoded python314 or similar, as shown
by recent mistakes I made. Having this expanded and at the start of the
WANTLIB list gives a hint that one needs to pay attention and might help
reduce mishaps.

tested & ok sthen
2026-05-22 08:20:27 +00:00
sthen 556b432cf4 nerge hotdoc into lang/python/3,-main, otherwise there's no upgrade path to
move 7.9-release users onto python 3.14 if they have it installed
2026-05-16 21:56:52 +00:00
sthen 30c1a3cb35 add @conflict/@pkgpath for backports-zstd 2026-05-12 13:46:46 +00:00
sthen ff78cf771d update python/3 to 3.14.4, ok tb (who also helped with build tests and
fixing up other ports etc), daniel

a few changes to follow

_MODPY_SYSTEM_VERSION bumped rather than bumping ERANGE ports
2026-05-12 13:45:10 +00:00
sthen 6864fc9884 add variables for a few more things relating to Python version number
and substitute them in PLISTs, reducing churn for updates. suggested by
daniel@, ok tb kmos
2026-05-12 09:50:42 +00:00
sthen 3c1df0769c fix PORTROACH var 2026-04-15 15:57:02 +00:00
tb 51c3d04d4b Update to Python 3.13.13, ok kmos sthen
https://www.python.org/downloads/release/python-31313/

Apply the fixes for CVE-2026-6100 (also ok kmos sthen) and on top of this
pull in an additional missing bit in the fix for CVE-2026-4519.
2026-04-14 10:51:23 +00:00
sthen 8a07a52797 update to python-3.13.12 and patch for recent security fixes. ok tb@ kmos@
https://mail.python.org/archives/list/security-announce@python.org/thread/H6CADMBCDRFGWCMOXWUIHFJNV43GABJ7/
Reject control characters in 'http.cookies.Morsel.update' (CVE-2026-3644)

https://mail.python.org/archives/list/security-announce@python.org/thread/5M7CGUW3XBRY7II4DK43KF7NQQ3TPZ6R/
Fix C stack overflow (CVE-2026-4224) when an Expat parser with a registered
'ElementDeclHandler' parses inline DTD containing deeply nested content model.
2026-03-18 11:14:47 +00:00
sthen dbff3feb68 use canonical pypi.org url for HOMEPAGEs set via MODPY_PI
bumps to follow
2026-03-16 22:28:04 +00:00
sthen 0fca7bf6c2 MODPY_TEST_LINK_SO not needed in the py2 version of python.port.mk 2026-02-12 10:59:46 +00:00
sthen e6399325b6 cython picks up pythran at run time in some cases, resulting in DPB
failure if junking occurs. This was being avoided by adding a BDEP on
pythran to ports depending on cython. Change this to using nojunk
DPB_PROPERTIES instead as the pythran dep is fairly heavy to build
(using gfortran) and this on the path to building rust (via clang
-> py-sphinx -> py-stemmer -> cython) which is indirectly used by
a quarter of the ports tree.
2026-02-07 09:27:25 +00:00
sthen c0bd4e60fe handle MODPY_PYBUILD=poetry-dynamic-versioning 2026-02-06 13:53:17 +00:00
sthen 5a1483d7a1 let MODPY_BUILD_DIR work with MODPY_PYBUILD as well (targets need adding
manually; typically this would only be used for building a python extension
that's part of some other distribution in a subdir so this is what you
usually want)
2026-02-06 13:30:21 +00:00
sthen 5436f82bc2 add MODPY_BUILD_DIR, allowing running pybuild steps in a dir other than
WRKSRC, mostly useful when building/installing some python component that
doesn't build (or doesn't build properly) as part of the main build
2026-02-01 20:57:09 +00:00
sthen e7938db9ca bump revision of ports which have a pkg-config check for ncursesw which
may now be taking different codepaths now we install the .pc file (some
e.g. python 3 definitely are)
2026-01-31 18:24:22 +00:00
sthen 1258f6e789 update comment 2026-01-30 13:30:53 +00:00
sthen b7af099b61 handle py3-bsddb3 the same way as glade; fixes package updates from 7.8
with an old version of py3-bsddb3 installed (otherwise python is blocked).
has to be done this way rather than as quirks due to quirks leaving the
old packages still installed.
2026-01-30 13:30:34 +00:00
sthen c3bf53e182 copy some parts from meson.port.mk for MODPY_PYBUILD=mesonpy; avoids picking
up llvm-ar-XX from ports (ar in base is actually llvm-ar but there's no link,
which confuses various ports build systems so we need to hack around it)
2026-01-22 13:44:08 +00:00
sthen 971aaa96b4 pass -v through to meson when building with mesonpy 2026-01-16 18:16:54 +00:00
sthen bb1bcef8c1 stop trying to subst in ${PREFIX}/bin/pip${VERSION} which doesn't exist
anyway (we use a separate package for pip)
2026-01-15 11:53:46 +00:00
sthen 598cecccbd fix MODPY_PYTEST for !MODPY_PYBUILD ports 2026-01-10 12:26:03 +00:00
sthen 1f7e602caf point TMPDIR under WRKDIR during build for scikit-build-core, to keep build
files contained (otherwise it writes to /tmp/tmpXX)
2026-01-09 15:18:21 +00:00
sthen e9c5ab5140 fix _MODPY_EXPECTED_BACKEND for scikit-build-core 2026-01-09 15:12:27 +00:00
sthen 0e4f7d1c59 support MODPY_PYBUILD=scikit-build-core 2026-01-09 15:11:21 +00:00
sthen 56417f5b98 remove "obsolete" quirks entry for glade, and merge devel/glade into
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.
2025-12-20 16:46:45 +00:00
sthen 8de6f67b35 don't autodetect CPUs for MODPY_PYBUILD=mesonpy ports, pass in MAKE_JOBS
instead. found by claudio@
2025-12-18 13:50:36 +00:00
sthen 6bacfbe34f set env var to disable warning from coherent.licensed if present during
a setuptools build.
2025-12-17 10:42:49 +00:00
tb b7a19cf142 Update to Python 3.13.11, ok kmos (maintainer), sthen
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.
2025-12-12 02:44:50 +00:00
tb 7d38f46fdc python/2.7: treat ASN1_STRING as opaque
ok kmos (maintainer)
2025-12-10 06:23:15 +00:00
claudio 6722745bd4 Python 3 needs to use ports-gcc because it requires atomic instructions
that our gcc4 lacks.

Idea from sthen@
OK sthen@ tb@
2025-11-26 10:02:27 +00:00
sthen 3fd2581a3b add -V 1 to PKG_ARGS for ports using python 3, so that updates work without ERANGE bumps 2025-11-14 17:46:39 +00:00
sthen 2df697593c update python/3 from 3.12.x to 3.13.9, various syncs etc to follow 2025-11-14 17:46:17 +00:00
sthen 8f388dc431 add a non-fatal error if both MODPY_PI and GH_ACCOUNT are set 2025-11-14 08:20:58 +00:00
sthen 0925e31bd2 now that the tree is cleaner, test "${MODPY_PYBUILD} != No" instead of
".if empty(CONFIGURE_STYLE)".

with this it should be possible to remove annoying "CONFIGURE_STYLE=none"
hacks.
2025-11-05 19:21:58 +00:00
sthen 6beb4994a6 drop some unnecessary ${xxx:L} in variables that are set internally in
python.port.mk and won't be typo'd as lower-case
2025-11-04 16:01:25 +00:00
sthen 5bb2821603 - tweak wording around --enable-optimizations explaining what it enables, etc
- use the more usual --without-lto rather than --with-lto=no
2025-11-02 19:02:09 +00:00
sthen fd85d63b69 drop MODPY_SETUPTOOLS parts from py3 python.port.mk and error out if
MODPY_SETUPTOOLS is set.
2025-10-29 12:55:06 +00:00
daniel e36fabdbd8 update Python to 3.12.12
https://docs.python.org/release/3.12.12/whatsnew/changelog.html#python-3-12-12

ok kmos@ (MAINTAINER), sthen@
2025-10-25 17:05:53 +00:00
sthen 22c389f838 drop MODPY_COMMENT, it is no longer used 2025-10-23 13:23:38 +00:00
sthen dcaba51f26 change UPDATE_PLIST_ARGS, we don't need MODPY_COMMENT any more as we no
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)
2025-10-22 07:36:24 +00:00
sthen 7b21cc71c3 explicitly disable LTO on armv7 (and ld.bfd archs, though it wouldn't be
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
2025-10-21 17:09:38 +00:00
sthen edf5050a4e drop MODPY_PYC_MAGIC_TAG and MODPY_PYOEXTENSION from py2 ports 2025-10-20 19:51:08 +00:00
sthen 09eea2b2c5 drop MODPY_PYCACHE and MODPY_ABI3SO from 2.7 python module 2025-10-20 19:46:06 +00:00
sthen 0485386113 drop MODPY_COMMENT from python/2.7 module 2025-10-20 19:33:08 +00:00
sthen f966398da1 set ONLY_FOR_ARCHS?=${RUST_ARCHS} for ports using setuptools-rust or
maturin in MODPY_PYBUILD, so we don't checksum a bunch of crates only to
bail out later when lang/rust is not found
2025-10-19 12:44:05 +00:00
sthen e69847b059 switch the MODPY_PYBUILD error for unknown backends to defer to python-modules(5)
rather than listing them directly
2025-09-17 22:14:32 +00:00