%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
`_, 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 `_.
*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
`_, 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 `_.
*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
`_, 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 `_.
*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
* Tue May 30 2023 Python_Bot - 2023.1-1
- Package Spec generated