From 410ae018e733b49589d26379abd174e7d6573a52 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 10 Apr 2023 22:48:39 +0000 Subject: automatic import of python-fastrlock --- .gitignore | 1 + python-fastrlock.spec | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 127 insertions(+) create mode 100644 python-fastrlock.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..9c423cc 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/fastrlock-0.8.1.tar.gz diff --git a/python-fastrlock.spec b/python-fastrlock.spec new file mode 100644 index 0000000..14d676c --- /dev/null +++ b/python-fastrlock.spec @@ -0,0 +1,125 @@ +%global _empty_manifest_terminate_build 0 +Name: python-fastrlock +Version: 0.8.1 +Release: 1 +Summary: Fast, re-entrant optimistic lock implemented in Cython +License: MIT style +URL: https://github.com/scoder/fastrlock +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/84/64/7d4f96734aba053194877f0b342a3a57402d2b2215aaae39b0cd619a326d/fastrlock-0.8.1.tar.gz + + +%description +This is a C-level implementation of a fast, re-entrant, optimistic lock for CPython. +It is a drop-in replacement for +`threading.RLock `_. +FastRLock is implemented in `Cython `_ and also provides a C-API +for direct use from Cython code via ``from fastrlock cimport rlock``. +Under normal conditions, it is about 10x faster than threading.RLock in Python 2.7 +because it avoids all locking unless two or more threads try to acquire it at the +same time. Under congestion, it is still about 10% faster than RLock due to being +implemented in Cython. +This is mostly equivalent to the revised RLock implementation in Python 3.2, +but still faster due to being implemented in Cython. However, in Python 3.4 and +later, the ``threading.RLock`` implementation in the stdlib tends to be as fast +or even faster than the lock provided by this package, when called through the +Python API. ``FastRLock`` is still faster also on these systems when called +through its Cython API from other Cython modules. +It was initially published as a code recipe here: +https://code.activestate.com/recipes/577336-fast-re-entrant-optimistic-lock-implemented-in-cyt/ +FastRLock has been used and tested in `Lupa `_ for several years. + +%package -n python3-fastrlock +Summary: Fast, re-entrant optimistic lock implemented in Cython +Provides: python-fastrlock +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-fastrlock +This is a C-level implementation of a fast, re-entrant, optimistic lock for CPython. +It is a drop-in replacement for +`threading.RLock `_. +FastRLock is implemented in `Cython `_ and also provides a C-API +for direct use from Cython code via ``from fastrlock cimport rlock``. +Under normal conditions, it is about 10x faster than threading.RLock in Python 2.7 +because it avoids all locking unless two or more threads try to acquire it at the +same time. Under congestion, it is still about 10% faster than RLock due to being +implemented in Cython. +This is mostly equivalent to the revised RLock implementation in Python 3.2, +but still faster due to being implemented in Cython. However, in Python 3.4 and +later, the ``threading.RLock`` implementation in the stdlib tends to be as fast +or even faster than the lock provided by this package, when called through the +Python API. ``FastRLock`` is still faster also on these systems when called +through its Cython API from other Cython modules. +It was initially published as a code recipe here: +https://code.activestate.com/recipes/577336-fast-re-entrant-optimistic-lock-implemented-in-cyt/ +FastRLock has been used and tested in `Lupa `_ for several years. + +%package help +Summary: Development documents and examples for fastrlock +Provides: python3-fastrlock-doc +%description help +This is a C-level implementation of a fast, re-entrant, optimistic lock for CPython. +It is a drop-in replacement for +`threading.RLock `_. +FastRLock is implemented in `Cython `_ and also provides a C-API +for direct use from Cython code via ``from fastrlock cimport rlock``. +Under normal conditions, it is about 10x faster than threading.RLock in Python 2.7 +because it avoids all locking unless two or more threads try to acquire it at the +same time. Under congestion, it is still about 10% faster than RLock due to being +implemented in Cython. +This is mostly equivalent to the revised RLock implementation in Python 3.2, +but still faster due to being implemented in Cython. However, in Python 3.4 and +later, the ``threading.RLock`` implementation in the stdlib tends to be as fast +or even faster than the lock provided by this package, when called through the +Python API. ``FastRLock`` is still faster also on these systems when called +through its Cython API from other Cython modules. +It was initially published as a code recipe here: +https://code.activestate.com/recipes/577336-fast-re-entrant-optimistic-lock-implemented-in-cyt/ +FastRLock has been used and tested in `Lupa `_ for several years. + +%prep +%autosetup -n fastrlock-0.8.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-fastrlock -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot - 0.8.1-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..426ad1f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +42eb992cc604a40585f00bb868f25e2f fastrlock-0.8.1.tar.gz -- cgit v1.2.3