diff options
Diffstat (limited to 'python-dclimplode.spec')
-rw-r--r-- | python-dclimplode.spec | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/python-dclimplode.spec b/python-dclimplode.spec new file mode 100644 index 0000000..aacb232 --- /dev/null +++ b/python-dclimplode.spec @@ -0,0 +1,167 @@ +%global _empty_manifest_terminate_build 0 +Name: python-dclimplode +Version: 0.0.1.0 +Release: 1 +Summary: a (light) binding for blast/pklib (dclimplode) +License: MIT +URL: https://github.com/cielavenir/python-dclimplode +Source0: https://mirrors.aliyun.com/pypi/web/packages/c4/78/e6ade5e93ac5eb67abc2cb1e9c55aeb70f0e7918baecdb61d486fc6af21c/dclimplode-0.0.1.0.tar.gz + + +%description +[](https://pypi.org/project/dclimplode/) + +## dclimplode + +a (light) binding for https://github.com/madler/zlib/blob/master/contrib/blast/blast.c and https://github.com/ladislav-zezula/StormLib/blob/master/src/pklib/implode.c + +DCL stands for `PKWARE(R) Data Compression Library`. + +``` +o = dclimplode.compressobj() +s = o.compress(b'hello')+o.flush() +o = dclimplode.decompressobj() +o.decompress(s) == b'hello' +``` + +## tested versions + +- Python 2.7 +- Python 3.9 +- PyPy [2.7] 7.3.3 +- PyPy [3.7] 7.3.5 + - For PyPy2, pip needs to be 20.1.x cf https://github.com/pypa/pip/issues/8653 + - PyPy needs to be 7.3.1+ cf https://github.com/pybind/pybind11/issues/2436 +- Pyston [3.8] 2.3 + +## special thanks + +- https://github.com/JoshVarga/blast showed dclimplode compression by Ladislav Zezula (I knew dclimplode decompression in zlib for a long time though) +- unlike [deflate64 infback9](https://github.com/brianhelba/zipfile-deflate64/pull/18), making dclimplode blast resumable does not look possible (for me). instead I used threaded decoder. basic idea is from https://github.com/miurahr/pyppmd/pull/33#issuecomment-894676975 ('s linked commit f224a04). + + + + +%package -n python3-dclimplode +Summary: a (light) binding for blast/pklib (dclimplode) +Provides: python-dclimplode +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-dclimplode +[](https://pypi.org/project/dclimplode/) + +## dclimplode + +a (light) binding for https://github.com/madler/zlib/blob/master/contrib/blast/blast.c and https://github.com/ladislav-zezula/StormLib/blob/master/src/pklib/implode.c + +DCL stands for `PKWARE(R) Data Compression Library`. + +``` +o = dclimplode.compressobj() +s = o.compress(b'hello')+o.flush() +o = dclimplode.decompressobj() +o.decompress(s) == b'hello' +``` + +## tested versions + +- Python 2.7 +- Python 3.9 +- PyPy [2.7] 7.3.3 +- PyPy [3.7] 7.3.5 + - For PyPy2, pip needs to be 20.1.x cf https://github.com/pypa/pip/issues/8653 + - PyPy needs to be 7.3.1+ cf https://github.com/pybind/pybind11/issues/2436 +- Pyston [3.8] 2.3 + +## special thanks + +- https://github.com/JoshVarga/blast showed dclimplode compression by Ladislav Zezula (I knew dclimplode decompression in zlib for a long time though) +- unlike [deflate64 infback9](https://github.com/brianhelba/zipfile-deflate64/pull/18), making dclimplode blast resumable does not look possible (for me). instead I used threaded decoder. basic idea is from https://github.com/miurahr/pyppmd/pull/33#issuecomment-894676975 ('s linked commit f224a04). + + + + +%package help +Summary: Development documents and examples for dclimplode +Provides: python3-dclimplode-doc +%description help +[](https://pypi.org/project/dclimplode/) + +## dclimplode + +a (light) binding for https://github.com/madler/zlib/blob/master/contrib/blast/blast.c and https://github.com/ladislav-zezula/StormLib/blob/master/src/pklib/implode.c + +DCL stands for `PKWARE(R) Data Compression Library`. + +``` +o = dclimplode.compressobj() +s = o.compress(b'hello')+o.flush() +o = dclimplode.decompressobj() +o.decompress(s) == b'hello' +``` + +## tested versions + +- Python 2.7 +- Python 3.9 +- PyPy [2.7] 7.3.3 +- PyPy [3.7] 7.3.5 + - For PyPy2, pip needs to be 20.1.x cf https://github.com/pypa/pip/issues/8653 + - PyPy needs to be 7.3.1+ cf https://github.com/pybind/pybind11/issues/2436 +- Pyston [3.8] 2.3 + +## special thanks + +- https://github.com/JoshVarga/blast showed dclimplode compression by Ladislav Zezula (I knew dclimplode decompression in zlib for a long time though) +- unlike [deflate64 infback9](https://github.com/brianhelba/zipfile-deflate64/pull/18), making dclimplode blast resumable does not look possible (for me). instead I used threaded decoder. basic idea is from https://github.com/miurahr/pyppmd/pull/33#issuecomment-894676975 ('s linked commit f224a04). + + + + +%prep +%autosetup -n dclimplode-0.0.1.0 + +%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-dclimplode -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.1.0-1 +- Package Spec generated |