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:           Wed Nov  2 08:47:53 UTC 2022

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

Log Message:
py-pybind11: updated to 2.10.1

Version 2.10.1
This is the first version to fully support embedding the newly released Python 3.11.

Changes:

Allow pybind11::capsule constructor to take null destructor pointers.
embed.h was changed so that PYTHONPATH is used also with Python 3.11 (established behavior).
A PYBIND11_SIMPLE_GIL_MANAGEMENT option was added (cmake, C++ define), along with many additional tests in test_gil_scoped.py. The option may be useful to try when debugging GIL-related issues, to 
determine if the more complex default implementation is or is not to blame. See
PYBIND11_EXPORT_EXCEPTION was made non-empty only under macOS. This makes Linux builds safer, and enables the removal of warning suppression pragmas for Windows.

Bug fixes:

Fixed a bug where UnicodeDecodeError was not propagated from various py::str ctors when decoding surrogate utf characters.
Revert perfect forwarding for make_iterator. This broke at least one valid use case. May revisit later.
Fix support for safe casts to void* (regression in 2.10.0).
Fix char8_t support (regression in 2.9).
Unicode surrogate character in Python exception message leads to process termination in error_already_set::what().
Fix MSVC 2019 v.1924 & C++14 mode error for overload_cast.
Make augmented assignment operators non-const for the object-api. Behavior was previously broken for augmented assignment operators.
Add proper error checking to C++ bindings for Python list append and insert.
Work-around for Nvidia's CUDA nvcc compiler in versions 11.4.0 - 11.8.0.
A workaround for PyPy was added in the py::error_already_set implementation, related to PR
Fixed compiler errors when C++23 std::forward_like is available.
Properly raise exceptions in contains methods (like when an object in unhashable).
Further improve another error in exception handling.
get_local_internals() was made compatible with finalize_interpreter(), fixing potential freezes during interpreter finalization.

Performance and style:

Reserve space in set and STL map casters if possible. This will prevent unnecessary rehashing / resizing by knowing the number of keys ahead of time for Python to C++ casting. This improvement will 
greatly speed up the casting of large unordered maps and sets.
GIL RAII scopes are non-copyable to avoid potential bugs.
Explicitly default all relevant ctors for pytypes in the PYBIND11_OBJECT macros and enforce the clang-tidy checks modernize-use-equals-default in macros as well.
Optimize iterator advancement in C++ bindings.
Use the modern PyObject_GenericGetDict and PyObject_GenericSetDict for handling dynamic attribute dictionaries.
Document that users should use PYBIND11_NAMESPACE instead of using pybind11 when opening namespaces. Using namespace declarations and namespace qualification remain the same as pybind11. This is done 
to ensure consistent symbol visibility.
Mark detail::forward_like as constexpr.
Optimize unpacking_collector when processing arg_v arguments.
Optimize casting C++ object to None.

Build system improvements:

CMake: revert overwrite behavior, now opt-in with PYBIND11_PYTHONLIBS_OVERRWRITE OFF.
Include a pkg-config file when installing pybind11, such as in the Python package.
Avoid stripping debug symbols when CMAKE_BUILD_TYPE is set to DEBUG instead of Debug.
Followup to


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

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.12 pkgsrc/devel/py-pybind11/Makefile:1.13
--- pkgsrc/devel/py-pybind11/Makefile:1.12      Wed Oct  5 20:53:35 2022
+++ pkgsrc/devel/py-pybind11/Makefile   Wed Nov  2 08:47:52 2022
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.12 2022/10/05 20:53:35 adam Exp $
+# $NetBSD: Makefile,v 1.13 2022/11/02 08:47:52 adam Exp $
 
-DISTNAME=      pybind11-2.10.0
+DISTNAME=      pybind11-2.10.1
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pybind11/}
Index: pkgsrc/devel/py-pybind11/distinfo
diff -u pkgsrc/devel/py-pybind11/distinfo:1.12 pkgsrc/devel/py-pybind11/distinfo:1.13
--- pkgsrc/devel/py-pybind11/distinfo:1.12      Wed Oct  5 20:53:35 2022
+++ pkgsrc/devel/py-pybind11/distinfo   Wed Nov  2 08:47:52 2022
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.12 2022/10/05 20:53:35 adam Exp $
+$NetBSD: distinfo,v 1.13 2022/11/02 08:47:52 adam Exp $
 
-BLAKE2s (pybind11-2.10.0.tar.gz) = 55c4d6fa8a5c2c8afd5ef751fdb8580ff6ddbd9d9b99d0b487eedcd0bc577a72
-SHA512 (pybind11-2.10.0.tar.gz) = ea2a49d45ff9e982ddcde1191136fc8029e9f75d3a4172409890adad76106ecc5e83dccf31fbba567f87ce16fd311d5f82ab4c15cee99a5dc80b89afdb83006b
-Size (pybind11-2.10.0.tar.gz) = 193392 bytes
+BLAKE2s (pybind11-2.10.1.tar.gz) = 7adbb8472bdea9998540b74da4e4e788c7e7095ad4cd2f377d3710981c1e9e44
+SHA512 (pybind11-2.10.1.tar.gz) = fc861c29be42f6e37cecf560012f2340572898111884926663acbdd85510ac7bbfe371ea58d82a92c3521aa7d25f8b6e4343697cf934c348381a839844cf1658
+Size (pybind11-2.10.1.tar.gz) = 195936 bytes

Index: pkgsrc/devel/py-pybind11/PLIST
diff -u pkgsrc/devel/py-pybind11/PLIST:1.4 pkgsrc/devel/py-pybind11/PLIST:1.5
--- pkgsrc/devel/py-pybind11/PLIST:1.4  Wed Oct  5 20:53:35 2022
+++ pkgsrc/devel/py-pybind11/PLIST      Wed Nov  2 08:47:52 2022
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2022/10/05 20:53:35 adam Exp $
+@comment $NetBSD: PLIST,v 1.5 2022/11/02 08:47:52 adam Exp $
 bin/pybind11-config
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
@@ -57,3 +57,4 @@ ${PYSITELIB}/pybind11/share/cmake/pybind
 ${PYSITELIB}/pybind11/share/cmake/pybind11/pybind11NewTools.cmake
 ${PYSITELIB}/pybind11/share/cmake/pybind11/pybind11Targets.cmake
 ${PYSITELIB}/pybind11/share/cmake/pybind11/pybind11Tools.cmake
+${PYSITELIB}/pybind11/share/pkgconfig/pybind11.pc



Home | Main Index | Thread Index | Old Index