summaryrefslogtreecommitdiff
path: root/lang/python/pyversion.mk
AgeCommit message (Collapse)AuthorFilesLines
2021-04-23pyversion.mk: handle more cmake module goopnia1-1/+14
2020-12-19pyversion.mk: Do not create self-conflicts for incompatible versionsnia1-1/+3
This resolves a problem where graphics/py-cairo and graphics/py-cairo118 cannot be installed simulatenously despite not conflicting. PR pkg/55881
2020-12-04Switch the default Python version to 3.8nia1-3/+3
3.7 is currently in security fixes only mode, but 3.8 will continue to recieve a few more months of normal bug fixes. This should give us time to prep the tree for 3.9 (a few packages are not happy with 3.9 yet). 3.8 might be more problematic than 3.7 for Linuxes using older compilers where shm_open isn't detected probably (however this problem doesn't seem to be entirely absent in 3.7, as shown by certain packages like mozjs*?). According to the CentOS 7 folks on tech-pkg this should be possible to work around by using a newer compiler.
2020-10-10python39: added version 3.9.0adam1-6/+6
3.9.0 Release highlights New syntax features: PEP 584, union operators added to dict; PEP 585, type hinting generics in standard collections; PEP 614, relaxed grammar restrictions on decorators. New built-in features: PEP 616, string methods to remove prefixes and suffixes. New features in the standard library: PEP 593, flexible function and variable annotations; os.pidfd_open() added that allows process management without races and signals. Interpreter improvements: PEP 573, fast access to module state from methods of C extension types; PEP 617, CPython now uses a new parser based on PEG; a number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall; garbage collection does not block on resurrected objects; a number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, math, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489; a number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384. New library modules: PEP 615, the IANA Time Zone Database is now present in the standard library in the zoneinfo module; an implementation of a topological sort of a graph is now provided in the new graphlib module. Release process changes: PEP 602, CPython adopts an annual release cycle.
2020-03-15lang/python: add show-all-pyversion targetrillig1-1/+21
When devel/py-flake8 is built with PYTHON_VERSION_DEFAULT=27, it nevertheless depends on py37-test-runner-5.2. This is surprising, and to help researching this issue, all Python-related variables can be listed using "bmake show-all-pyversion".
2019-10-15python38: added version 3.8.0adam1-6/+6
Major new features of the 3.8 series, compared to 3.7 PEP 572, Assignment expressions PEP 570, Positional-only arguments PEP 587, Python Initialization Configuration (improved embedding) PEP 590, Vectorcall: a fast calling protocol for CPython PEP 578, Runtime audit hooks PEP 574, Pickle protocol 5 with out-of-band data Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) Parallel filesystem cache for compiled bytecode Debug builds share ABI as release builds f-strings support a handy = specifier for debugging continue is now legal in finally: blocks on Windows, the default asyncio event loop is now ProactorEventLoop on macOS, the spawn start method is now used by default in multiprocessing multiprocessing can now use shared memory segments to avoid pickling costs between processes typed_ast is merged back to CPython LOAD_GLOBAL is now 40% faster pickle now uses Protocol 4 by default, improving performance
2019-04-26Remove 34 and 35 from python versions.roy1-6/+6
2019-04-24Default to python 3.7.maya1-3/+3
We don't want to end up defaulting to an EOL python by the end of this year, and would like to switch early in the branch. Waiting longer isn't wise.
2018-11-13python: handle pythons with pymalloc option when setting PYTHONCONFIGmarkd1-1/+5
2018-10-19Always give full interpreter path to cmake.bsiegert1-4/+5
This was previously Darwin-only but I ran into the same situation when building finance/gnucash on NetBSD. /usr/pkg/bin/python happened to be 2.7, but it was used instead of python3.7, leading to a build failure. This commit fixes that.
2018-10-07Extend PYTHON_FOR_BUILD_ONLY to testryoon1-2/+4
2018-07-03python37: added version 3.7.0adam1-6/+6
Python 3.7.0 is the newest major release of the Python language, and it contains many new features and optimizations. Among the major new features in Python 3.7 are: PEP 539, new C API for thread-local storage PEP 545, Python documentation translations New documentation translations: Japanese, French, and Korean. PEP 552, Deterministic pyc files PEP 553, Built-in breakpoint() PEP 557, Data Classes PEP 560, Core support for typing module and generic types PEP 562, Customization of access to module attributes PEP 563, Postponed evaluation of annotations PEP 564, Time functions with nanosecond resolution PEP 565, Improved DeprecationWarning handling PEP 567, Context Variables Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode) The insertion-order preservation nature of dict objects is now an official part of the Python language spec. Notable performance improvements in many areas.
2017-01-01What’s New In Python 3.6adam1-6/+6
Summary – Release highlights New syntax features: PEP 498, formatted string literals. PEP 515, underscores in numeric literals. PEP 526, syntax for variable annotations. PEP 525, asynchronous generators. PEP 530: asynchronous comprehensions. New library modules: secrets: PEP 506 – Adding A Secrets Module To The Standard Library. CPython implementation improvements: The dict type has been reimplemented to use a more compact representation based on a proposal by Raymond Hettinger and similar to the PyPy dict implementation. This resulted in dictionaries using 20% to 25% less memory when compared to Python 3.5. Customization of class creation has been simplified with the new protocol. The class attribute definition order is now preserved. The order of elements in **kwargs now corresponds to the order in which keyword arguments were passed to the function. DTrace and SystemTap probing support has been added. The new PYTHONMALLOC environment variable can now be used to debug the interpreter memory allocation and access errors. Significant improvements in the standard library: The asyncio module has received new features, significant usability and performance improvements, and a fair amount of bug fixes. Starting with Python 3.6 the asyncio module is no longer provisional and its API is considered stable. A new file system path protocol has been implemented to support path-like objects. All standard library functions operating on paths have been updated to work with the new protocol. The datetime module has gained support for Local Time Disambiguation. The typing module received a number of improvements and is no longer provisional. The tracemalloc module has been significantly reworked and is now used to provide better output for ResourceWarning as well as provide better diagnostics for memory allocation errors. See the PYTHONMALLOC section for more information. Security improvements: The new secrets module has been added to simplify the generation of cryptographically strong pseudo-random numbers suitable for managing secrets such as account authentication, tokens, and similar. On Linux, os.urandom() now blocks until the system urandom entropy pool is initialized to increase the security. See the PEP 524 for the rationale. The hashlib and ssl modules now support OpenSSL 1.1.0. The default settings and feature set of the ssl module have been improved. The hashlib module received support for the BLAKE2, SHA-3 and SHAKE hash algorithms and the scrypt() key derivation function.
2016-07-09Remove python33: adapt all packages that refer to it.wiz1-6/+6
2016-07-09Let pkglint fix indentation of preprocessing directives.rillig1-30/+30
2016-05-19Set the PYTHON_INCLUDE_PATH form too, as used by e.g. weechat.jperkin1-1/+2
2016-02-25Use OPSYSVARS.jperkin1-5/+3
2015-12-05What’s New In Python 3.5adam1-6/+6
New syntax features: * PEP 492, coroutines with async and await syntax. * PEP 465, a new matrix multiplication operator: a @ b. * PEP 448, additional unpacking generalizations. New library modules: * typing: PEP 484 – Type Hints. * zipapp: PEP 441 Improving Python ZIP Application Support. New built-in features: * bytes % args, bytearray % args: PEP 461 – Adding % formatting to bytes and bytearray. * New bytes.hex(), bytearray.hex() and memoryview.hex() methods. (Contributed by Arnon Yaari in issue 9951.) * memoryview now supports tuple indexing (including multi-dimensional). (Contributed by Antoine Pitrou in issue 23632.) * Generators have a new gi_yieldfrom attribute, which returns the object being iterated by yield from expressions. (Contributed by Benno Leslie and Yury Selivanov in issue 24450.) * A new RecursionError exception is now raised when maximum recursion depth is reached. (Contributed by Georg Brandl in issue 19235.) CPython implementation improvements: * When the LC_TYPE locale is the POSIX locale (C locale), sys.stdin and sys.stdout now use the surrogateescape error handler, instead of the strict error handler. (Contributed by Victor Stinner in issue 19977.) * .pyo files are no longer used and have been replaced by a more flexible scheme that includes the optimization level explicitly in .pyc name. (See PEP 488 overview.) * Builtin and extension modules are now initialized in a multi-phase process, which is similar to how Python modules are loaded. (See PEP 489 overview.) Significant improvements in the standard library: * collections.OrderedDict is now implemented in C, which makes it 4 to 100 times faster. * The ssl module gained support for Memory BIO, which decouples SSL protocol handling from network IO. * The new os.scandir() function provides a better and significantly faster way of directory traversal. * functools.lru_cache() has been mostly reimplemented in C, yielding much better performance. * The new subprocess.run() function provides a streamlined way to run subprocesses. * The traceback module has been significantly enhanced for improved performance and developer convenience. Security improvements: * SSLv3 is now disabled throughout the standard library. It can still be enabled by instantiating a ssl.SSLContext manually. (See issue 22638 for more details; this change was backported to CPython 3.4 and 2.7.) * HTTP cookie parsing is now stricter, in order to protect against potential injection attacks. (Contributed by Antoine Pitrou in issue 22796.) Windows improvements: * A new installer for Windows has replaced the old MSI. See Using Python on Windows for more information. * Windows builds now use Microsoft Visual C++ 14.0, and extension modules should use the same.
2015-04-13Removing python26. EOL'd quite some ago and discussed a couple times onrodent1-6/+6
tech-pkg@ and pkgsrc-users@.
2015-01-27manually set CMAKE's PYTHON_INCLUDE_DIR and PYTHON_EXECUTABLE to avoiddbj1-1/+6
it finding the native python versions
2014-05-10Let to be failed if no suituable python version.obache1-1/+4
2014-05-09Add python34 support and simplify.obache1-32/+15
2014-01-25Remove PYTHON_VERSIONS_INCLUDE_3X.wiz1-14/+2
Allow python-3.x by default.
2014-01-18Revert unintended commit; pkgsrc not ready yet.wiz1-2/+14
2014-01-18Support Pmw.wiz1-14/+2
2014-01-12Remove python32 as proposed a week ago on pkgsrc-users.wiz1-14/+6
Upstream doesn't talk about it any longer, and python-3.3 is a drop-in replacement. Ok bsiegert, prlw1, rodent
2013-05-12Explicitly default PYTHON_FOR_BUILD_ONLY to `no'.riastradh1-1/+2
Avoids problems with make on NetBSD 5 where empty(XYZ:Mfoo) fails rather than yielding false if XYZ is undefined.
2013-05-10Partially back out change to PYTHON_FOR_BUILD_ONLY.riastradh1-6/+8
This broke packages that needed a target Python at build-time. Instead, change it from defined/undefined to yes/no/tool. Most cases of defined used `yes' anyway; fix the few stragglers do that instead. New case `tool' is for TOOL_DEPENDS rather than buildlink3.
2013-05-10Use a tool dependency, not buildlink3, if PYTHON_FOR_BUILD_ONLY.riastradh1-5/+7
ok agc
2013-04-29Remove python31.wiz1-14/+6
There are three python3 versions in pkgsrc, python31, python32 and python33. The last published update for python was only released for python27, python32 and python33 -- not for python31. No reason for keeping python31 was brought up in two weeks on pkgsrc-users, so remove it.
2012-12-10Add Python 3.3.0tsarna1-7/+15
2012-10-03Move documentation for *_REQD variables to "Infrastructure variables"cheusov1-4/+5
as suggested by obache@
2012-10-03Introduce variable PYTHON_SELF_CONFLICTcheusov1-1/+16
for registering conflicts between python modules.
2012-10-03Remove python25, as promised in March. EOL'd last year.wiz1-15/+7
2012-09-16Update documentation for {PYTHON,RUBY,PHP}_VERSION_REQD variables, move themcheusov1-1/+9
to "user variables" section. pkglint is now aware of them. Bump pkglint version. Oked by wiz@
2012-08-01oops - forgot to commit a framework change needed by py-dbus:drochner1-1/+8
provide py2x and py3x PLIST_VARS to let pkgs deal easily with files installed for one major version but not for the other
2012-05-06Add python32 support.obache1-7/+14
2012-04-08All supported python version in pkgsrc set PYDISTUTILS_CREATES_EGGFILESwiz1-6/+1
to "yes", so remove variable and code for "no".
2012-04-08Remove python24 and all traces of it from pkgsrc.wiz1-15/+7
Remove devel/py-ctypes (only needed by and supporting python24). Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE lines that just mirror defaults now. Miscellaneous cleanup while editing all these files.
2012-03-08Update python default version to 2.7, per announcement on pkgsrc-userswiz1-5/+5
last week.
2012-02-26Revert the below change (by me).sbd1-3/+2
--- Module Name: pkgsrc Committed By: sbd Date: Tue Feb 21 21:04:30 UTC 2012 Modified Files: pkgsrc/lang/python: pyversion.mk Log Message: Add _PYTHON_VERSION_DEFAULT with the "default" python version and set PYTHON_VERSION_DEFAULT from that. To generate a diff of this commit: cvs rdiff -u -r1.93 -r1.94 pkgsrc/lang/python/pyversion.mk
2012-02-21Add _PYTHON_VERSION_DEFAULT with the "default" python version and setsbd1-2/+3
PYTHON_VERSION_DEFAULT from that.
2012-01-28Some packages play with PYPKGPREFIX, even if no valid Python version canjoerg1-1/+2
be found, so provide it.
2011-12-03Tag the 28 locations that result in a Python 3.1 package as supporting so.joerg1-2/+14
Remove it from the default list for the rest.
2011-07-07Make sure that PYDISTUTILS_CREATES_EGGFILES is defined in all branches.joerg1-1/+3
2011-06-21Change the PYDEPENDENCY for python31 to python31.reed1-2/+2
What uses PYDEPENDENCY?
2011-06-17Add support for python31.reed1-7/+14
(I have been using this for around 18 months on several platforms; adjusted once after python27 was added.)
2011-03-26No need to add 27 for PYTHON_VERSIONS_ACCEPTED over again.obache1-2/+2
2011-03-12Add MULTI variable, and add it to BUILD_DEFS, to more easily findwiz1-1/+5
variable settings affecting binary packages. From Aleksey Cheusov in PR 44695.
2011-02-25Let's assume for now that everything that worked with python-2.6 alsowiz1-2/+2
works with python-2.7.