summaryrefslogtreecommitdiff
path: root/python-islpy.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-islpy.spec')
-rw-r--r--python-islpy.spec142
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