Page MenuHomeFreeBSD

lang/python313: add
Needs ReviewPublic

Authored by vishwin on Apr 6 2025, 4:08 AM.
Tags
None
Referenced Files
F128679162: D49680.id157222.diff
Sat, Sep 13, 7:10 AM
Unknown Object (File)
Mon, Sep 1, 11:30 AM
Unknown Object (File)
Mon, Sep 1, 8:59 AM
Unknown Object (File)
Mon, Sep 1, 6:43 AM
Unknown Object (File)
Sun, Aug 31, 7:35 PM
Unknown Object (File)
Sat, Aug 30, 10:34 AM
Unknown Object (File)
Sat, Aug 30, 3:42 AM
Unknown Object (File)
Fri, Aug 29, 9:04 AM
Subscribers

Details

Reviewers
None
Group Reviewers
Python
Summary

PR: 274671
Co-authored-by: vishwin

Test Plan

Successfully bootstrapped USE_PYTHON=pep517 and built setuptools.

To be committed after lang/python312.

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 64879
Build 61762: arc lint + arc unit

Event Timeline

vishwin created this revision.
  • pull in upstream commit addressing CVE-2025-4516

Reference: https://github.com/python/cpython/pull/133944
PR: 287009

  • lang/python313: update to 3.13.4

Expose FREETHREADED and JIT to show that they build, but FREETHREADED does not package. A re-architecturing of the port to accommodate this is needed.

@vishwin: how may I help you with this Differential Revision?

  • split off threaded/GIL-disabled configuration into a child port

GIL-disabled/threaded configuration is effectively its own distinct distribution so it will need its own flavours. Unfortunately regular port/package and threaded/GIL-disabled cannot be installed concurrently unlike other CPython versions.

  • bsd.default-versions.mk: add Python 3.13t

I blame BSDCan for missing the build hook-up

  • update to 3.13.5

Remove circular dependency on port LLVM, and properly generate flavours

  • databases/py-{gdbm,sqlite3}, x11-toolkits/py-tkinter: use correct distfile for 3.13
  • fix packaging, again

${PYTHON_VER} now includes the threading flag if set so that flavours work properly, but there are still a few places where we don't want any ABI flags. Introduce two new public variables to this effect.

  • python.mk: introduce PYTHON_CEXT_SUFFIX

Only compiled extension modules retain the threaded suffix if set; bytecode does not.

  • add missing patch to obviate port LLVM for JIT