CVS commit: pkgsrc/devel/py-pybind11

"Adam Ciarcinski" <[email protected]> Sun, 9 Aug 2026 06:12:46 +0000
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
Module Name:	pkgsrc
Committed By:	adam
Date:		Sun Aug  9 06:12:46 UTC 2026

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

Log Message:
py-pybind11: updated to 3.1.0

3.1.0

New Features:

Support for Python 3.8 was removed. The minimum supported version is now Python 3.9.

Support for MSVC 2017 has been dropped.

Changed strict-mode numeric conversions for PEP 484 compatibility: float now accepts int, and complex now accepts int and float.

Small extra features added to the pybind11 command line tool based on python-config.

Added subinterpreter_thread_state, an RAII wrapper that owns a reusable PyThreadState for a sub-interpreter, together with a subinterpreter_scoped_activate overload that activates it. This lets an OS thread re-enter one or more sub-interpreters without creating and destroying a PyThreadState on every activation.

Add py::mod_gil_used() as replacement spelling to py::mod_gil_not_used(false).

Bug fixes:

Fixed a crash in py::subinterpreter::create() when called without a current PyThreadState, which its documentation explicitly allows — for example from an embedder that ended initialization with PyEval_SaveThread(), or from a worker thread that has never touched Python. error_scope is now constructed after a thread state has been attached instead of before.

Make py::print delegate to the current frame/interpreter built-ins print entry, fixing handling of sys.stdout = None, following the active runtime's stream, keyword, and error semantics, and remaining a no-op if the entry is unavailable during teardown.

Include the builtin complex type in the input annotation of the std::complex<T> type caster.

String views (e.g. std::string_view) are now kept alive only when loaded from a transient source (such as a generator), fixing both a use-after-free and a regression where casting a view from a durable object outside a bound function would throw.

Drop Python 2 prepend to evaluated source, causing errors to be off by one.

Fix data race on last_storage_ptr_ cache in gil_safe_call_once_and_store.

Allow user defined __str__ on enum_.

Fix generated Callable type annotations for Python callbacks passed into C++ by inverting the callback's argument/return I/O context relative to the enclosing function signature.

Correct __delitem__ for negative-step slices and re-enable contiguous erase fast path.

Do not pass -fno-fat-lto-objects to GCC on macOS, which made all LTO probes fail and silently disabled LTO.

Fixed cross-compilation to Emscripten/Pyodide with CMake ≥ 4.1 by no longer overriding an explicitly set PYBIND11_USE_CROSSCOMPILING when CMAKE_CROSSCOMPILING_EMULATOR is defined.

Unset stale PYTHON_MODULE_DEBUG_POSTFIX and correct USE_PYTHON_INCLUDE_DIR variable.

Apply -undefined dynamic_lookup to all Apple platforms.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 pkgsrc/devel/py-pybind11/Makefile
cvs rdiff -u -r1.15 -r1.16 pkgsrc/devel/py-pybind11/PLIST
cvs rdiff -u -r1.29 -r1.30 pkgsrc/devel/py-pybind11/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(unnamed) (text/x-diff, 2.9 KB)
Modified files:

Index: pkgsrc/devel/py-pybind11/Makefile
diff -u pkgsrc/devel/py-pybind11/Makefile:1.33 pkgsrc/devel/py-pybind11/Makefile:1.34
--- pkgsrc/devel/py-pybind11/Makefile:1.33	Mon Apr 20 12:52:59 2026
+++ pkgsrc/devel/py-pybind11/Makefile	Sun Aug  9 06:12:46 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.33 2026/04/20 12:52:59 adam Exp $
+# $NetBSD: Makefile,v 1.34 2026/08/09 06:12:46 adam Exp $
 
-DISTNAME=	pybind11-3.0.4
+DISTNAME=	pybind11-3.1.0
 PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=	devel python
 MASTER_SITES=	${MASTER_SITE_PYPI:=p/pybind11/}
@@ -15,9 +15,7 @@ TOOL_DEPENDS+=	cmake>=3.15:../../devel/c
 
 USE_LANGUAGES=	c c++
 
-post-install:
-	cd ${DESTDIR}${PREFIX}/bin && \
-	${MV} pybind11-config pybind11-config-${PYVERSSUFFIX} || ${TRUE}
+PY_RENAME_BINARIES=	pybind11-config
 
 .include "../../lang/python/wheel.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/py-pybind11/PLIST
diff -u pkgsrc/devel/py-pybind11/PLIST:1.15 pkgsrc/devel/py-pybind11/PLIST:1.16
--- pkgsrc/devel/py-pybind11/PLIST:1.15	Tue Feb 17 06:36:11 2026
+++ pkgsrc/devel/py-pybind11/PLIST	Sun Aug  9 06:12:46 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.15 2026/02/17 06:36:11 adam Exp $
+@comment $NetBSD: PLIST,v 1.16 2026/08/09 06:12:46 adam Exp $
 bin/pybind11-config-${PYVERSSUFFIX}
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -36,6 +36,7 @@ ${PYSITELIB}/pybind11/include/pybind11/d
 ${PYSITELIB}/pybind11/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h
 ${PYSITELIB}/pybind11/include/pybind11/detail/exception_translation.h
 ${PYSITELIB}/pybind11/include/pybind11/detail/function_record_pyobject.h
+${PYSITELIB}/pybind11/include/pybind11/detail/function_ref.h
 ${PYSITELIB}/pybind11/include/pybind11/detail/holder_caster_foreign_helpers.h
 ${PYSITELIB}/pybind11/include/pybind11/detail/init.h
 ${PYSITELIB}/pybind11/include/pybind11/detail/internals.h

Index: pkgsrc/devel/py-pybind11/distinfo
diff -u pkgsrc/devel/py-pybind11/distinfo:1.29 pkgsrc/devel/py-pybind11/distinfo:1.30
--- pkgsrc/devel/py-pybind11/distinfo:1.29	Mon Apr 20 12:52:59 2026
+++ pkgsrc/devel/py-pybind11/distinfo	Sun Aug  9 06:12:46 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.29 2026/04/20 12:52:59 adam Exp $
+$NetBSD: distinfo,v 1.30 2026/08/09 06:12:46 adam Exp $
 
-BLAKE2s (pybind11-3.0.4.tar.gz) = 387875b6082c5f1f3a33b1a89f9e71ded508225907adca7cfa58481b9028bb13
-SHA512 (pybind11-3.0.4.tar.gz) = ff8e5b76c6aae2431a9280206e94e2203173c00eb3b8b81517facba39643f52b392a41617be6d03f4264be0c703dc0177daa68453121c29ae0e9012dbdb9f109
-Size (pybind11-3.0.4.tar.gz) = 589533 bytes
+BLAKE2s (pybind11-3.1.0.tar.gz) = ba18760a71e2fcfea9bff61b705a1c4d05f9444595a61ed189952989b93cd11a
+SHA512 (pybind11-3.1.0.tar.gz) = a9ddd9e10b46b82226afea9be98a0be55805dd524acaff1290080ab8f74c152070649f78f4b78c215a934ceb1aa105105b342ad7faa713ed9258a503b9af8ff3
+Size (pybind11-3.1.0.tar.gz) = 603746 bytes