diff options
Diffstat (limited to 'python-islpy.spec')
-rw-r--r-- | python-islpy.spec | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/python-islpy.spec b/python-islpy.spec new file mode 100644 index 0000000..754f275 --- /dev/null +++ b/python-islpy.spec @@ -0,0 +1,142 @@ +%global _empty_manifest_terminate_build 0 +Name: python-islpy +Version: 2023.1 +Release: 1 +Summary: Wrapper around isl, an integer set library +License: MIT +URL: http://documen.tician.de/islpy +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/62/7e/1728e19e8b5913938a54fc3ebec0dbd43e2e8a5279bdb2a33a6461dad569/islpy-2023.1.tar.gz +BuildArch: noarch + +Requires: python3-pytest + +%description +islpy is a Python wrapper around Sven Verdoolaege's `isl +<https://libisl.sourceforge.io/>`_, a library for manipulating sets and +relations of integer points bounded by linear constraints. +Supported operations on sets include +* intersection, union, set difference, +* emptiness check, +* convex hull, +* (integer) affine hull, +* integer projection, +* computing the lexicographic minimum using parametric integer programming, +* coalescing, and +* parametric vertex enumeration. +It also includes an ILP solver based on generalized basis reduction, transitive +closures on maps (which may encode infinite graphs), dependence analysis and +bounds on piecewise step-polynomials. +Islpy comes with comprehensive `documentation <http://documen.tician.de/islpy>`_. +*Requirements:* islpy needs a C++ compiler to build. It can optionally make use +of GMP for support of large integers. +One important thing to know about islpy is that it exposes every function in isl +that is visible in the headers, not just what isl's authors consider its +documented, public API (marked by ``__isl_export``). These (technically) +undocumented functions are marked in the islpy documentation. Many of them are useful +and essential for certain operations, but isl's API stability guarantees do not +apply to them. Use them at your own risk. + +%package -n python3-islpy +Summary: Wrapper around isl, an integer set library +Provides: python-islpy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-islpy +islpy is a Python wrapper around Sven Verdoolaege's `isl +<https://libisl.sourceforge.io/>`_, a library for manipulating sets and +relations of integer points bounded by linear constraints. +Supported operations on sets include +* intersection, union, set difference, +* emptiness check, +* convex hull, +* (integer) affine hull, +* integer projection, +* computing the lexicographic minimum using parametric integer programming, +* coalescing, and +* parametric vertex enumeration. +It also includes an ILP solver based on generalized basis reduction, transitive +closures on maps (which may encode infinite graphs), dependence analysis and +bounds on piecewise step-polynomials. +Islpy comes with comprehensive `documentation <http://documen.tician.de/islpy>`_. +*Requirements:* islpy needs a C++ compiler to build. It can optionally make use +of GMP for support of large integers. +One important thing to know about islpy is that it exposes every function in isl +that is visible in the headers, not just what isl's authors consider its +documented, public API (marked by ``__isl_export``). These (technically) +undocumented functions are marked in the islpy documentation. Many of them are useful +and essential for certain operations, but isl's API stability guarantees do not +apply to them. Use them at your own risk. + +%package help +Summary: Development documents and examples for islpy +Provides: python3-islpy-doc +%description help +islpy is a Python wrapper around Sven Verdoolaege's `isl +<https://libisl.sourceforge.io/>`_, a library for manipulating sets and +relations of integer points bounded by linear constraints. +Supported operations on sets include +* intersection, union, set difference, +* emptiness check, +* convex hull, +* (integer) affine hull, +* integer projection, +* computing the lexicographic minimum using parametric integer programming, +* coalescing, and +* parametric vertex enumeration. +It also includes an ILP solver based on generalized basis reduction, transitive +closures on maps (which may encode infinite graphs), dependence analysis and +bounds on piecewise step-polynomials. +Islpy comes with comprehensive `documentation <http://documen.tician.de/islpy>`_. +*Requirements:* islpy needs a C++ compiler to build. It can optionally make use +of GMP for support of large integers. +One important thing to know about islpy is that it exposes every function in isl +that is visible in the headers, not just what isl's authors consider its +documented, public API (marked by ``__isl_export``). These (technically) +undocumented functions are marked in the islpy documentation. Many of them are useful +and essential for certain operations, but isl's API stability guarantees do not +apply to them. Use them at your own risk. + +%prep +%autosetup -n islpy-2023.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-islpy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 2023.1-1 +- Package Spec generated |