Name: e-antic Version: 1.0.1 Release: 1%{?dist} Summary: Real Embedded Algebraic Number Theory In C License: LGPLv3+ URL: https://github.com/flatsurf/%{name} Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz # The e-antic sources contain patches to flint and antic, but those patches # have already been incorporated into the Fedora versions. Make e-antic skip # attempts to build the patched files. Patch0: %{name}-unpatch.patch BuildRequires: antic-devel BuildRequires: arb-devel BuildRequires: boost-devel BuildRequires: catch-devel BuildRequires: cereal-devel BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: make BuildRequires: python3-devel BuildRequires: %{py3_dist setuptools} # Missing dependencies to build docs: # - byexample: https://github.com/byexamples/byexample # - standardese: https://github.com/standardese/standardese # # BuildRequires: %%{py3_dist sphinx} # BuildRequires: %%{py3_dist sphinx_rtd_theme} %description E-ANTIC is a C/C++ library to deal with real embedded number fields, built on top of ANTIC. Its aim is to have as fast as possible exact arithmetic operations and comparisons. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: antic-devel%{?_isa} Requires: arb-devel%{?_isa} Requires: boost-devel%{?_isa} Requires: cereal-devel%{?_isa} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package -n python3-pyeantic Summary: Python 3 interface to %{name} BuildArch: noarch Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python3-pyeantic The python3-pyeantic package contains a python 3 interface to the e-antic library. %prep %autosetup -p1 # Update the configure script due to patch 0 autoreconf -fi . # Make catch2 available for testing mkdir -p libeantic/test/external/catch2/single_include ln -s %{_includedir}/catch2 libeantic/test/external/catch2/single_include # Make cereal available for testing rmdir libeantic/test/external/cereal ln -s %{_includedir}/cereal libeantic/test/external/cereal %build # We have to disable python tests due to lack of cppyy in Fedora export CPPFLAGS="-I %{_includedir}/arb" %configure --disable-silent-rules --disable-static \ --enable-openmp \ --without-benchmark \ --without-byexample \ --without-doc \ --without-pytest \ --without-realalg \ --without-sage # Get rid of undesirable hardcoded rpaths; workaround libtool reordering # -Wl,--as-needed after all the libraries. sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ -e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \ -i libeantic/libtool pyeantic/libtool %make_build %install %make_install # We do not want the libtool archives rm %{buildroot}%{_libdir}/*.la # We do not want the manifest of files for uninstalling rm %{buildroot}%{python3_sitelib}/pyeantic/install_files.txt # Documentation is installed below rm -fr %{buildroot}%{_docdir} %check LD_LIBRARY_PATH=$PWD/.libs make check %files %doc AUTHORS README.md %license COPYING COPYING.LESSER %{_libdir}/libeantic.so.1* %{_libdir}/libeanticxx.so.1* %files devel %{_includedir}/%{name}/ %{_includedir}/libeantic/ %{_libdir}/libeantic.so %{_libdir}/libeanticxx.so %files -n python3-pyeantic %{python3_sitelib}/pyeantic* %changelog * Thu Jul 15 2021 Jerry James - 1.0.1-1 - Version 1.0.1 - Add the python3-pyeantic subpackage * Tue Jan 26 2021 Fedora Release Engineering - 0.1.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Aug 7 2020 Jerry James - 0.1.8-1 - Initial RPM