15
0

Accepting request 1058218 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/1058218
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pybind11?expand=0&rev=19
This commit is contained in:
2023-01-14 19:31:29 +00:00
committed by Git OBS Bridge
4 changed files with 128 additions and 12 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec
size 716362

3
pybind11-2.10.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d8c4c5dda428d3a944ba3d2a5212cb988c2fae4670d58075a5a49075a6ca315
size 740214

View File

@@ -1,3 +1,112 @@
-------------------------------------------------------------------
Thu Jan 12 17:50:05 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Package new pkgconfig file gh#pybind/pybind11#4077
- PEP517 build
- Fix multibuild setup: unique packagename for test flavor required
-------------------------------------------------------------------
Wed Jan 4 19:48:22 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.10.3:
* Temporarily made our GIL status assertions (added in 2.10.2) disabled by
default (re-enable manually by defining
``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, will be enabled in 2.11).
* Improved error messages when ``inc_ref``/``dec_ref`` are called with an
invalid GIL state.
* Some minor touchups found by static analyzers.
* ``scoped_interpreter`` constructor taking ``PyConfig``.
* ``pybind11/eigen/tensor.h`` adds converters to and from
``Eigen::Tensor`` and
``Eigen::TensorMap``.
* ``PyGILState_Check()``'s were integrated to ``pybind11::handle``
``inc_ref()`` & ``dec_ref()``. The added GIL checks are guarded by
``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, which is the default only if
``NDEBUG`` is not defined. (Made non-default in 2.10.3, will be active in 2.11)
* Add option for enable/disable enum members in docstring.
* Fixed typing of ``KeysView``, ``ValuesView`` and ``ItemsView`` in
``bind_map``.
* Fix segfault bug when passing foreign native functions to functional.h.
* Build system improvements:
* Support setting PYTHON_LIBRARIES manually for Windows ARM cross-
compilation
(classic mode).
* Extend IPO/LTO detection for ICX (a.k.a IntelLLVM) compiler.
* Allow calling ``find_package(pybind11 CONFIG)`` multiple times from
separate
directories in the same CMake project and properly link Python (new mode).
* ``multiprocessing_set_spawn`` in pytest fixture for added safety.
* Fixed a bug in two pybind11/tools cmake scripts causing "Unknown
arguments specified" errors.
* Version 2.10.1 (Oct 31, 2022)
* 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 #4216 for
background. WARNING: Please be careful to not create ODR violations when
using the option: everything that is linked together with mutual symbol
visibility needs to be rebuilt.
* ``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.
* 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 `#1895 <https://github.com/pybind/pybind11/pull/1895>`_
released with v2.10.0.
* 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``.
-------------------------------------------------------------------
Thu Sep 15 20:25:44 UTC 2022 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-pybind11
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,8 +19,10 @@
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%bcond_without test
%define psuffix -test
%else
%bcond_with test
%define psuffix %{nil}
%endif
%if 0%{?suse_version} > 1500
@@ -29,11 +31,10 @@
%bcond_with libalternatives
%endif
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
%define plainpython python
Name: python-pybind11
Version: 2.10.0
Name: python-pybind11%{psuffix}
Version: 2.10.3
Release: 0
Summary: Module for operability between C++11 and Python
License: BSD-3-Clause
@@ -41,8 +42,10 @@ URL: https://github.com/pybind/pybind11
Source: https://github.com/pybind/pybind11/archive/v%{version}.tar.gz#/pybind11-%{version}.tar.gz
Source99: python-pybind11-rpmlintrc
BuildRequires: %{python_module devel >= 3.6}
BuildRequires: %{python_module setuptools}
BuildRequires: cmake
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools >= 42}
BuildRequires: %{python_module wheel}
BuildRequires: cmake >= 3.18
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros >= 20220912
@@ -90,7 +93,7 @@ This package contains files for developing applications using pybind11.
%build
%if !%{with test}
%python_build
%pyproject_wheel
# calling cmake to install header to right location and
# generate cmake include files
%{python_expand pushd .
@@ -114,7 +117,7 @@ popd
%install
%if !%{with test}
%python_install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/pybind11-config
%{python_expand #
%cmake_install
@@ -125,7 +128,9 @@ ln -s %{_includedir}/pybind11 %{buildroot}%{$python_sitelib}/pybind11/include/py
# same for cmake files: pybind11.get_cmake_dir()
rm -r %{buildroot}%{$python_sitelib}/pybind11/share/cmake/pybind11
ln -s %{_datadir}/cmake/pybind11 %{buildroot}%{$python_sitelib}/pybind11/share/cmake/pybind11
# note: next release will also include pkg-config files here: https://github.com/pybind/pybind11/pull/4077
# same for pkgconfig
rm %{buildroot}%{$python_sitelib}/pybind11/share/pkgconfig/pybind11.pc
ln -s %{_datadir}/pkgconfig/pybind11.pc %{buildroot}%{$python_sitelib}/pybind11/share/pkgconfig/pybind11.pc
%fdupes %{buildroot}%{$python_sitelib}
}
%endif
@@ -185,6 +190,7 @@ end
%license LICENSE
%{_includedir}/pybind11
%{_datadir}/cmake/pybind11
%{_datadir}/pkgconfig/pybind11.pc
%files %{python_files devel}
%license LICENSE
@@ -192,6 +198,7 @@ end
%ghost %{python_sitelib}/pybind11/share/cmake/pybind11.rpmmoved
%{python_sitelib}/pybind11/include
%ghost %{python_sitelib}/pybind11/include/pybind11.rpmmoved
%{python_sitelib}/pybind11/share/pkgconfig
%endif
%changelog