diff options
Diffstat (limited to 'python-pyext.spec')
| -rw-r--r-- | python-pyext.spec | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/python-pyext.spec b/python-pyext.spec new file mode 100644 index 0000000..a96ca0b --- /dev/null +++ b/python-pyext.spec @@ -0,0 +1,156 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyext +Version: 0.6 +Release: 1 +Summary: Simple Python extensions. +License: UNKNOWN +URL: UNKNOWN +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9c/8e/75e816409b51bce77ec0b99073b462f028509c65a26bfdc87ed88f712dc9/pyext-0.6.tar.gz +BuildArch: noarch + + +%description + Several simple extensions that add some nifty features to Python. + NEWS: There is now a PyExt newsgroup on Google Groups. See https://groups.google.com/forum/#!forum/pyext. + Some features: + - Function overloading + - Switch statement + - Runtime module creation + - Tail recursion removal + - Python 2 function annotations + - Python 2 safe tuple unpacking + Examples: + Function overloading:: + @overload.argc(1) + def f(a): print 'Function 1 called' + @overload.argc(2) + def f(a, b): print 'Function 2 called' + f(1) + f(1, 2) + Switch statement:: + with switch(1): + if case(0): print 'Awkward...'; case.quit() # case.quit() is the same as break + if case(2): print '???' + if case(1): print 'Phew! It works!' + if case.default(): print 'Ummmm...' + Function annotations:: + @fannotate('Return annotation', a=1, b=2) + def x(a, b): + return 0 + TODO: + - Add some more tests + +%package -n python3-pyext +Summary: Simple Python extensions. +Provides: python-pyext +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyext + Several simple extensions that add some nifty features to Python. + NEWS: There is now a PyExt newsgroup on Google Groups. See https://groups.google.com/forum/#!forum/pyext. + Some features: + - Function overloading + - Switch statement + - Runtime module creation + - Tail recursion removal + - Python 2 function annotations + - Python 2 safe tuple unpacking + Examples: + Function overloading:: + @overload.argc(1) + def f(a): print 'Function 1 called' + @overload.argc(2) + def f(a, b): print 'Function 2 called' + f(1) + f(1, 2) + Switch statement:: + with switch(1): + if case(0): print 'Awkward...'; case.quit() # case.quit() is the same as break + if case(2): print '???' + if case(1): print 'Phew! It works!' + if case.default(): print 'Ummmm...' + Function annotations:: + @fannotate('Return annotation', a=1, b=2) + def x(a, b): + return 0 + TODO: + - Add some more tests + +%package help +Summary: Development documents and examples for pyext +Provides: python3-pyext-doc +%description help + Several simple extensions that add some nifty features to Python. + NEWS: There is now a PyExt newsgroup on Google Groups. See https://groups.google.com/forum/#!forum/pyext. + Some features: + - Function overloading + - Switch statement + - Runtime module creation + - Tail recursion removal + - Python 2 function annotations + - Python 2 safe tuple unpacking + Examples: + Function overloading:: + @overload.argc(1) + def f(a): print 'Function 1 called' + @overload.argc(2) + def f(a, b): print 'Function 2 called' + f(1) + f(1, 2) + Switch statement:: + with switch(1): + if case(0): print 'Awkward...'; case.quit() # case.quit() is the same as break + if case(2): print '???' + if case(1): print 'Phew! It works!' + if case.default(): print 'Ummmm...' + Function annotations:: + @fannotate('Return annotation', a=1, b=2) + def x(a, b): + return 0 + TODO: + - Add some more tests + +%prep +%autosetup -n pyext-0.6 + +%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-pyext -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6-1 +- Package Spec generated |
