summaryrefslogtreecommitdiff
path: root/python-cstruct.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-cstruct.spec')
-rw-r--r--python-cstruct.spec121
1 files changed, 121 insertions, 0 deletions
diff --git a/python-cstruct.spec b/python-cstruct.spec
new file mode 100644
index 0000000..fcb0222
--- /dev/null
+++ b/python-cstruct.spec
@@ -0,0 +1,121 @@
+%global _empty_manifest_terminate_build 0
+Name: python-cstruct
+Version: 5.2
+Release: 1
+Summary: C-style structs for Python
+License: MIT
+URL: http://github.com/andreax79/python-cstruct
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/55/06/2b9a6ce176b96f2ab487a798e0bba10e04a8e773a893322ac478ae6dcf92/cstruct-5.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-pytest
+
+%description
+C-style structs for Python
+[![Build Status](https://github.com/andreax79/python-cstruct/workflows/Tests/badge.svg)](https://github.com/andreax79/python-cstruct/actions)
+[![PyPI version](https://badge.fury.io/py/cstruct.svg)](https://badge.fury.io/py/cstruct)
+[![PyPI](https://img.shields.io/pypi/pyversions/cstruct.svg)](https://pypi.org/project/cstruct)
+[![Downloads](https://pepy.tech/badge/cstruct/month)](https://pepy.tech/project/cstruct)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Known Vulnerabilities](https://snyk.io/test/github/andreax79/python-cstruct/badge.svg)](https://snyk.io/test/github/andreax79/python-cstruct)
+[![Documentation](https://readthedocs.org/projects/python-cstruct/badge/?version=latest)](https://python-cstruct.readthedocs.io/en/latest/)
+Convert C struct/union definitions into Python classes with methods for
+serializing/deserializing.
+The usage is very simple: create a class subclassing
+[`cstruct.MemCStruct`](https://python-cstruct.readthedocs.io/en/latest/api/mem_cstruct/)
+and add a C struct/union definition as a string in the `__def__` field.
+The C struct/union definition is parsed at runtime and the struct format string
+is generated. The class offers the method `unpack` for deserializing
+an array of bytes into a Python object and the method `pack` for
+serializing the values into an array of bytes.
+
+%package -n python3-cstruct
+Summary: C-style structs for Python
+Provides: python-cstruct
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-cstruct
+C-style structs for Python
+[![Build Status](https://github.com/andreax79/python-cstruct/workflows/Tests/badge.svg)](https://github.com/andreax79/python-cstruct/actions)
+[![PyPI version](https://badge.fury.io/py/cstruct.svg)](https://badge.fury.io/py/cstruct)
+[![PyPI](https://img.shields.io/pypi/pyversions/cstruct.svg)](https://pypi.org/project/cstruct)
+[![Downloads](https://pepy.tech/badge/cstruct/month)](https://pepy.tech/project/cstruct)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Known Vulnerabilities](https://snyk.io/test/github/andreax79/python-cstruct/badge.svg)](https://snyk.io/test/github/andreax79/python-cstruct)
+[![Documentation](https://readthedocs.org/projects/python-cstruct/badge/?version=latest)](https://python-cstruct.readthedocs.io/en/latest/)
+Convert C struct/union definitions into Python classes with methods for
+serializing/deserializing.
+The usage is very simple: create a class subclassing
+[`cstruct.MemCStruct`](https://python-cstruct.readthedocs.io/en/latest/api/mem_cstruct/)
+and add a C struct/union definition as a string in the `__def__` field.
+The C struct/union definition is parsed at runtime and the struct format string
+is generated. The class offers the method `unpack` for deserializing
+an array of bytes into a Python object and the method `pack` for
+serializing the values into an array of bytes.
+
+%package help
+Summary: Development documents and examples for cstruct
+Provides: python3-cstruct-doc
+%description help
+C-style structs for Python
+[![Build Status](https://github.com/andreax79/python-cstruct/workflows/Tests/badge.svg)](https://github.com/andreax79/python-cstruct/actions)
+[![PyPI version](https://badge.fury.io/py/cstruct.svg)](https://badge.fury.io/py/cstruct)
+[![PyPI](https://img.shields.io/pypi/pyversions/cstruct.svg)](https://pypi.org/project/cstruct)
+[![Downloads](https://pepy.tech/badge/cstruct/month)](https://pepy.tech/project/cstruct)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Known Vulnerabilities](https://snyk.io/test/github/andreax79/python-cstruct/badge.svg)](https://snyk.io/test/github/andreax79/python-cstruct)
+[![Documentation](https://readthedocs.org/projects/python-cstruct/badge/?version=latest)](https://python-cstruct.readthedocs.io/en/latest/)
+Convert C struct/union definitions into Python classes with methods for
+serializing/deserializing.
+The usage is very simple: create a class subclassing
+[`cstruct.MemCStruct`](https://python-cstruct.readthedocs.io/en/latest/api/mem_cstruct/)
+and add a C struct/union definition as a string in the `__def__` field.
+The C struct/union definition is parsed at runtime and the struct format string
+is generated. The class offers the method `unpack` for deserializing
+an array of bytes into a Python object and the method `pack` for
+serializing the values into an array of bytes.
+
+%prep
+%autosetup -n cstruct-5.2
+
+%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-cstruct -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 5.2-1
+- Package Spec generated