summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pybindgen.spec138
-rw-r--r--sources1
3 files changed, 140 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b3adbcf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..047c3bd
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a082555346450f008d68c337c2e175d0 PyBindGen-0.22.1.tar.gz