diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 05:50:42 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 05:50:42 +0000 |
commit | ebef36d6f27c29bb7211640c0db57b375a5dd00c (patch) | |
tree | 971d94413a3ece068bf664d3ead4b23ec23b2c3f | |
parent | 09c82b25a6c62dae21e8c40d2f4ea2dc452271c3 (diff) |
automatic import of python-pybindgen
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pybindgen.spec | 138 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 140 insertions, 0 deletions
@@ -0,0 +1 @@ +/PyBindGen-0.22.1.tar.gz diff --git a/python-pybindgen.spec b/python-pybindgen.spec new file mode 100644 index 0000000..61472c6 --- /dev/null +++ b/python-pybindgen.spec @@ -0,0 +1,138 @@ +%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.nju.edu.cn/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 +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.22.1-1 +- Package Spec generated @@ -0,0 +1 @@ +a082555346450f008d68c337c2e175d0 PyBindGen-0.22.1.tar.gz |