Sync from SUSE:SLFO:Main python-pybind11 revision 96af6d984ecba2046e9112567e656cc2
This commit is contained in:
commit
334719e6ac
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