Name: libpoly Version: 0.1.13 Release: %autorelease Summary: C library for manipulating polynomials License: LGPL-3.0-or-later URL: https://sri-csl.github.io/libpoly/ VCS: https://github.com/SRI-CSL/libpoly Source0: %{vcs}/archive/v%{version}/%{name}-%{version}.tar.gz # Fix incompatible pointer type, an error with GCC 14 # See https://github.com/SRI-CSL/libpoly/pull/76 Patch0: %{name}-gcc14.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: gmp-devel BuildRequires: make BuildRequires: python3-devel BuildRequires: %{py3_dist sympy} %description LibPoly is a C library for manipulating polynomials. The target applications are symbolic reasoning engines, such as SMT solvers, that need to reason about polynomial constraints. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package -n python3-%{name} Summary: Python 3 interface to %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python3-%{name} This package contains a python 3 interface to %{name}. %prep %autosetup -p1 # Install in the right place if [ "%{_lib}" != "lib" ]; then sed -i 's/\(DESTINATION \)lib/\1%{_lib}/' src/CMakeLists.txt fi # Clean up hidden files before they get installed find . -name .gitignore -delete %generate_buildrequires cd python sed 's/\${LIBPOLY_VERSION}/%{version}/' setup.py.in > setup.py %pyproject_buildrequires rm setup.py %build %cmake %{_cmake_skip_rpath} \ -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ -DLIBPOLY_BUILD_STATIC:BOOL=OFF \ -DLIBPOLY_BUILD_STATIC_PIC:BOOL=OFF %cmake_build # Build the python interface the Fedora way sed -i "s|library_dirs = \[|&'$PWD/%{_vpath_builddir}/src', |" python/setup.py cd python %pyproject_wheel cd - %install %cmake_install # Install the python interface the Fedora way cd python %pyproject_install %pyproject_save_files polypy cd - %check export LD_LIBRARY_PATH=$PWD/%{_vpath_builddir}/src %ctest %files %license LICENCE %doc README.md %{_libdir}/libpoly.so.0* %{_libdir}/libpolyxx.so.0* %files devel %{_includedir}/poly/ %{_libdir}/libpoly.so %{_libdir}/libpolyxx.so %files -n python3-%{name} -f %{pyproject_files} %changelog %autochangelog