pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/py-pybind11



Module Name:    pkgsrc
Committed By:   adam
Date:           Mon Oct 11 17:47:18 UTC 2021

Modified Files:
        pkgsrc/devel/py-pybind11: Makefile distinfo

Log Message:
py-pybind11: updated to 2.8.0

Version 2.8.0

New features:

Added py::raise_from to enable chaining exceptions.
Allow exception translators to be optionally registered local to a module instead of applying globally across all pybind11 modules. Use register_local_exception_translator(ExceptionTranslator&& 
translator) instead of register_exception_translator(ExceptionTranslator&& translator) to keep your exception remapping code local to the module.
Add make_simple_namespace function for instantiating Python SimpleNamespace objects.
pybind11::scoped_interpreter and initialize_interpreter have new arguments to allow sys.argv initialization.
Allow Python builtins to be used as callbacks in CPython.
Added view to view arrays with a different datatype.
Implemented reshape on arrays.
Enable defining custom __new__ methods on classes by fixing bug preventing overriding methods if they have non-pybind11 siblings.
Add make_value_iterator(), and fix make_key_iterator() to return references instead of copies.
Improve the classes generated by bind_map:
Change .items from an iterator to a dictionary view.
Add .keys and .values (both dictionary views).
Allow __contains__ to take any object.
pybind11::custom_type_setup was added, for customizing the PyHeapTypeObject corresponding to a class, which may be useful for enabling garbage collection support, among other things.

Changes:

Set __file__ constant when running eval_file in an embedded interpreter.
Python objects and (C++17) std::optional now accepted in py::slice constructor.
The pybind11 proxy types str, bytes, bytearray, tuple, list now consistently support passing ssize_t values for sizes and indexes. Previously, only size_t was accepted in several interfaces.
Avoid evaluating PYBIND11_TLS_REPLACE_VALUE arguments more than once.

Fixes:

Bug fix: enum value's __int__ returning non-int when underlying type is bool or of char type
Fixes bug in setting error state in Capsule's pointer methods.
A long-standing memory leak in py::cpp_function::initialize was fixed.
Fixes thread safety for some pybind11::type_caster which require lifetime extension, such as for std::string_view.
Restore compatibility with gcc 4.8.4 as distributed by ubuntu-trusty, linuxmint-17.

Build system improvements:

Fix regression in CMake Python package config: improper use of absolute path.
Cached Python version information could become stale when CMake was re-run with a different Python version. The build system now detects this and updates this information.
Specified UTF8-encoding in setup.py calls of open().
Fix a harmless warning from CMake 3.21 with the classic Python discovery.
Eigen repo and version can now be specified as cmake options.

Backend and tidying up:

Reduced thread-local storage required for keeping alive temporary data for type conversion to one key per ABI version, rather than one key per extension module. This makes the total thread-local 
storage required by pybind11 2 keys per ABI version.
Optimize NumPy array construction with additional moves.
Conversion to std::string and std::string_view now avoids making an extra copy of the data on Python >= 3.3.
Remove const modifier from certain C++ methods on Python collections (list, set, dict) such as (clear(), append(), insert(), etc...) and annotated them with py-non-const.
Enable readability clang-tidy-const-return and remove useless consts.
The clang-tidy google-explicit-constructor option was enabled.
Mark a pytype move constructor as noexcept (perf).
Enable clang-tidy check to guard against inheritance slicing.
Legacy warning suppression pragma were removed from eigen.h. On Unix platforms, please use -isystem for Eigen include directories, to suppress compiler warnings originating from Eigen headers. Note 
that CMake does this by default. No adjustments are needed for Windows.
Format pybind11 with isort consistent ordering of imports
The warnings-suppression "pragma clamp" at the top/bottom of pybind11 was removed, clearing the path to refactoring and IWYU cleanup.
Enable most bugprone checks in clang-tidy and fix the found potential bugs and poor coding styles.
Add clang-tidy-readability rules to make boolean casts explicit improving code readability. Also enabled other misc and readability clang-tidy checks.
Move object in .pop() for list.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/py-pybind11/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/py-pybind11/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/py-pybind11/Makefile
diff -u pkgsrc/devel/py-pybind11/Makefile:1.4 pkgsrc/devel/py-pybind11/Makefile:1.5
--- pkgsrc/devel/py-pybind11/Makefile:1.4       Fri Aug  6 12:40:59 2021
+++ pkgsrc/devel/py-pybind11/Makefile   Mon Oct 11 17:47:18 2021
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.4 2021/08/06 12:40:59 adam Exp $
+# $NetBSD: Makefile,v 1.5 2021/10/11 17:47:18 adam Exp $
 
-DISTNAME=      pybind11-2.7.1
+DISTNAME=      pybind11-2.8.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pybind11/}
@@ -12,5 +12,7 @@ LICENSE=      modified-bsd
 
 USE_LANGUAGES= # none
 
+PYTHON_SELF_CONFLICT=  yes
+
 .include "../../lang/python/egg.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/py-pybind11/distinfo
diff -u pkgsrc/devel/py-pybind11/distinfo:1.5 pkgsrc/devel/py-pybind11/distinfo:1.6
--- pkgsrc/devel/py-pybind11/distinfo:1.5       Thu Oct  7 13:43:28 2021
+++ pkgsrc/devel/py-pybind11/distinfo   Mon Oct 11 17:47:18 2021
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.5 2021/10/07 13:43:28 nia Exp $
+$NetBSD: distinfo,v 1.6 2021/10/11 17:47:18 adam Exp $
 
-RMD160 (pybind11-2.7.1.tar.gz) = 374ecffa730878f7c836292e0dba9ec23381c0ec
-SHA512 (pybind11-2.7.1.tar.gz) = 60606e9003cd4d3b7b65a1efac6e2c17dc139c99e877e8196dbeee162bdb511928fe47841135ad7ea785d61f461a452c2bfa842215343d617d0e343fb96c3a79
-Size (pybind11-2.7.1.tar.gz) = 179770 bytes
+RMD160 (pybind11-2.8.0.tar.gz) = de5efa518ed10320b9c9d88889d608b7fae35ee2
+SHA512 (pybind11-2.8.0.tar.gz) = b6b83efa73282157ee43027256602e7d1002eda7e5c5f48c10dbe64ea9a81e5b7d7b9cc45daab6e2f6b852e33fa917a72a3e6747f4e6c2eb110d77098f8c45b4
+Size (pybind11-2.8.0.tar.gz) = 187409 bytes



Home | Main Index | Thread Index | Old Index