Sync from SUSE:ALP:Source:Standard:1.0 python-pybind11 revision 96af6d984ecba2046e9112567e656cc2
This commit is contained in:
commit
ae835275a6
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
BIN
pybind11-2.10.4.tar.gz
(Stored with Git LFS)
Normal file
BIN
pybind11-2.10.4.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
2
python-pybind11-rpmlintrc
Normal file
2
python-pybind11-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
||||
# The ghost comes from pretrans
|
||||
addFilter("ghost-files-without-postin")
|
605
python-pybind11.changes
Normal file
605
python-pybind11.changes
Normal file
@ -0,0 +1,605 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 12:30:25 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add sle15_python_module_pythons (jsc#PED-68)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 13 22:43:32 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Make calling of %{sle15modernpython} optional.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 19 12:06:00 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 2.10.4:
|
||||
* ``python3 -m pybind11`` gained a ``--version`` option (prints
|
||||
the version and exits).
|
||||
* Fix a warning when pydebug is enabled on Python 3.11.
|
||||
* Ensure ``gil_scoped_release`` RAII is non-copyable.
|
||||
* Ensure the tests dir does not show up with new versions of
|
||||
setuptools.
|
||||
* Better stacklevel for a warning in setuptools helpers.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
- %pretrans must be lua
|
||||
- requires python-rpm-macros >= 20220912 because of parameter in
|
||||
scriptlet
|
||||
- Fix subdirectory links
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 14 21:02:16 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Work around long standing rpm-directory-to-symlink-bug
|
||||
* https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
|
||||
* rh#447156
|
||||
* use shell instead of lua for pretrans scriptlet
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 11 00:15:11 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 2.10.0
|
||||
* Removed support for Python 2.7, Python 3.5, and MSVC 2015.
|
||||
Support for MSVC 2017 is limited due to availability of CI
|
||||
runners; we highly recommend MSVC 2019 or 2022 be used.
|
||||
Initial support added for Python 3.11.
|
||||
* New features:
|
||||
+ py::anyset & py::frozenset were added, with copying (cast)
|
||||
to std::set (similar to set). #3901
|
||||
+ Support bytearray casting to string. #3707
|
||||
+ type_caster<std::monostate> was added. std::monostate is a
|
||||
tag type that allows std::variant to act as an optional, or
|
||||
allows default construction of a std::variant holding a
|
||||
non-default constructible type. #3818
|
||||
+ pybind11::capsule::set_name added to mutate the name of the
|
||||
capsule instance. #3866
|
||||
+ NumPy: dtype constructor from type number added, accessors
|
||||
corresponding to Python API dtype.num, dtype.byteorder,
|
||||
dtype.flags and dtype.alignment added. #3868
|
||||
* Changes:
|
||||
+ Python 3.6 is now the minimum supported version. #3688 #3719
|
||||
+ The minimum version for MSVC is now 2017. #3722
|
||||
+ Fix issues with CPython 3.11 betas and add to supported test
|
||||
matrix. #3923
|
||||
+ error_already_set is now safer and more performant,
|
||||
especially for exceptions with long tracebacks, by delaying
|
||||
computation. #1895
|
||||
+ Improve exception handling in python str bindings. #3826
|
||||
+ The bindings for capsules now have more consistent exception
|
||||
handling. #3825
|
||||
+ PYBIND11_OBJECT_CVT and PYBIND11_OBJECT_CVT_DEFAULT macro
|
||||
can now be used to define classes in namespaces other than
|
||||
pybind11. #3797
|
||||
+ Error printing code now uses
|
||||
PYBIND11_DETAILED_ERROR_MESSAGES instead of requiring
|
||||
NDEBUG, allowing use with release builds if desired. #3913
|
||||
+ Implicit conversion of the literal 0 to pybind11::handle is
|
||||
now disabled. #4008
|
||||
* Bug fixes:
|
||||
+ Fix exception handling when pybind11::weakref() fails. #3739
|
||||
+ module_::def_submodule was missing proper error handling.
|
||||
This is fixed now. #3973
|
||||
+ The behavior or error_already_set was made safer and the
|
||||
highly opaque "Unknown internal error occurred" message was
|
||||
replaced with a more helpful message. #3982
|
||||
+ error_already_set::what() now handles non-normalized
|
||||
exceptions correctly. #3971
|
||||
+ Support older C++ compilers where filesystem is not yet part
|
||||
of the standard library and is instead included in
|
||||
std::experimental::filesystem. #3840
|
||||
+ Fix -Wfree-nonheap-object warnings produced by GCC by
|
||||
avoiding returning pointers to static objects with
|
||||
return_value_policy::take_ownership. #3946
|
||||
+ Fix cast from pytype rvalue to another pytype. #3949
|
||||
+ Ensure proper behavior when garbage collecting classes with
|
||||
dynamic attributes in Python >=3.9. #4051
|
||||
+ A couple long-standing PYBIND11_NAMESPACE
|
||||
__attribute__((visibility("hidden"))) inconsistencies are
|
||||
now fixed (affects only unusual environments). #4043
|
||||
+ pybind11::detail::get_internals() is now resilient to
|
||||
in-flight Python exceptions. #3981
|
||||
+ Arrays with a dimension of size 0 are now properly converted
|
||||
to dynamic Eigen matrices (more common in NumPy 1.23). #4038
|
||||
+ Avoid catching unrelated errors when importing NumPy. #3974
|
||||
* Performance and style:
|
||||
+ Added an accessor overload of (object &&key) to reference
|
||||
steal the object when using python types as keys. This
|
||||
prevents unnecessary reference count overhead for attr,
|
||||
dictionary, tuple, and sequence look ups. Added additional
|
||||
regression tests. Fixed a performance bug the caused
|
||||
accessor assignments to potentially perform unnecessary
|
||||
copies. #3970
|
||||
+ Perfect forward all args of make_iterator. #3980
|
||||
+ Avoid potential bug in pycapsule destructor by adding an
|
||||
error_guard to one of the dtors. #3958
|
||||
+ Optimize dictionary access in strip_padding for numpy. #3994
|
||||
+ stl_bind.h bindings now take slice args as a const-ref.
|
||||
#3852
|
||||
+ Made slice constructor more consistent, and improve
|
||||
performance of some casters by allowing reference stealing.
|
||||
#3845
|
||||
+ Change numpy dtype from_args method to use const ref. #3878
|
||||
+ Follow rule of three to ensure PyErr_Restore is called only
|
||||
once. #3872
|
||||
+ Added missing perfect forwarding for make_iterator
|
||||
functions. #3860
|
||||
+ Optimize c++ to python function casting by using the rvalue
|
||||
caster. #3966
|
||||
+ Optimize Eigen sparse matrix casting by removing unnecessary
|
||||
temporary. #4064
|
||||
+ Avoid potential implicit copy/assignment constructors
|
||||
causing double free in strdup_gaurd. #3905
|
||||
+ Enable clang-tidy checks misc-definitions-in-headers,
|
||||
modernize-loop-convert, and modernize-use-nullptr. #3881
|
||||
#3988
|
||||
* Build system improvements:
|
||||
+ CMake: Fix file extension on Windows with cp36 and cp37
|
||||
using FindPython. #3919
|
||||
+ CMake: Support multiple Python targets (such as on vcpkg).
|
||||
#3948
|
||||
+ CMake: Fix issue with NVCC on Windows. #3947
|
||||
+ CMake: Drop the bitness check on cross compiles (like
|
||||
targeting WebAssembly via Emscripten). #3959
|
||||
+ Add MSVC builds in debug mode to CI. #3784
|
||||
+ MSVC 2022 C++20 coverage was added to GitHub Actions,
|
||||
including Eigen. #3732, #3741
|
||||
* Backend and tidying up:
|
||||
+ New theme for the documentation. #3109
|
||||
+ Remove idioms in code comments. Use more inclusive language.
|
||||
#3809
|
||||
+ #include <iostream> was removed from the pybind11/stl.h
|
||||
header. Your project may break if it has a transitive
|
||||
dependency on this include. The fix is to "Include What You
|
||||
Use". #3928
|
||||
+ Avoid setup.py <command> usage in internal tests. #3734
|
||||
- Fix header deduplication: pybind11.get_include still reports
|
||||
the headers to be in the sitelib (SciPy meson build fail)
|
||||
- Test in multibuild as some tests expect the system-wide
|
||||
%_includedir/pybind11/pybind11.h
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 9 22:47:00 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 2.9.2:
|
||||
* Enum now has an ``__index__`` method on Python <3.8 too.
|
||||
* Local internals are now cleared after finalizing the interpreter.
|
||||
* Better support for Python 3.11 alphas.
|
||||
* ``PYBIND11_TYPE_CASTER`` now uses fully qualified symbols, so it can be used
|
||||
outside of ``pybind11::detail``.
|
||||
* Some fixes for PyPy 3.9.
|
||||
* Fixed a potential memleak in PyPy in ``get_type_override``.
|
||||
* Fix usage of ``VISIBILITY_INLINES_HIDDEN``.
|
||||
* Uses ``sysconfig`` module to determine installation locations on Python >=
|
||||
3.10, instead of ``distutils`` which has been deprecated.
|
||||
* Support Catch 2.13.5+ (supporting GLIBC 2.34+).
|
||||
* Fix test failures with numpy 1.22 by ignoring whitespace when comparing
|
||||
``str()`` of dtypes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 27 15:11:08 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 2.9.1:
|
||||
* If possible, attach Python exception with py::raise_from to TypeError when
|
||||
casting from C++ to Python. This will give additional info if Python
|
||||
exceptions occur in the caster.
|
||||
* Add a mapping of C++11 nested exceptions to their Python exception
|
||||
equivalent using py::raise_from. This attaches the nested exceptions in
|
||||
Python using the __cause__ field.
|
||||
* Propagate Python exception traceback using raise_from if a pybind11
|
||||
function runs out of overloads.
|
||||
* py::multiple_inheritance is now only needed when C++ bases are hidden from
|
||||
pybind11.
|
||||
* Allow py::args to be followed by other arguments; the remaining arguments
|
||||
are implicitly keyword-only, as if a py::kw_only{} annotation had been
|
||||
used.
|
||||
* Fix a rare warning about extra copy in an Eigen constructor.
|
||||
* Fix caching of the C++ overrides.
|
||||
* Add missing std::forward calls to some cpp_function overloads.
|
||||
* Support PyPy 7.3.7 and the PyPy3.8 beta. Test python-3.11 on PRs with the python dev label.
|
||||
* Replace usage of deprecated Eigen::MappedSparseMatrix with Eigen::Map<Eigen::SparseMatrix<...>> for Eigen 3.3+.
|
||||
* Tweaks to support Microsoft Visual Studio 2022.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 6 10:07:33 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- udpate to 2.8.1:
|
||||
* The simple namespace creation shortcut added in 2.8.0 was deprecated due to
|
||||
usage of CPython internal API, and will be removed soon.
|
||||
* Add C++ Exception type to throw and catch ``AttributeError``.
|
||||
* Fixed the potential for dangling references when using properties with
|
||||
``std::optional`` types.
|
||||
* Modernize usage of ``PyCodeObject`` on Python 3.9+ (moving toward support for
|
||||
Python 3.11a1)
|
||||
* A long-standing bug in ``eigen.h`` was fixed (originally PR #3343). The bug
|
||||
was unmasked by newly added ``static_assert``'s in the Eigen 3.4.0 release.
|
||||
* Support multiple raw inclusion of CMake helper files
|
||||
* Fix harmless warning on upcoming CMake 3.22.
|
||||
* Fix 2.8.0 regression with MSVC 2017 + C++17 mode + Python 3.
|
||||
* Fix 2.8.0 regression that caused undefined behavior (typically
|
||||
segfaults) in ``make_key_iterator``/``make_value_iterator`` if dereferencing
|
||||
the iterator returned a temporary value instead of a reference.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 16 20:47:43 UTC 2021 - Stefan Schubert <schubi@suse.de>
|
||||
|
||||
- Use libalternatives instead of update-alternatives.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 16 19:47:43 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to v2.8.0
|
||||
* Added py::raise_from to enable chaining exceptions. #3215
|
||||
* 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.
|
||||
#2650
|
||||
* Add make_simple_namespace function for instantiating Python
|
||||
SimpleNamespace objects. #2840
|
||||
* pybind11::scoped_interpreter and initialize_interpreter have
|
||||
new arguments to allow sys.argv initialization. #2341
|
||||
* Allow Python builtins to be used as callbacks in CPython. #1413
|
||||
* Added view to view arrays with a different datatype. #987
|
||||
* Implemented reshape on arrays. #984
|
||||
* Enable defining custom __new__ methods on classes by fixing bug
|
||||
preventing overriding methods if they have non-pybind11
|
||||
siblings. #3265
|
||||
* Add make_value_iterator(), and fix make_key_iterator() to
|
||||
return references instead of copies. #3293
|
||||
* Improve the classes generated by bind_map: #3310
|
||||
* 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.
|
||||
#3287
|
||||
* Set __file__ constant when running eval_file in an embedded
|
||||
interpreter. #3233
|
||||
* Python objects and (C++17) std::optional now accepted in
|
||||
py::slice constructor. #1101
|
||||
* 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. #3219
|
||||
* Avoid evaluating PYBIND11_TLS_REPLACE_VALUE arguments more than
|
||||
once. #3290
|
||||
* Bug fix: enum value's __int__ returning non-int when underlying
|
||||
type is bool or of char type. #1334
|
||||
* Fixes bug in setting error state in Capsule's pointer methods.
|
||||
#3261
|
||||
* A long-standing memory leak in py::cpp_function::initialize was
|
||||
fixed. #3229
|
||||
* Fixes thread safety for some pybind11::type_caster which
|
||||
require lifetime extension, such as for std::string_view. #3237
|
||||
* Restore compatibility with gcc 4.8.4 as distributed by
|
||||
ubuntu-trusty, linuxmint-17. #3270
|
||||
* Fix regression in CMake Python package config: improper use of
|
||||
absolute path. #3144
|
||||
* 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. #3299
|
||||
* Specified UTF8-encoding in setup.py calls of open(). #3137
|
||||
* Fix a harmless warning from CMake 3.21 with the classic Python
|
||||
discovery. #3220
|
||||
* Eigen repo and version can now be specified as cmake options.
|
||||
#3324
|
||||
* 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. #3275
|
||||
* Optimize NumPy array construction with additional moves. #3183
|
||||
* Conversion to std::string and std::string_view now avoids
|
||||
making an extra copy of the data on Python >= 3.3. #3257
|
||||
* 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. #3254 #3194
|
||||
* The clang-tidy google-explicit-constructor option was enabled.
|
||||
#3250
|
||||
* Mark a pytype move constructor as noexcept (perf). #3236
|
||||
* Enable clang-tidy check to guard against inheritance slicing.
|
||||
#3210
|
||||
* 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. #3198
|
||||
* Format pybind11 with isort consistent ordering of imports #3195
|
||||
* The warnings-suppression "pragma clamp" at the top/bottom of
|
||||
pybind11 was removed, clearing the path to refactoring and IWYU
|
||||
cleanup. #3186
|
||||
* Enable most bugprone checks in clang-tidy and fix the found
|
||||
potential bugs and poor coding styles. #3166
|
||||
* Add clang-tidy-readability rules to make boolean casts explicit
|
||||
improving code readability. Also enabled other misc and
|
||||
readability clang-tidy checks. #3148
|
||||
* Move object in .pop() for list. #3116
|
||||
- Release 2.7.1
|
||||
* Allow Python builtins to be used as callbacks in CPython. #1413
|
||||
* Fix regression in CMake Python package config: improper use of
|
||||
absolute path. #3144
|
||||
* Fix Mingw64 and add to the CI testing matrix. #3132
|
||||
* Specified UTF8-encoding in setup.py calls of open(). #3137
|
||||
* Add clang-tidy-readability rules to make boolean casts explicit
|
||||
improving code readability. Also enabled other misc and
|
||||
readability clang-tidy checks. #3148
|
||||
* Move object in .pop() for list. #3116
|
||||
* Removed and fixed warning suppressions. #3127 #3129 #3135 #3141
|
||||
#3142 #3150 #3152 #3160 #3161
|
||||
- Release 2.7.0
|
||||
* Enable py::implicitly_convertible<py::none, ...> for
|
||||
py::class_-wrapped types. #3059
|
||||
* Allow function pointer extraction from overloaded functions.
|
||||
#2944
|
||||
* NumPy: added .char_() to type which gives the NumPy public char
|
||||
result, which also distinguishes types by bit length (unlike
|
||||
.kind()). #2864
|
||||
* Add pybind11::bytearray to manipulate bytearray similar to
|
||||
bytes. #2799
|
||||
* pybind11/stl/filesystem.h registers a type caster that, on
|
||||
C++17/Python 3.6+, converts std::filesystem::path to
|
||||
pathlib.Path and any os.PathLike to std::filesystem::path.
|
||||
#2730
|
||||
* A PYBIND11_VERSION_HEX define was added, similar to
|
||||
PY_VERSION_HEX. #3120
|
||||
* py::str changed to exclusively hold PyUnicodeObject. Previously
|
||||
py::str could also hold bytes, which is probably surprising,
|
||||
was never documented, and can mask bugs (e.g. accidental use of
|
||||
py::str instead of py::bytes). #2409
|
||||
* Add a safety guard to ensure that the Python GIL is held when
|
||||
C++ calls back into Python via object_api<>::operator() (e.g.
|
||||
py::function __call__). (This feature is available for Python
|
||||
3.6+ only.) #2919
|
||||
* Catch a missing self argument in calls to __init__(). #2914
|
||||
* Use std::string_view if available to avoid a copy when passing
|
||||
an object to a std::ostream. #3042
|
||||
* An important warning about thread safety was added to the
|
||||
iostream.h documentation; attempts to make
|
||||
py::scoped_ostream_redirect thread safe have been removed, as
|
||||
it was only partially effective. #2995
|
||||
* Performance: avoid unnecessary strlen calls. #3058
|
||||
* Fix auto-generated documentation string when using const T in
|
||||
pyarray_t. #3020
|
||||
* Unify error messages thrown by
|
||||
simple_collector/unpacking_collector. #3013
|
||||
* pybind11::builtin_exception is now explicitly exported, which
|
||||
means the types included/defined in different modules are
|
||||
identical, and exceptions raised in different modules can be
|
||||
caught correctly. The documentation was updated to explain that
|
||||
custom exceptions that are used across module boundaries need
|
||||
to be explicitly exported as well. #2999
|
||||
* Fixed exception when printing UTF-8 to a
|
||||
scoped_ostream_redirect. #2982
|
||||
* Pickle support enhancement: setstate implementation will
|
||||
attempt to setattr __dict__ only if the unpickled dict object
|
||||
is not empty, to not force use of py::dynamic_attr()
|
||||
unnecessarily. #2972
|
||||
* Allow negative timedelta values to roundtrip. #2870
|
||||
* Fix unchecked errors could potentially swallow signals/other
|
||||
exceptions. #2863
|
||||
* Add null pointer check with std::localtime. #2846
|
||||
* Fix the weakref constructor from py::object to create a new
|
||||
weakref on conversion. #2832
|
||||
* Avoid relying on exceptions in C++17 when getting a shared_ptr
|
||||
holder from a shared_from_this class. #2819
|
||||
* Allow the codec's exception to be raised instead of
|
||||
RuntimeError when casting from py::str to std::string. #2903
|
||||
* In setup_helpers.py, test for platforms that have some
|
||||
multiprocessing features but lack semaphores, which
|
||||
ParallelCompile requires. #3043
|
||||
* Fix pybind11_INCLUDE_DIR in case CMAKE_INSTALL_INCLUDEDIR is
|
||||
absolute. #3005
|
||||
* Fix bug not respecting WITH_SOABI or WITHOUT_SOABI to CMake.
|
||||
#2938
|
||||
* Fix the default Pybind11Extension compilation flags with a
|
||||
Mingw64 python. #2921
|
||||
* Clang on Windows: do not pass /MP (ignored flag). #2824
|
||||
* pybind11.setup_helpers.intree_extensions can be used to
|
||||
generate Pybind11Extension instances from cpp files placed in
|
||||
the Python package source tree. #2831
|
||||
* Enable clang-tidy performance, readability, and modernization
|
||||
checks throughout the codebase to enforce best coding
|
||||
practices. #3046, #3049, #3051, #3052, #3080, and #3094
|
||||
* Checks for common misspellings were added to the pre-commit
|
||||
hooks. #3076
|
||||
* Changed Werror to stricter Werror-all for Intel compiler and
|
||||
fixed minor issues. #2948
|
||||
* Fixed compilation with GCC < 5 when the user defines
|
||||
_GLIBCXX_USE_CXX11_ABI. #2956
|
||||
* Added nox support for easier local testing and linting of
|
||||
contributions. #3101 and #3121
|
||||
* Avoid RTD style issue with docutils 0.17+. #3119
|
||||
* Support pipx run, such as pipx run pybind11 --include for a
|
||||
quick compile. #3117
|
||||
- Drop unicode.patch merged upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 7 14:30:20 UTC 2021 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Add upstream patch unicode.patch to fix random python crash
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 15 00:56:32 UTC 2021 - Benjamin Greiner <code@bnavigator.de>
|
||||
|
||||
- Dont test with python36-numpy. Tumbleweed's NumPy >= 1.20 dropped
|
||||
support for Python 3.6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 7 13:15:06 UTC 2021 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Add docs/changelog.rst to package contents
|
||||
- Update to v2.6.2
|
||||
* See changelog for changes since 2.5.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 17 01:00:06 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- Also expand generation of test binaries for Python 2 and 3,
|
||||
fixes Leap 15.x builds where Python 2 is still built.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 6 14:56:54 UTC 2020 - Christian Goll <cgoll@suse.com>
|
||||
|
||||
- updated to version 2.5.0 and running the internal unit tests now
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 23 10:05:00 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- On devel files you need the pybind too to compile anything
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 11 16:57:22 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Fix build without python2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 13 05:32:14 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- Fix mixup of expanded/unexpaned python versions in devel package,
|
||||
the devel package always required python(2)-devel and
|
||||
python2-pybind. Move the data to a -common-devel subpackage,
|
||||
pulled in by versioned python{2,3}-pybind-devel packages.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 14 10:19:23 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Add package version to extra devel packages added via Provides
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 21 15:51:16 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
|
||||
|
||||
- Update to version 2.4.3
|
||||
* Adapt pybind11 to a C API convention change in Python 3.8.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 8 09:11:41 UTC 2019 - Christian Goll <cgoll@suse.com>
|
||||
|
||||
- updated to 2.4.2
|
||||
* made devel package python version independent
|
||||
* added cmake run to install cmake include files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 24 06:26:13 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Replace description by something more substantial.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 22 14:21:41 UTC 2019 - Michal Vyskocil <mvyskocil@opensuse.org>
|
||||
|
||||
- Initial packaging of pybind11 2.3.0 for openSUSE
|
205
python-pybind11.spec
Normal file
205
python-pybind11.spec
Normal file
@ -0,0 +1,205 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# 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
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%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
|
||||
%bcond_without libalternatives
|
||||
%else
|
||||
%bcond_with libalternatives
|
||||
%endif
|
||||
|
||||
%define skip_python2 1
|
||||
%define plainpython python
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-pybind11%{psuffix}
|
||||
Version: 2.10.4
|
||||
Release: 0
|
||||
Summary: Module for operability between C++11 and Python
|
||||
License: BSD-3-Clause
|
||||
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 pip}
|
||||
BuildRequires: %{python_module setuptools >= 42}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: cmake >= 3.18
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: python-rpm-macros >= 20220912
|
||||
%if %{with libalternatives}
|
||||
Requires: alts
|
||||
BuildRequires: alts
|
||||
%else
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
%endif
|
||||
%if %{with test}
|
||||
BuildRequires: %{python_module numpy}
|
||||
BuildRequires: %{python_module pybind11-devel = %{version}}
|
||||
BuildRequires: %{python_module pytest-timeout}
|
||||
BuildRequires: %{python_module pytest}
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
pybind11 is a header-only library that exposes C++ types in Python
|
||||
and vice versa, mainly to create Python bindings of existing C++
|
||||
code. It can reduce boilerplate code in traditional extension modules
|
||||
by inferring type information using compile-time introspection.
|
||||
|
||||
%package -n %{name}-common-devel
|
||||
Summary: Development files for pybind11
|
||||
Provides: %{python_module pybind11-common-devel = %{version}}
|
||||
|
||||
%description -n %{name}-common-devel
|
||||
This package contains files for developing applications using pybind11.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for pybind11
|
||||
Requires: %{name}-common-devel = %{version}
|
||||
Requires: python-devel
|
||||
Requires: python-pybind11 = %{version}
|
||||
Requires: %{plainpython}(abi) = %{python_version}
|
||||
|
||||
%description devel
|
||||
This package contains files for developing applications using pybind11.
|
||||
|
||||
%prep
|
||||
%setup -q -n pybind11-%{version}
|
||||
|
||||
%build
|
||||
%if !%{with test}
|
||||
%pyproject_wheel
|
||||
# calling cmake to install header to right location and
|
||||
# generate cmake include files
|
||||
%{python_expand pushd .
|
||||
%cmake \
|
||||
-DPYBIND11_INSTALL=ON \
|
||||
-DPYBIND11_TEST=OFF \
|
||||
-DPYTHON_EXECUTABLE:FILEPATH=%{_bindir}/$python
|
||||
%cmake_build
|
||||
popd
|
||||
}
|
||||
%else
|
||||
%{python_expand pushd .
|
||||
%cmake \
|
||||
-DPYBIND11_INSTALL=OFF \
|
||||
-DPYBIND11_TEST=ON \
|
||||
-DPYTHON_EXECUTABLE:FILEPATH=%{_bindir}/$python
|
||||
%cmake_build
|
||||
popd
|
||||
}
|
||||
%endif
|
||||
|
||||
%install
|
||||
%if !%{with test}
|
||||
%pyproject_install
|
||||
%python_clone -a %{buildroot}%{_bindir}/pybind11-config
|
||||
%{python_expand #
|
||||
%cmake_install
|
||||
# remove duplicated header files from sitelibs but link to common dirs as some
|
||||
# packages expect them to be in the sitelib where pybind11.get_include() reports them.
|
||||
rm -r %{buildroot}%{$python_sitelib}/pybind11/include/pybind11
|
||||
ln -s %{_includedir}/pybind11 %{buildroot}%{$python_sitelib}/pybind11/include/pybind11
|
||||
# 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
|
||||
# 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
|
||||
|
||||
%if %{with test}
|
||||
%check
|
||||
export PYTHONPATH=${PWD}/build/tests/
|
||||
# tests fail as python3-widget is not in distribuion
|
||||
ignore_tests="--ignore tests/test_embed/test_interpreter.py --ignore tests/test_embed/test_trampoline.py"
|
||||
# no isolated build env with builddep wheels available
|
||||
ignore_tests="$ignore_tests --ignore tests/extra_python_package/test_files.py"
|
||||
%pytest $ignore_tests
|
||||
%endif
|
||||
|
||||
%pretrans devel -p <lua>
|
||||
-- https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
|
||||
-- rh#447156
|
||||
-- Define the paths to directory being replaced in the below.
|
||||
-- DO NOT add a trailing slash at the end.
|
||||
paths = {"%{python_sitelib}/pybind11/share/cmake/pybind11", "%{python_sitelib}/pybind11/include/pybind11"}
|
||||
for i, path in ipairs(paths) do
|
||||
st = posix.stat(path)
|
||||
if st and st.type == "directory" then
|
||||
status = os.rename(path, path .. ".rpmmoved")
|
||||
if not status then
|
||||
suffix = 0
|
||||
while not status do
|
||||
suffix = suffix + 1
|
||||
status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
|
||||
end
|
||||
os.rename(path, path .. ".rpmmoved")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
%pre
|
||||
# If libalternatives is used: Removing old update-alternatives entries.
|
||||
%python_libalternatives_reset_alternative pybind11-config
|
||||
|
||||
%post
|
||||
%python_install_alternative pybind11-config
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative pybind11-config
|
||||
|
||||
%if !%{with test}
|
||||
%files %{python_files}
|
||||
%doc README.rst docs/changelog.rst
|
||||
%license LICENSE
|
||||
%python_alternative %{_bindir}/pybind11-config
|
||||
%{python_sitelib}/pybind11
|
||||
%exclude %{python_sitelib}/pybind11/share/cmake
|
||||
%exclude %{python_sitelib}/pybind11/include
|
||||
%{python_sitelib}/pybind11-%{version}*-info
|
||||
|
||||
%files -n %{name}-common-devel
|
||||
%license LICENSE
|
||||
%{_includedir}/pybind11
|
||||
%{_datadir}/cmake/pybind11
|
||||
%{_datadir}/pkgconfig/pybind11.pc
|
||||
|
||||
%files %{python_files devel}
|
||||
%license LICENSE
|
||||
%{python_sitelib}/pybind11/share/cmake
|
||||
%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
|
Loading…
Reference in New Issue
Block a user