summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-03-09 15:44:47 +0000
committerCoprDistGit <infra@openeuler.org>2023-03-09 15:44:47 +0000
commit1445a40a359263087710be35c5339a1228eb87b6 (patch)
treebfdcd852a655af5a04e2d65864fb5c5c7b3dd28a
parent8d18c2b93200e5e8e036282f6d07f31511ed6ece (diff)
automatic import of python-pyopencl
-rw-r--r--.gitignore1
-rw-r--r--python-pyopencl.spec171
-rw-r--r--sources1
3 files changed, 173 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5338584 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyopencl-2022.3.1.tar.gz
diff --git a/python-pyopencl.spec b/python-pyopencl.spec
new file mode 100644
index 0000000..d1bfa27
--- /dev/null
+++ b/python-pyopencl.spec
@@ -0,0 +1,171 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pyopencl
+Version: 2022.3.1
+Release: 1
+Summary: Python wrapper for OpenCL
+License: MIT
+URL: http://mathema.tician.de/software/pyopencl
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/dd/4c/7f60601cb3e55d21cff151da2121d7d19e8f9f69e3519dc8fca2593668b2/pyopencl-2022.3.1.tar.gz
+
+Requires: python3-numpy
+Requires: python3-pytools
+Requires: python3-platformdirs
+Requires: python3-oclgrind-binary-distribution
+Requires: python3-pocl-binary-distribution
+Requires: python3-pytest
+Requires: python3-Mako
+
+%description
+PyOpenCL lets you access GPUs and other massively parallel compute
+devices from Python. It tries to offer computing goodness in the
+spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__:
+* Object cleanup tied to lifetime of objects. This idiom, often
+ called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__
+ in C++, makes it much easier to write correct, leak- and
+ crash-free code.
+* Completeness. PyOpenCL puts the full power of OpenCL's API at
+ your disposal, if you wish. Every obscure ``get_info()`` query and
+ all CL calls are accessible.
+* Automatic Error Checking. All CL errors are automatically
+ translated into Python exceptions.
+* Speed. PyOpenCL's base layer is written in C++, so all the niceties
+ above are virtually free.
+* Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__
+ as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__.
+* Liberal license. PyOpenCL is open-source under the
+ `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__
+ and free for commercial, academic, and private use.
+* Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's
+ CL implementations.
+Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__
+using Conda on Linux and macOS (that also install a working OpenCL implementation!)
+can be found in the `documentation <https://documen.tician.de/pyopencl/>`__.
+What you'll need if you do *not* want to use the convenient instructions above and
+instead build from source:
+* gcc/g++ new enough to be compatible with pybind11
+ (see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`__)
+* `numpy <https://numpy.org>`__, and
+* an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__
+ for how to get one.)
+
+%package -n python3-pyopencl
+Summary: Python wrapper for OpenCL
+Provides: python-pyopencl
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-pyopencl
+PyOpenCL lets you access GPUs and other massively parallel compute
+devices from Python. It tries to offer computing goodness in the
+spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__:
+* Object cleanup tied to lifetime of objects. This idiom, often
+ called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__
+ in C++, makes it much easier to write correct, leak- and
+ crash-free code.
+* Completeness. PyOpenCL puts the full power of OpenCL's API at
+ your disposal, if you wish. Every obscure ``get_info()`` query and
+ all CL calls are accessible.
+* Automatic Error Checking. All CL errors are automatically
+ translated into Python exceptions.
+* Speed. PyOpenCL's base layer is written in C++, so all the niceties
+ above are virtually free.
+* Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__
+ as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__.
+* Liberal license. PyOpenCL is open-source under the
+ `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__
+ and free for commercial, academic, and private use.
+* Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's
+ CL implementations.
+Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__
+using Conda on Linux and macOS (that also install a working OpenCL implementation!)
+can be found in the `documentation <https://documen.tician.de/pyopencl/>`__.
+What you'll need if you do *not* want to use the convenient instructions above and
+instead build from source:
+* gcc/g++ new enough to be compatible with pybind11
+ (see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`__)
+* `numpy <https://numpy.org>`__, and
+* an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__
+ for how to get one.)
+
+%package help
+Summary: Development documents and examples for pyopencl
+Provides: python3-pyopencl-doc
+%description help
+PyOpenCL lets you access GPUs and other massively parallel compute
+devices from Python. It tries to offer computing goodness in the
+spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__:
+* Object cleanup tied to lifetime of objects. This idiom, often
+ called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__
+ in C++, makes it much easier to write correct, leak- and
+ crash-free code.
+* Completeness. PyOpenCL puts the full power of OpenCL's API at
+ your disposal, if you wish. Every obscure ``get_info()`` query and
+ all CL calls are accessible.
+* Automatic Error Checking. All CL errors are automatically
+ translated into Python exceptions.
+* Speed. PyOpenCL's base layer is written in C++, so all the niceties
+ above are virtually free.
+* Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__
+ as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__.
+* Liberal license. PyOpenCL is open-source under the
+ `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__
+ and free for commercial, academic, and private use.
+* Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's
+ CL implementations.
+Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__
+using Conda on Linux and macOS (that also install a working OpenCL implementation!)
+can be found in the `documentation <https://documen.tician.de/pyopencl/>`__.
+What you'll need if you do *not* want to use the convenient instructions above and
+instead build from source:
+* gcc/g++ new enough to be compatible with pybind11
+ (see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`__)
+* `numpy <https://numpy.org>`__, and
+* an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__
+ for how to get one.)
+
+%prep
+%autosetup -n pyopencl-2022.3.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-pyopencl -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 2022.3.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..d748535
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+767194b54abf8be8a739c02b139ff3fa pyopencl-2022.3.1.tar.gz