pkgsrc/lang/python39/options.mk
adam c0743b7269 python39: added version 3.9.0
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-10-10 20:19:47 +00:00

41 lines
1.3 KiB
Makefile

# $NetBSD: options.mk,v 1.1 2020/10/10 20:19:47 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.python39
PKG_SUPPORTED_OPTIONS= dtrace pymalloc x11
PKG_SUGGESTED_OPTIONS= x11
.include "../../mk/bsd.prefs.mk"
.include "../../mk/bsd.options.mk"
PLIST_VARS+= dtrace
.if !empty(PKG_OPTIONS:Mdtrace)
CONFIGURE_ARGS+= --with-dtrace
PLIST.dtrace= yes
.endif
.if !empty(PKG_OPTIONS:Mx11)
# Support for native X11 paths as an option
# This code is no-op for modular X11, however for simplicity don't make it conditional.
SUBST_CLASSES+= xfindlib
SUBST_MESSAGE.xfindlib= Fixing find_library() for native X11.
SUBST_STAGE.xfindlib= pre-configure
SUBST_FILES.xfindlib= Lib/ctypes/util.py
SUBST_SED.xfindlib= -e "s!\('-Wl,-t'\)!'${COMPILER_RPATH_FLAG}${X11BASE}/lib', '-L${X11BASE}/lib', \1!"
# Required to get definition of X11BASE and retain X11 rpath paths for linker
# We need to pass rpath to _ctypes.so to get functional dlopen(3) for X11 libs
USE_X11= weak
SUBST_CLASSES+= cdlopen
SUBST_MESSAGE.cdlopen= Handle X11BASE paths in dlopen(3) calls of _ctypes.so
SUBST_STAGE.cdlopen= pre-configure
SUBST_FILES.cdlopen= setup.py
SUBST_SED.cdlopen= -e "s!\(libraries=\[\],\)!\1 runtime_library_dirs=\['${X11BASE}/lib'\],!"
.endif
.if !empty(PKG_OPTIONS:Mpymalloc)
CONFIGURE_ARGS+= --with-pymalloc
.else
CONFIGURE_ARGS+= --without-pymalloc
.endif