%global _empty_manifest_terminate_build 0 Name: python-PyBindGen Version: 0.22.1 Release: 1 Summary: Python Bindings Generator License: GNU Lesser General Public License v2 or later (LGPLv2+) URL: https://github.com/gjcarneiro/pybindgen Source0: https://mirrors.aliyun.com/pypi/web/packages/e0/8e/de441f26282eb869ac987c9a291af7e3773d93ffdb8e4add664b392ea439/PyBindGen-0.22.1.tar.gz BuildArch: noarch %description PyBindGen is (surprise!) a python bindings generator. The main features are: * Generates clean C or C++ code, nearly as readable as code written manually by a developer; * Generated code is self contained and does not require any external libraries or macros; after generating the python module only python header files are required, nothing else; * Does not require Boost.Python (no C++ template magic, also works in C); * The interface for code generation is a simple Python API, not some obscure interface definition language. Additionally PyBindGen can parse header files with gccxml, if gccxml and pygccxml are installed in the system (note: pygccxml has not been ported to Python 3 yet); * Can be easily extended with new type handlers; * Type handlers can allocate memory and register cleanup code to free; * Supports in, out, and inout parameters (e.g. with pointers or C++ references); * Supports multiple return values (e.g. due to out/inout parameters); * Supports wrapping of simple C++ classes; * Supports virtual methods in classes; * Supports reference counted classes and, to some extent, smart pointers; * Multiple inheritance; * Wrapping templated classes; Notable features NOT implemented: * Converting exceptions from Python to C++ (only from C++ to Python is currently supported); * Callbacks. %package -n python3-PyBindGen Summary: Python Bindings Generator Provides: python-PyBindGen BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-PyBindGen PyBindGen is (surprise!) a python bindings generator. The main features are: * Generates clean C or C++ code, nearly as readable as code written manually by a developer; * Generated code is self contained and does not require any external libraries or macros; after generating the python module only python header files are required, nothing else; * Does not require Boost.Python (no C++ template magic, also works in C); * The interface for code generation is a simple Python API, not some obscure interface definition language. Additionally PyBindGen can parse header files with gccxml, if gccxml and pygccxml are installed in the system (note: pygccxml has not been ported to Python 3 yet); * Can be easily extended with new type handlers; * Type handlers can allocate memory and register cleanup code to free; * Supports in, out, and inout parameters (e.g. with pointers or C++ references); * Supports multiple return values (e.g. due to out/inout parameters); * Supports wrapping of simple C++ classes; * Supports virtual methods in classes; * Supports reference counted classes and, to some extent, smart pointers; * Multiple inheritance; * Wrapping templated classes; Notable features NOT implemented: * Converting exceptions from Python to C++ (only from C++ to Python is currently supported); * Callbacks. %package help Summary: Development documents and examples for PyBindGen Provides: python3-PyBindGen-doc %description help PyBindGen is (surprise!) a python bindings generator. The main features are: * Generates clean C or C++ code, nearly as readable as code written manually by a developer; * Generated code is self contained and does not require any external libraries or macros; after generating the python module only python header files are required, nothing else; * Does not require Boost.Python (no C++ template magic, also works in C); * The interface for code generation is a simple Python API, not some obscure interface definition language. Additionally PyBindGen can parse header files with gccxml, if gccxml and pygccxml are installed in the system (note: pygccxml has not been ported to Python 3 yet); * Can be easily extended with new type handlers; * Type handlers can allocate memory and register cleanup code to free; * Supports in, out, and inout parameters (e.g. with pointers or C++ references); * Supports multiple return values (e.g. due to out/inout parameters); * Supports wrapping of simple C++ classes; * Supports virtual methods in classes; * Supports reference counted classes and, to some extent, smart pointers; * Multiple inheritance; * Wrapping templated classes; Notable features NOT implemented: * Converting exceptions from Python to C++ (only from C++ to Python is currently supported); * Callbacks. %prep %autosetup -n PyBindGen-0.22.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-PyBindGen -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.22.1-1 - Package Spec generated