Commit graph

349 commits

Author SHA1 Message Date
rillig
62a0adf4a6 replace-interpreter: make documentation more precise
There are several places in pkgsrc where the files to be patched are
listed individually instead of just saying util/*/*.sh. This is
unnecessarily detailed. Encourage package authors to use filename
patterns more often.

An example is REPLACE_PYTHON in lang/clang, which currently fails because
some of the listed files don't exist anymore.
2020-03-24 04:40:34 +00:00
rillig
e9b87389e2 lang/python: add show-all-pyversion target
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".
2020-03-15 14:28:36 +00:00
wiz
0083db8d23 python: support html2text in versioned_dependencies
Update help text.
2020-03-13 19:21:16 +00:00
wiz
603d97125c python: support zipp for python 2.7 2020-03-12 07:37:11 +00:00
wiz
2ed374ebea lang/Makefile: + py-inflect. 2020-03-12 07:12:18 +00:00
joerg
d09da23a9e Always extract the full Python distfile for modules.
This retires an old "optimisation" that over time has created more
problems than it solved, including various questions from users about
the ignored patch failures.
2020-01-08 13:44:41 +00:00
gutteridge
9407b447d9 python: fix typo in comment in tool.mk 2019-12-15 23:59:00 +00:00
adam
d5cba11cdd Fix building internal modules for Python 3.8; clean-ups 2019-12-15 14:42:26 +00:00
nia
27ef14c49e python/tool.mk: Create linux-style python[2/3] wrappers automatically 2019-11-24 11:41:15 +00:00
wiz
7a496b6d18 python: add support for more-itertools to versioned_dependencies.mk 2019-11-15 14:05:54 +00:00
adam
4b3f2994cb Added sphinx to Python versioned dependencies 2019-10-21 21:08:56 +00:00
adam
4db700cbcc python38: added version 3.8.0
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-10-15 16:50:10 +00:00
rillig
7c3ef3e6ea lang/python: fix PYVERSSUFFIX escaping for print-PLIST
Before, the filename "3270" was wrongly replaced with "${PYVERSSUFFIX}"
since the version number "3.7", when interpreted as a regular expression,
matched that filename.
2019-07-17 18:34:16 +00:00
sjmulder
fbda7b2aef lang/python: make built-in modules depend on distversion
Built-in Python modules are built from extracted Python sources and
therefere bound to that specific Python version. For example, trying to
build a module from Python 2.7.16 against an installed Python 2.7.13 is
likely to cause errors.

This commit makes built-in Python modules depend on the full current
Python version.
2019-06-05 13:44:17 +00:00
wiz
12dacc53e5 python: Remove reference to python-3.4. 2019-05-02 22:06:15 +00:00
roy
021c3b339d Remove 34 and 35 from python versions. 2019-04-26 09:44:59 +00:00
maya
7717a70010 Default to python 3.7.
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.
2019-04-24 13:16:59 +00:00
adam
b848c816b2 extension.mk: remove PY_PEP3147, mention correct patch, clean-up 2018-12-14 13:09:10 +00:00
markd
66f3731b34 python: handle pythons with pymalloc option when setting PYTHONCONFIG 2018-11-13 11:57:26 +00:00
bsiegert
50e3c8cb86 Always give full interpreter path to cmake.
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-19 16:12:36 +00:00
ryoon
636de2f296 Extend PYTHON_FOR_BUILD_ONLY to test 2018-10-07 23:56:23 +00:00
adam
e9553899d6 -flup +cherrypy 2018-09-05 08:22:46 +00:00
wiz
3766b92d85 python: fix a pkglint warning 2018-09-02 21:53:03 +00:00
adam
74b47a89d4 python37: added version 3.7.0
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.
2018-07-03 03:55:40 +00:00
adam
3de015ea4b python: allow :test in PYTHON_VERSIONED_DEPENDENCIES 2018-04-05 12:32:53 +00:00
adam
69c98a46c8 Removed duplicated PYSETUPINSTALLARGS 2018-03-29 17:58:26 +00:00
adam
07a6b652b4 Use parallel building for Python 3.5+ packages 2018-03-25 07:32:19 +00:00
wiz
08b553f220 versioned_dependencies: remove ephem support, ephem3 was removed 2018-01-09 12:17:55 +00:00
wiz
05c0a387ea versioned_dependencies: remove gobject support
unused, and doesn't work as-is
2017-11-26 09:43:33 +00:00
wiz
a884a4bfd5 versioned_dependencies.mk: stop supporting cairo, it was merged 2017-11-24 22:16:34 +00:00
adam
2fce7f0c2d Added ipython 2017-10-16 18:13:28 +00:00
joerg
c888a4724a Add DISTUTILS_BUILDDIR_IN_TEST_ENV as flag to get the build directory
into PYTHONPATH for testing.
2017-07-03 18:14:40 +00:00
joerg
0e9c708d1e Recognize python3 as interpreter for replacement. 2017-07-03 18:13:43 +00:00
wiz
ae7afe5054 Use TEST_ENV in test target. 2017-05-17 11:17:04 +00:00
wiz
42e32098a1 Switch py-dateutils to plain DEPENDS.
It supports both python 2 and 3 nowadays.
2017-02-20 17:00:35 +00:00
wiz
628672da8f Add new BOOTSTRAP_SETUPTOOLS variable.
setuptools is one of the basic methods to install python packages.
However, since 34.0 it does not provide its dependencies any longer;
so they need to be installed from pkgsrc.

For bootstrapping, python itself comes with a copy of (pip and) setuptools.
Use this copy to install the necessary packages. They need to be
marked by BOOTSTRAP_SETUPTOOLS=yes for this.
2017-02-08 12:09:30 +00:00
wiz
2edfcd57a4 Revert previous. "+" is a valid terminator for find -exec, and
the change broke basically all python packages on at least NetBSD.
2017-02-04 21:39:05 +00:00
sevan
d97c8ba997 Escape the semicolon to terminate exec statement.
Heads up by jperkin@
2017-02-04 11:43:17 +00:00
adam
a03b1eff53 What’s New In Python 3.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.
2017-01-01 14:34:26 +00:00
wiz
8e633e67e4 www/py-google-api-python-client is ready for python-3.x, remove. 2016-11-07 11:07:05 +00:00
richard
135ce6fd39 Let print-PLIST generate python version agnostic PYVERSSUFFIX in filenames.
This is somewhat related to the recent PLIST_SUBST commit.  Ok'd by wiz@
2016-08-28 09:40:35 +00:00
wiz
5d8e38b836 Add PYVERSSUFFIX to PLIST and FILES substitutions
Used by many python packages with versioned binaries.
2016-08-27 20:42:47 +00:00
wiz
ad0031c15e Remove python33: adapt all packages that refer to it. 2016-07-09 13:03:30 +00:00
rillig
e094bd195c Let pkglint fix indentation of preprocessing directives. 2016-07-09 10:00:26 +00:00
wiz
376f99eeee Switch to direct py-dns dependency.
py-dns now supports all python versions, so versioned_dependencies
is not needed any longer.
2016-06-30 18:03:46 +00:00
wiz
9d976d8c43 py-dns supports both py2 and py3 now. 2016-06-30 17:45:30 +00:00
wiz
626b7cdbe0 Check for directory existence inside an "if", so that non-existence
does not cause breakage.

Fixes build of e.g. syncthing-gtk.

From richard@
2016-06-01 09:44:52 +00:00
wiz
f61faeffbd Remove CHECK_PERMS_AUTOFIX=yes. It breaks unprivileged bulk builds as-is. 2016-05-30 10:31:16 +00:00
richard
98cb0689e2 Rectify fixup-python-writeable-source by putting egg-infodir related fixup
in egg.mk and simply forcing CHECK_PERMS_AUTOFIX=yes in extensions.mk
2016-05-28 11:23:46 +00:00
richard
36ac11d5fc Back to the basic problem... check-perms.mk issues warnings/errors on text
files installed group and/or world writeable so only search and fix in DESTDIR.
This avoids touching any files used during build at the same time.
2016-05-21 05:22:40 +00:00