===> The following configuration options are available for python27-2.7.18_5:
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
====> Unicode support: you have to select exactly one of them
UCS2=off: Enable UCS2 Unicode Strings
UCS4=on: Enable UCS4 Unicode Strings
===> Use 'make config' to modify these settings
All Python ports: Address abort() for ctypes import on FreeBSD/ARM
The current FreeBSD/ARM __clear_cache() implementation does nothing #if
__i386__ || __x86_64__ #else abort();
cognet@ advises this is an issue for anything !Apple that is using the
libcompiler_rt provided by Clang on ARM, and requires upstreaming.
This is the root cause of abort() on import for the ctypes module in
Python, as they bundle libffi. [1]
This change patches the bundled libffi library in all Python ports, even
though it is a NOOP for the ports that use devel/libffi. These ports,
currently python31, will get the fix via ports/184517
A huge shout out to cognet@ who helped diagnose the issue and created
the patch to address it. Thank you!
PR: ports/149167 [1]
PR: ports/184517
Submitted by: cognet [3]
Reviewed by: cognet, eadler, milki, ak
lang/python27: Remove patch-configure, its now a NOOP
lang/python26, lang/python27 and lang/python31 now add
ac_cv_opt_olimit_ok=no to CONFIGURE_ENV to disable functionality that
was removed in Python 3.2+ [1]
Pending a backport of the commit [2] to 2.7, we can now remove the
locally maintained patch to configure that disabled the functionality
when CC = clang.
Apart from being narrower in scope than ac_cv_opt_olimit_ok=no, the patch
doesn't work for FreeBSD versions where clang *is* cc (eg: 10.0+)
[1] http://hg.python.org/lookup/r85656
[2] http://bugs.python.org/issue877121
Reviewed by: antoine
- Move the symlink magic for the default python version into lang/python
and lang/python2 and lang/python3. This change brings us closer to the goal
of making Python ports usable with different Python versions at the same
time.
- Add a new lang/python2 port to handle the symlinks for bin/python2,
bin/idle2, bin/pydoc2 and so on.
- Add a new lang/python3 port to handle the symlinks for bin/python3,
bin/idle3, bin/pydoc3 and so on.
- Bump the PORTREVISION on all lang/python* ports.
Add patch that resolves the issue, found after r250991 in src HEAD.
Investigation and the patch are from Marcel Moolenaar.
I also added upstream bug-report, based on Marcel's info:
http://bugs.python.org/issue18178
There also was relevant discussion on current@:
http://lists.freebsd.org/pipermail/freebsd-current/2013-June/
Please see there for details of the issue.
Submitted by: marcel (python@ ML)
Reported by: many
- update to latest upstream versions:
. lang/python27: 2.7.3 -> 2.7.5
. lang/python32: 3.2.3 -> 3.2.4
. lang/python33: 3.3.0 -> 3.3.1
- update Mk/bsd.python.mk with new versions
- mark lang/python26 and lang/python31 as deprecated (set them to
upstream EoL dates)
- update docs (lang/python-doc-html)
- align databases/py-bsddb patch for python27 - most of it was applied
upstream. Raise BDB version to 4.3 atleast, according to
upstream requirements.
Many thanks to Martin (miwi) for his time on this update.
PR: 178506
(Only the first 15 lines of the commit message are shown above )
Commit all the non-functional changes to python ports to reduce the diff size
for an exp-run of updated python versions.
- trim Makefile headers
- remove leading indefinite article from COMMENT
- use PYTHON shortcut in MASTER_SITES
- whitespace fixes
- remove checks for unsupported versions of FreeBSD
- use static value ``33'' instead of PYTHON_SUFFIX in lang/python33/pkg-plist,
because this value is not supposed to be changed across the branch and for
consistency with other python3 ports
- remove conflicts in lang/python-mode.el with not more existing python-2.4
- Remove "first-installed-win" logic for automatically setting
${PYTHON_DEFAULT_VERSION}, this generates conflicting packages.
- Create symbolic links as PEP 394 [1] suggests. ${PYTHON_DEFAULT_VERSION}
will create python and python${MAJOR_VERSION} links. In current default,
lang/python27 will create: python -> python2 -> python2.7
- Introduce ${PYTHON3_DEFAULT_VERSION}, which will handle bin/python3 link.
At this point, lang/python33 will create python3 -> python3.3
- Minor cleanups
* Trim Makefile headers
* Remove ${OSVERSION} detection for xz, whihc is done by USE_XZ
[1] http://www.python.org/dev/peps/pep-0394/
Create python2 symlink for the latest version of python2.X executable and
python3 symlink for the latest version of python3.X executable.
People who really want to use older python version for both python branches
should specify explicit version number in interpreter invocation.
Discussed on python@ long ago.
- do not hardcode distfile extension for lang/python ports in bsd.python.mk
(PYTHON_DISTFILE variable)
- switch lang/python ports (and it's slaves) to tar.xz
I compared all the four pairs .tgz/.tar.xz and they have no content differences.
Discussed on: python@
- Fix builds, if the NLS option switch is set. In some cases
expat-related modules are not built correctly.
PR: ports/169276
Submitted by: Greg Byshenk <freebsd@byshenk.net>
- Fix gettext detection for the locale module
- Explicitly enable/disable gettext support via a new NLS OPTION switch.
PR: ports/168684ports/136917
On behalf of: python@
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead
PR: 157936
Submitted by: myself
Exp-runs by: pav
Approved by: pav
Handle built world without NIS more gracefully; detect missing ypcat and
disable NIS module.
PR: ports/115940
Submitted by: Alex Deiter <tiamat@komi.mts.ru>
Reviewed by: bf