Searches without login should now work. You must get asked to click a button.
Port details
python36Interpreted object-oriented programming language
3.6.15_1langΣ=4 3.6.15_1Version of this port present on the latest quarterly branch.
DEPRECATED: Upgrade to a newer Python version. 3.6 is in maintenance status and gets security fixes only. End-of-Life: 2021-12-23. See https://devguide.python.org/ This port expired on: 2021-12-31
===> The following configuration options are available for python36-3.6.15_1:
DEBUG=off: Build with debugging support
IPV6=on: IPv6 protocol support
LIBFFI=on: Use libffi from ports instead of bundled version
NLS=on: Enable gettext support for the locale module
PYMALLOC=on: Enable specialized mallocs
THREADS=on: Threading support
====> 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
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:
py36-gdbm databases/py-gdbm@py36
py36-sqlite3 databases/py-sqlite3@py36
py36-tkinter x11-toolkits/py-tkinter@py36
port deleted on 2021-12-31 REASON: Has expired: Upgrade to a newer Python version. 3.6 is in maintenance status and gets security fixes only. End-of-Life: 2021-12-23. See https://devguide.python.org/
cleanup: Remove expired ports:
2021-12-31 lang/python36: Upgrade to a newer Python version. 3.6 is in
maintenance status and gets security fixes only. End-of-Life: 2021-12-23. See
https://devguide.python.org/
lang/python3(6|7|8|9|10|11): work around unwanted multiarch detection again
In ports 6bef09666460 we patched out python's erroneous multiarch
detection using sed, but upstream changed the surrounding parts in the
configure script to defeat the regex we were using. Update the regex to
cope with the change.
PR: 259896, 258377
MFH: 2021Q4
Approved by: maintainer timeout (9 days)
lang/python3X: Fix library installation
The Python ports install the library libpython3.x.so under $PREFIX/lib,
and they set USE_LDCONFIG, but these libraries are not registered, due
to a missing symlink, and they are not found by `ldconfig -r'.
This commit make them to be registered, and for some reason it helps the
dynamic linker to find them, and this allows to fix an error in
french/aster. It also helps to fix errors in newer releases of math/sage
(not yet ready to be committed due to other problems).
No exp-run, but it has been tested with many ports on several platforms.
PR: 257864
Approved by: koobs (Python team)
MFH: 2021Q4
lang/python3([6-9]|10): disable detection of multiarch
It breaks with clang >= 13, which adds a major.minor version number in
-print-multiarch output, and the dot confuses Python:
ModuleNotFoundError: No module named
'_sysconfigdata__freebsd14_x86_64-unknown-freebsd14'
Since we do not support multiarch, and the configure script has no way
to disable the multiarch check, stub it out during post-patch.
PR: 258377
Approved by: maintainer timeout (2 weeks)
MFH: 2021Q3
lang/python36: Deprecate and set to expire
Python 3.6 will reach its End-of-Life at 23rd December 2021.
Set the deprecation note and expiration date accordingly.
Approved by: koobs (python, maintainer)
MFH: No (not neccessary, 3+ months from now should be OK)
Differential Revision: https://reviews.freebsd.org/D31783
Mk: switch from PYTHON_PORTVERSION to PYTHON_DISTVERSION
This brings python framework in consistense with handbook recommendations
to prefer DISTVERSION and simplifies adding prerelease versions of
python
PR: 255013
Differential Revision: https://reviews.freebsd.org/D29418
Exp-run by: antoine
Approved by: wen@, no objection from python@ or portmgr@
lang/python3{6,7,8,9}: Backport close_range patches
Worked out over BPO-40422 and BPO-40423, this is the culmination of months
of work to coordinate with Linux and get close_range(2) added to FreeBSD,
then the usage accepted into CPython. It has landed for Python 3.10 and here
I've backported it locally to all the supported Python 3 versions we have.
Note that this does include and supercede our previous closefrom(2) patches.
There was a lot of intersection between the work done, so this patch against
the ports tree does remove those patches from each of the ports in favor of
this patch. All the patches involved have been accepted and merged upstream.
This patch will bring a performance boost in some more situations on 12.2
and 13.0, as close_range exists there.
There is one additional patch sitting in an upstream PR that shuffles the
_Py_closerange implementation into a different file -- this is not important
for the backport, and the absence of that patch here will not realistically
cause any issues.
PR: 250322
Approved by: lwhsu (python)
Chanse update of devel/libffi
Chase the devel/libffi update
Bump portrevision of all dependent ports to chace shard library version bump
in libffi.
Update LIB_DEPENDS lines where needed to not require a specific version of
libffi.so.
PR: 247028 (for tracking)
lang/python36: Update to 3.6.10, Fix security issues
The patches for CVE-2019-18348 and CVE-2020-8492 are in the 3.6 branch
and will be present on the next release.
Patch for applying CVE-2020-8492 fix here in the ports tree was reported
and submitted by Mike Fisher <mfisher911@gmail.com> and
Dani <i.dani@outlook.com>.
PR: 246984
MFH: 2020Q2
Security: ca595a25-91d8-11ea-b470-080027846a02 (CVE-2019-18348)
Security: a27b0bb6-84fc-11ea-b5b4-641c67a117d8 (CVE-2020-8492)
Fix namespace pollution in python3.5 and python3.6 (upstreamed fix)
The standard math library (libm) may follow IEEE-754 recommendation to
include an implementation of sinPi(), i.e. sinPi(x):=sin(pi*x).
And this triggers a name clash, found by FreeBSD developer
Steve Kargl, who worked on putting sinpi into libm used on FreeBSD
(it has to be named "sinpi", not "sinPi", cf. e.g.
https://en.cppreference.com/w/c/experimental/fpext4).
- python2.7 and > 3.6 are already fixed
PR: 232792
Submitted by: Steve Kargl <sgk@troutmask.apl.washington.edu>, Dima Pasechnik
<dimpase+freebsd@gmail.com>
Approved by: python (maintainer timeout)
Obtained
from: https://github.com/python/cpython/commit/b545ba0a508a5980ab147ed2641a42be3b31a2db
lang/python{27,35,36,37,38}: Add closefrom(2) support
A single close(fd) syscall is cheap, but when MAXFDS (maximum file
descriptor number) is high, the loop calling close(fd) on each file
descriptor can take several milliseconds.
The default value of subprocess.Popen "close_fds" parameter changed to True
in Python 3. Compared to Python 2, close_fds=True can make Popen 10x
slower: see bpo-37790 [1]
The present workaround on FreeBSD to improve performance is to load and
mount the fdescfs kernel module, but this is not enabled by default.
This change adds minimum viable (and upstreamable) closefrom(2) syscall
support to Python's subprocess and posix modules, improving performance
(Only the first 15 lines of the commit message are shown above )
Remove compatibility code for FreeBSD < 11.2 from all ports.
Simplify some ports where DragonFlyBSD no longer needs to be special-cased.
Submitted by: rene
Reviewed by: bapt, jbeich
Differential Revision: https://reviews.freebsd.org/D17724
lang/python27,35+: Remove MAKE_JOBS_UNSAFE
ports r393217 via bug 200622 [1] originally set MAKE_JOBS_UNSAFE=yes due to
incorrect uses of recursive make [2], causing intermittent build failures when
run with multiple jobs (-jN).
Upstream committed a fix for the issue in default (3.6, at the time), 3.5 and
2.7 which are now contained in all released lang/python?? port versions. 3.4 did
not receieve a backport merge.
lang/python3.5+ ports inadvertently inherited MAKE_JOBS_UNSAFE=yes, via
repocopies from lang/python34 on their creation, when they were infact safe to
use with -j.
Remove MAKE_JOBS_UNSAFE in all lang/python?? ports except python34 accordingly.
[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200622
[2] https://bugs.python.org/issue22359
PR: 232308
Reported by: cem
Reviewed by: cem
Approved by: koobs (python)
MFH: 2018Q4
Differential Revision: D17579
lang/python3?: Fix python3.?-config behavior when symlinked
When python3.?-config is symlinked to another location it starts
outputting bogus paths. For example
$ pwd
/home/tobias
$ python3.6-config --includes
-I/usr/local/include/python3.6m -I/usr/local/include/python3.6m
$ ln -s /usr/local/bin/python3.6-config python3-config
$ ./python3-config --includes
-I/home/include/python3.6m -I/home/include/python3.6m
This breaks ports trying to use BINARY_ALIAS together with
python3.?-config. Apply a patch to resolve the symlink first before
trying to find the install prefix.
PR: 229749
Submitted by: tobik
Reviewed by: antoine, miwi
Approved by: python (miwi)
Remove over-patched shebang fix of Lib/cgi.py
The change from /usr/local/bin/python to /usr/local/bin/python3.6 is already
done by USES=shebangfix.
% head -1 /usr/local/lib/python3.6/cgi.py
#!/usr/local/bin/python3.63.6
Clean up Makefile
- Move BROKEN_SSL upward
- Sort USES
- Remove CPE_*: all of them are default values
- Update PLIST_FILES: do not use %%
- Update http:// links in Makefile comments and patch files
Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
(Only the first 15 lines of the commit message are shown above )
Add a code block for the qemu-user enabled cross build environment. When using
this environment in poudriere, CC is not set to the default of /usr/bin/cc and
a cross-compile toolchain is used. We need to hand edit this so that the run
time configuration for python matches what the FreeBSD base system provides.
PR: 208282
Submitted by: manu
Approved by: portmgr (mat)
lang/python{27,33,34,35,36}: Make Python curses module work with Unicode
Use readline from ports (USES= readline:port) and patch
setup.py to ignore readline from base. The patch is necessary for
FreeBSD < 1100000, as after this the readline library became an
INTERNALLIB, see base r268461 [1]
Link devel/readline against termcapw instead of termcap is part of
this change, see ports r444463 [2]
Note that this is the **ports** approach for getting Python curses
module working with Unicode. The other way is splitting libncurses
into separate libncurses and libtinfo in base, for which an open
issue exists [3].
(Only the first 15 lines of the commit message are shown above )
Mark BROKEN with openssl-devel.
pkg-static: Unable to access file
/wrkdirs/usr/ports/lang/python36/work/stage/usr/local/lib/python3.6/lib-dynload/_ssl.so:No
such file or directory
Sponsored by: Absolight
lang/python{27,33,34,35,36}: Install GDB debugging script
Users with a GDB that supports [1] Python extensions will automatically
load the extra debugging extensions when debugging programs that are
linked with libpythonX.Y.so.foo.
This enables extensions like 'py-bt' and 'py-frame' as described in
the Fedora Wiki Article: Easier Python Debugging [2], which can be
useful for debugging Python program state from crashes in C extensions,
for example.
[1] PYTHON option enabled in devel/gdb
[2] https://fedoraproject.org/wiki/Features/EasierPythonDebugging
PR: 203021
Submitted by: cem
Reviewed by: mat, koobs (python)
Approved by: koobs (python)
Differential Revision: D10398