Some notes:
- Enabled '--with-lto' for some extra bits of speed.
- Building the GIL-free version fails, so only the "traditional" available.
- Experimental JIT compiler also failed to build. Might try again on next releases.
This version removes, among other things, lib2to3, so we might face some compatibility issues
with older packages.
Reworked the .patchset, to match what has been done for other versions already.
According to "PEP 664 – Python 3.11 Release Schedule" this is 3.11's
"final regular bugfix release".
Re-worked the patchset, mostly to avoid having scattered changes to the same
areas, trying to keep each "commit" on a narrower focus/topic.
Fixes#10211, and attempts to fix some remaining _INSTALL_SCHEMES issues.
(makes `platinclude` point to the system headers for the default scheme,
which should avoid having to set HAIKU_USE_VENDOR_DIRECTORIES=1 when bulding
gdb).
This will get EOL-ed in October (assuming it ever gets a .19 release).
We've anounced its demise on the forums in March, with a 6 months grace
period. Now that we have 3.11 on the repos, time to let this one go.
While this only removes the Python 3.8 package, and not each individual
"_python38" package we have, at least it will make it obvious we need to
change those recipes at install/update/rebuild time.
Only one recipe (not under /dev-python/) uses `python3.8` directly, and that's
for `calibre`'s TEST() (that recipe needs moving to 3.10 anyway).
So long Python 3.8!
* Use BASEFLAGS instead of CFLAGS, and set OPT to something better than "".
This seems to finally make "--enable-optimizations" do some speedup :-)
* Disabled/skipped more hanging tests. If debugger is configured to "kill",
running "hp --test python3.10" should finally not hang anymore.
* Use BASEFLAGS instead of CFLAGS, and set OPT to something better than "".
This seems to finally make "--enable-optimizations" do some speedup, so
lets use it for 3.9 too now.
* "backported" the 3.10 patch for "largefile" flag in tests, and also the
entire TEST() function from the 3.10.12 recipe, as it makes possible to
run `hp --test python3.9` without hanging (assuming Debugger is set to
kill).
This is the last of the "regular" bugfixes releases.
Only "security updates", will be available, released as needed,
from this point forward, till around October 2026.
This addresses the "small caveat" issue mentioned on #7531 that
affects all python versions, by making sure that both site.py's
and sysconfig.py's copies of _getuserbase() have the same code.
Also: renamed the package to be consistent with the rest of the
Python versions.
This addresses the "small caveat" issue mentioned on #7531 that
affects all python versions, by making sure that both site.py's
and sysconfig.py's copies of _getuserbase() have the same code.
This addresses the "small caveat" issue mentioned on #7531 that
affects all python versions, by making sure that both site.py's
and sysconfig.py's copies of _getuserbase() have the same code.
This addresses the "small caveat" issue mentioned on #7531 that
affects all python versions, by making sure that both site.py's
and sysconfig.py's copies of _getuserbase() have the same code.
* python310: bump revision to 3.10.8.
* Use "make altinstall".
* Documented problematic tests, and skipped the ones that hang/stall.
* Enable optimizations.
* Added a note regarding tests that invoke the crash dialog.
Running "hp --test python310" now gives the same results[*] for both
non-optimized, and optimized builds, so let's just enable
optimizations for 3.10.8.
[*] As there's some randomness involved in the test runs, YMMV.
Anecdotal/aditional info:
Building and testing with "--disable-test-modules" might be
considered? Python's docs read:
"The test package is meant for internal use by Python only."
And that those are used for regression testing mostly. See:
https://docs.python.org/3/library/test.html#module-test
Personal experience: I got more consistent results with that flag
enabled, than witout it. I left it out, trying to avoid hiding
problems (a.k.a.: failing silently. A big NO-NO in QA/QC), and
because I assume that packaging Python counts as "internal use".
* python310: patch tests that need several GB of storage.
They now behave like on Windows or MacOSX, requiring to be enabled
by the use of the "largefile" resource usage flag.
* python3.10: rename package from python310 to python3.10.
This matches the rename of python3 to python3.7, and the similar
change for Python 3.9.
Renamed patchset files to match the recipe naming.
Sorted sections according to the Haikuporter Guidelines.