Commit graph

318 commits

Author SHA1 Message Date
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
wiz
832f20bb74 NONBINMODE is too restrictive, just remove the writable bit for
group and others.
2016-05-20 16:37:27 +00:00
jperkin
96a51a20b9 Set the PYTHON_INCLUDE_PATH form too, as used by e.g. weechat. 2016-05-19 11:45:36 +00:00
richard
4a81ea523c Fixup python modules with improper file mode on source files.
This will set all normal files to NONBINMODE (=644) avoiding, in the first
place, install warnings and errors about world and/or group writeability.

Some modules may even be shipped with egg-info files having mode 600
which has an adverse side-effect of wreaking havoc with setuptools
find_package() for *any* python module after installation of the culprit.
Ensuring world and group readability fixes this anomaly.

ok'd by wiz@
2016-05-07 03:12:08 +00:00
dbj
dde82c09aa update PKG_{FAIL,SKIP}_REASON with += 2016-04-11 04:22:33 +00:00
joerg
aea50c92b8 Adjust checks for _USE_DESTDIR != no or incorrect references to
USE_DESTDIR.
2016-04-10 16:39:27 +00:00
jperkin
db1332a441 Use OPSYSVARS. 2016-02-25 14:42:55 +00:00
wiz
527b1cd484 Add a PRINT_PLIST_AWK pattern for python-3.5. 2015-12-27 21:08:45 +00:00
adam
c0f1dcb279 Python 3.5 standard modules albo require clinic 2015-12-05 20:44:22 +00:00
adam
a9607b9588 What’s New In Python 3.5
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-12-05 17:12:13 +00:00
rodent
d91d624f4c Add gobject. 2015-07-12 21:42:23 +00:00
bsiegert
52cd3d81ad Add a versioned dependency for py-dialog, suggested by wiz@ ages ago. 2015-05-03 16:22:26 +00:00
wiz
fe0d9a87aa Remove more references to python-2.6. 2015-04-14 11:40:31 +00:00
rodent
a7b568d574 Removing python26. EOL'd quite some ago and discussed a couple times on
tech-pkg@ and pkgsrc-users@.
2015-04-13 23:12:40 +00:00
dbj
367155e8a0 manually set CMAKE's PYTHON_INCLUDE_DIR and PYTHON_EXECUTABLE to avoid
it finding the native python versions
2015-01-27 06:33:46 +00:00
wiz
3ec156f142 Improve EGG_NAME default to work for packages with '-' in their name.
Remove now unnecessary overrides in various packages.
2014-12-31 13:57:25 +00:00
wiz
3f35b0a261 Bump py-setuptools dependency to 0.8 since that version changed
version number handling.
2014-12-17 07:23:04 +00:00
obache
d705be77bd time/py-dateutil support py3k now. 2014-12-14 02:34:52 +00:00
obache
a279c99857 devel/py-unittest2 support py3x now. 2014-12-13 09:05:30 +00:00
rodent
0788d56618 Make EGG_INFODIR available for use in Makefiles. Clarify comment regarding
necessity of substituting EGG_NAME in PLISTs.
2014-12-06 15:17:08 +00:00
rodent
a31f3a20b4 +google-api-python-client 2014-12-05 21:44:10 +00:00
wiz
751a9a9a11 Add python-digest 2014-06-07 14:27:02 +00:00
rodent
8d10d337d5 Rollback last commit. This is not going to work due to package name
difference. Maybe we could consider extending how ${pkg} is matched.
2014-06-02 04:59:14 +00:00
rodent
f4ad01b487 +digest 2014-06-02 04:46:11 +00:00
obache
c4f9650db1 Let to be failed if no suituable python version. 2014-05-10 04:25:40 +00:00
obache
1c23b0d6c4 Add python34 support and simplify. 2014-05-09 05:23:41 +00:00
asau
c75d3ce879 x11/py-X and x11/py-X2 don't exist.
Make it refer to textproc/py-X and textproc/py-X2 which do exist.
2014-04-02 00:19:10 +00:00
wiz
91e0ff3d1b Add unittest2. 2014-01-31 11:26:12 +00:00
wiz
f8bf97b99e Do not use py-distrbute with Python 3.x, but always use py-setuptools
(as was the default for Python-2.x in this file).

py-distribute is by now obsolete, and py-setuptools the standard way.
2014-01-26 00:41:07 +00:00
wiz
5500e288ad Remove support for PYTHON_PATCH_SCRIPTS; use REPLACE_PYTHON. 2014-01-25 10:45:50 +00:00
wiz
100fa79faf Remove PYTHON_VERSIONS_INCLUDE_3X.
Allow python-3.x by default.
2014-01-25 10:31:01 +00:00
obache
45a19863bb Move PY_PEP3147 specific PRINT_PLIST handling from common mk/plist/print-plist.mk
to lang/python/extension.mk, handling reverse way.
2014-01-24 12:42:52 +00:00