Bug 282176 - lang/python314: New port, python-3.14.0 release
Summary: lang/python314: New port, python-3.14.0 release
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-python (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-18 13:57 UTC by wen
Modified: 2025-11-01 23:43 UTC (History)
13 users (show)

See Also:


Attachments
Python-3.14.0a1 (42.23 KB, application/x-gzip)
2024-10-18 13:57 UTC, wen
no flags Details
python-3.14.0 alpha4 (42.49 KB, application/x-gzip)
2025-01-16 12:54 UTC, wen
no flags Details
Update to 3.14beta1 (43.81 KB, application/x-gzip)
2025-05-09 07:21 UTC, wen
no flags Details
Update to python-3.14.0beta2 (43.62 KB, application/x-gzip)
2025-06-05 02:26 UTC, wen
no flags Details
Update to 3.14.0 RC1 (43.68 KB, application/x-gzip)
2025-07-24 12:04 UTC, Wen Heping
no flags Details
Update to 3.14.0 RC2 (43.71 KB, application/x-gzip)
2025-08-15 12:46 UTC, Wen Heping
no flags Details
Python-3.14.0rc3 (43.74 KB, application/x-gzip)
2025-09-19 13:06 UTC, Wen Heping
no flags Details
Update to 3.14.0 release (43.73 KB, application/x-gzip)
2025-10-08 13:55 UTC, Wen Heping
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description wen 2024-10-18 13:57:10 UTC
Created attachment 254333 [details]
Python-3.14.0a1

New port python-3.14.0a1

Result of `make test`:

10 slowest tests:
- test_tools: 14 min 14 sec
- test_subprocess: 1 min 42 sec
- test_pathlib: 1 min 38 sec
- test_zipimport: 1 min 33 sec
- test.test_multiprocessing_spawn.test_processes: 1 min 26 sec
- test.test_multiprocessing_forkserver.test_processes: 1 min 17 sec
- test_ssl: 1 min 12 sec
- test_peg_generator: 1 min 5 sec
- test.test_multiprocessing_fork.test_processes: 1 min
- test.test_concurrent_futures.test_wait: 58.8 sec

30 tests skipped:
    test.test_asyncio.test_windows_events
    test.test_asyncio.test_windows_utils test.test_gdb.test_backtrace
    test.test_gdb.test_cfunction test.test_gdb.test_cfunction_full
    test.test_gdb.test_misc test.test_gdb.test_pretty_print
    test_android test_dbm_gnu test_dbm_sqlite3 test_devpoll test_epoll
    test_free_threading test_idle test_launcher test_msvcrt
    test_perf_profiler test_perfmaps test_sqlite3 test_startfile
    test_tcl test_tkinter test_ttk test_ttk_textonly test_turtle
    test_winapi test_winconsoleio test_winreg test_winsound test_wmi

1 test skipped (resource denied):
    test_zipfile64

3 re-run tests:
    test.test_concurrent_futures.test_thread_pool test_dtrace
    test_shutil

2 tests failed:
    test_dtrace test_shutil

445 tests OK.
Comment 1 wen 2025-01-16 12:54:16 UTC
Created attachment 256731 [details]
python-3.14.0 alpha4

update to alpha4, `make test`:
1 test skipped (resource denied):
    test_zipfile64

3 re-run tests:
    test_dtrace test_embed test_shutil

3 tests failed:
    test_dtrace test_embed test_shutil

448 tests OK.
Comment 2 wen 2025-05-09 07:21:02 UTC
Created attachment 260279 [details]
Update to 3.14beta1

Update to 3.14beta1
Comment 3 wen 2025-06-05 02:26:41 UTC
Created attachment 260990 [details]
Update to python-3.14.0beta2

Update to python-3.14.0beta2
Comment 4 Wen Heping freebsd_committer freebsd_triage 2025-07-24 12:04:23 UTC
Created attachment 262383 [details]
Update to 3.14.0 RC1

Update to 3.14.0 RC1

the result of `make test`:
Total duration: 7 min 16 sec
Total tests: run=45,753 failures=16 skipped=2,063
Total test files: run=493/491 failed=3 skipped=32 resource_denied=1 rerun=3
Comment 5 Wen Heping freebsd_committer freebsd_triage 2025-08-15 12:46:20 UTC
Created attachment 262982 [details]
Update to 3.14.0 RC2

Update to 3.14.0 RC2
Comment 6 Wen Heping freebsd_committer freebsd_triage 2025-09-19 13:06:18 UTC
Created attachment 263918 [details]
Python-3.14.0rc3

Update to 3.14.0RC3
Comment 7 Wen Heping freebsd_committer freebsd_triage 2025-10-08 13:55:24 UTC
Created attachment 264409 [details]
Update to 3.14.0 release

Update to 3.14.0 release
Comment 8 Konstantin Belousov freebsd_committer freebsd_triage 2025-10-08 15:02:01 UTC
Why don't you just commit both this and 3.13?
Can we expect the addition of the new python versions to ports tree at least
in 2035? [I understand that I am too optimistic there]
Comment 9 Wen Heping freebsd_committer freebsd_triage 2025-10-13 12:27:11 UTC
result of `make test`:

...
3 tests failed:
    test_dtrace test_posix test_shutil
...
Total duration: 11 min 40 sec
Total tests: run=45,807 failures=16 skipped=2,076
Total test files: run=493/491 failed=3 skipped=32 resource_denied=1 rerun=3
Result: FAILURE then FAILURE
Comment 10 Matthias Andree freebsd_committer freebsd_triage 2025-11-01 17:16:42 UTC
wen@ it would really help to post details from make test. Are there detailed test logs?
Comment 11 commit-hook freebsd_committer freebsd_triage 2025-11-01 20:13:02 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=60648732604548051b170d9e599e05b870f9d008

commit 60648732604548051b170d9e599e05b870f9d008
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2025-11-01 20:02:17 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2025-11-01 20:11:56 +0000

    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

 Mk/Uses/python.mk                          |  2 +-
 Mk/bsd.default-versions.mk                 |  2 +-
 databases/py-sqlite3/Makefile              |  2 +-
 lang/python314/Makefile                    | 18 ++++++++++--------
 lang/python314/files/patch-Makefile.pre.in |  6 +++---
 lang/python314/files/pkg-message.in        |  1 -
 lang/python314/pkg-plist                   |  2 ++
 7 files changed, 18 insertions(+), 15 deletions(-)
Comment 12 commit-hook freebsd_committer freebsd_triage 2025-11-01 20:13:05 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=962f4aa7d8cdfe5ac7244cc806f4d451a0414da0

commit 962f4aa7d8cdfe5ac7244cc806f4d451a0414da0
Author:     Wen Heping <wen@FreeBSD.org>
AuthorDate: 2025-11-01 17:49:09 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2025-11-01 20:11:55 +0000

    lang/python314: add new port

    -----
    committer's note by mandree@:
    This does not enable the optional free-threaded build.

    PR:             282176

 lang/Makefile                                      |    1 +
 lang/python314/Makefile (new)                      |  167 +
 lang/python314/Makefile.version (new)              |    7 +
 lang/python314/distinfo (new)                      |    3 +
 lang/python314/files/patch-Makefile.pre.in (new)   |   62 +
 .../files/patch-Misc_python-config.sh.in (new)     |   11 +
 lang/python314/files/pkg-message.in (new)          |   12 +
 lang/python314/pkg-descr (new)                     |    2 +
 lang/python314/pkg-plist (new)                     | 8238 ++++++++++++++++++++
 9 files changed, 8503 insertions(+)
Comment 13 Matthias Andree freebsd_committer freebsd_triage 2025-11-01 20:17:34 UTC
This passes the self-test suite on FreeBSD 13.5 amd64, 14.3 amd64 with and without WITH_DEBUG, and 14.3 amd64 without WITH_DEBUG under openssl35.
Comment 14 Wen Heping freebsd_committer freebsd_triage 2025-11-01 22:54:29 UTC
(In reply to Matthias Andree from comment #13)
I am working to build it with DEBUG option and add a new option WITHOUT_GIL.
Comment 15 Charlie Li freebsd_committer freebsd_triage 2025-11-01 23:43:22 UTC
(In reply to Wen Heping from comment #14)
I tried that way a long time ago when 3.13 was still new upstream, it's not possible. Free-threaded mode is different ABI which results in a completely separate distribution hierarchy (like site-packages). See how lang/python313 and lang/python313t actually landed, because it's not one new flavour, but two.