Name: e-antic Version: 1.2.0 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 introduction of cereal 1.3.1 broke cereal support. See: # https://github.com/USCiLab/cereal/issues/742 # https://github.com/flatsurf/e-antic/issues/224 # Since cereal is only needed for tests, we use cereal 1.3.0 until the issue # can be resolved. Source1: https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0/cereal-1.3.0.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 # Missing dependencies to build docs: # - byexample: https://github.com/byexamples/byexample # - standardese: https://github.com/standardese/standardese # The python interface, pyeantic, requires cppyy, which is currently not # available in Fedora. # This can be removed when Fedora 38 reaches EOL Obsoletes: python3-pyeantic < 1.0.1-2 %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}. %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 1.3.0 available for testing rmdir libeantic/test/external/cereal tar -C libeantic/test/external -xzf %{SOURCE1} mv libeantic/test/external/cereal-1.3.0 libeantic/test/external/cereal %build export CPPFLAGS="-I %{_includedir}/arb" %configure --disable-silent-rules --disable-static \ --enable-openmp \ --without-benchmark \ --without-byexample \ --without-doc \ --without-pyeantic \ --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 %make_build %install %make_install # We do not want the libtool archives rm %{buildroot}%{_libdir}/*.la # Documentation is installed below rm -fr %{buildroot}%{_docdir} %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} 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 %changelog * Mon Apr 11 2022 Jerry James - 1.2.0-1 - Version 1.2.0 * Thu Mar 3 2022 Jerry James - 1.1.0-1 - Version 1.1.0 - Drop upstreamed -cmp and -odr patches * Thu Jan 20 2022 Fedora Release Engineering - 1.0.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Jan 14 2022 Jerry James - 1.0.3-2 - Replace -negative-int patch with better -cmp patch - Add -odr patch * Wed Aug 25 2021 Jerry James - 1.0.3-2 - Rebuild for flint 2.8.0 * Fri Aug 20 2021 Jerry James - 1.0.3-1 - Version 1.0.3 * Wed Aug 11 2021 Jerry James - 1.0.2-1 - Version 1.0.2 * Wed Jul 21 2021 Fedora Release Engineering - 1.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun Jul 18 2021 Jerry James - 1.0.1-2 - Drop the python3-pyeantic subpackage due to missing cppyy * Thu Jul 15 2021 Jerry James - 1.0.1-1 - Version 1.0.1 - Add the python3-pyeantic subpackage - Add -unpatch and -negative-int patches * 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