Name: givaro Version: 4.2.0 %global so_version 9 Release: 4%{?dist} Summary: C++ library for arithmetic and algebraic computations # The entire source is CECILL-B except for src/kernel/recint/reclonglong.h, # which is LGPL-3.0-or-later, and various Autotools build-system files, which # do not contribute to the licenses of the binary RPMs. License: CECILL-B AND LGPL-3.0-or-later URL: https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro/ Source0: https://github.com/linbox-team/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz # Add missing #include for (u)int64_t # Fixes failure to compile on GCC 13. # https://github.com/linbox-team/givaro/pull/218 Patch: https://github.com/linbox-team/%{name}/pull/218.patch # Temporary GCC 14 workaround # # Fixes https://github.com/linbox-team/givaro/issues/226 “GCC 14: No match # for operator= for Givaro::ZRing” # # Recommended in # https://github.com/linbox-team/givaro/issues/226#issuecomment-1908853755 Patch: 0001-Temporary-GCC-14-workaround.patch BuildRequires: gcc-c++ BuildRequires: ghostscript BuildRequires: gmp-devel BuildRequires: make BuildRequires: tex(stmaryrd.sty) %description Givaro is a C++ library for arithmetic and algebraic computations. Its main features are implementations of the basic arithmetic of many mathematical entities: Prime fields, Extension Fields, Finite Fields, Finite Rings, Polynomials, Algebraic numbers, Arbitrary precision integers and rationals (C++ wrappers over gmp). It also provides data-structures and templated classes for the manipulation of basic algebraic objects, such as vectors, matrices (dense, sparse, structured), and univariate polynomials (and therefore recursive multivariate). %package devel Summary: Files useful for %{name} development Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: %{name}-devel-doc < 4.1.1-15 %description devel The libraries and header files for using %{name} for development. # The static library is required by Macaulay2. See its spec file for a full # explanation; the essential justification is excerpted below: # # We have to use the static version of the libfplll and givaro library. They # have global objects whose constructors run before GC is initialized. If we # allow the shared libraries to be unloaded, which happens as a normal part # of Macaulay2's functioning, then GC tries to free objects it did not # allocate, which leads to a segfault. %package static Summary: Static library for %{name} Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description static A static library for %{name}. %prep %autosetup -p1 %build %ifarch %{ix86} # Excess precision leads to test failures %global optflags %optflags -ffloat-store %endif %ifarch s390x %global optflags %optflags -ffp-contract=off %endif %configure --without-archnative # Get rid of undesirable hardcoded rpaths, and 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 libtool %make_build %install %make_install # We don't want libtool archives rm -f %{buildroot}%{_libdir}/lib%{name}.la %check export LD_LIBRARY_PATH=$PWD/src/.libs %make_build check %files %doc AUTHORS ChangeLog README.md %license COPYING COPYRIGHT Licence_CeCILL-B_V1-en.txt Licence_CeCILL-B_V1-fr.txt %{_libdir}/lib%{name}.so.%{so_version}{,.*} %files devel %{_bindir}/%{name}-config %dir %{_datadir}/%{name} %{_datadir}/%{name}/%{name}-makefile %{_includedir}/%{name}/ %{_includedir}/gmp++/ %{_includedir}/recint/ %{_includedir}/%{name}-config.h %{_libdir}/lib%{name}.so %{_libdir}/pkgconfig/%{name}.pc %files static %{_libdir}/lib%{name}.a %changelog * Thu Jan 25 2024 Benjamin A. Beasley - 4.2.0-4 - Work around failure to build with GCC 14 * Wed Jan 24 2024 Fedora Release Engineering - 4.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 4.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Tue Oct 17 2023 Benjamin A. Beasley - 4.2.0-1 - Update to 4.2.0 (fix RHBZ#2032674) * Tue Jul 25 2023 Benjamin A. Beasley - 4.1.1-15 - Drop and Obsolete the -devel-doc subpackage (fix RHBZ#2225830) * Wed Jul 19 2023 Fedora Release Engineering - 4.1.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat Mar 25 2023 Benjamin A. Beasley - 4.1.1-13 - Re-enable documentation on F37 * Mon Jan 23 2023 Benjamin A. Beasley - 4.1.1-12 - Revert workaround for missing dependency on texlive-wasy * Thu Jan 19 2023 Benjamin A. Beasley - 4.1.1-11 - Update License to SPDX - Work around missing dependency on texlive-wasy - Fix missing include for GCC 13; stop numbering patches * Thu Jan 19 2023 Fedora Release Engineering - 4.1.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Jul 21 2022 Benjamin A. Beasley - 4.1.1-9 - Build docs as PDF instead of HTML due to guidelines issues - Move large documentation to a new -devel-doc subpackage - Temporarily disable doxygen docs on F37 due to a doxygen bug - Correct License from CeCILL-B to (CeCILL-B and LGPLv3+) - Do not glob over the .so version * Thu Jul 21 2022 Fedora Release Engineering - 4.1.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 4.1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 4.1.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 4.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Aug 01 2020 Fedora Release Engineering - 4.1.1-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 4.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jan 28 2020 Fedora Release Engineering - 4.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Nov 1 2019 Jerry James - 4.1.1-1 - New upstream release - Drop upstreamed -iszero and -vec patches - Add -mem-leak and -26932_recintvsflint_longlong patches * Thu Jul 25 2019 Fedora Release Engineering - 4.0.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jan 31 2019 Fedora Release Engineering - 4.0.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 4.0.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jul 3 2018 Jerry James - 4.0.4-2 - Add -vec patch to fix out-of-bounds vector accesses * Sat Jun 2 2018 Jerry James - 4.0.4-1 - New upstream release - Work around FTBFS (bz 1582892) - Update URL * Wed Feb 07 2018 Fedora Release Engineering - 4.0.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 4.0.2-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 4.0.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon May 15 2017 Fedora Release Engineering - 4.0.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Fri Mar 10 2017 Jerry James - 4.0.2-5 - Add a -static subpackage for use in Macaulay2 * Fri Feb 10 2017 Fedora Release Engineering - 4.0.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Oct 20 2016 Jerry James - 4.0.2-3 - Fix breakage due to new iszero macro in glibc * Tue Aug 23 2016 Dan Horák - 4.0.2-2 - Fix test-ringarith failure on s390x * Fri Aug 12 2016 Jerry James - 4.0.2-1 - New upstream release * Fri Feb 26 2016 Jerry James - 4.0.1-1 - New upstream release * Wed Feb 03 2016 Fedora Release Engineering - 3.8.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 3.8.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 3.8.0-3 - Rebuilt for GCC 5 C++11 ABI change * Mon Feb 16 2015 Jerry James - 3.8.0-2 - Note bundled jquery * Tue Oct 28 2014 Jerry James - 3.8.0-1 - New upstream release - Fix license handling * Sat Aug 16 2014 Fedora Release Engineering - 3.7.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 3.7.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Aug 03 2013 Fedora Release Engineering - 3.7.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Feb 8 2013 Jerry James - 3.7.2-1 - New upstream release - Add BRs for TeXLive 2012 - Make sure the library doesn't have an rpath - Link with --as-needed - Add AUTHORS and COPYING to doc * Wed Sep 26 2012 Jerry James - 3.7.1-1 - New upstream release * Thu Jul 19 2012 Fedora Release Engineering - 3.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Jul 3 2012 pcpa - 3.7.0-1 - Update to latest upstream release. - Remove gcc 4.7 patch already applied to upstream tarball. * Tue Feb 28 2012 Fedora Release Engineering - 3.5.0-3 - Rebuilt for c++ ABI breakage * Mon Jan 9 2012 Jerry James - 3.5.0-2 - Rebuild for GCC 4.7 * Tue Nov 1 2011 Jerry James - 3.5.0-1 - Update to 3.5.0 * Fri Oct 21 2011 Marcela Mašláňová - 3.4.2-1.2 - rebuild with new gmp without compat lib * Tue Oct 11 2011 Peter Schiffer - 3.4.2-1.1 - rebuild with new gmp * Tue Jul 5 2011 Jerry James - 3.4.2-1 - Update to 3.4.2 - Add doxygen documentation and examples to docs * Tue Feb 08 2011 Fedora Release Engineering - 3.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sat Jan 02 2010 D Haley - 3.3.1-1 - Update to 3.3.1 * Fri Oct 09 2009 D Haley - 3.3.0-1 - Update to 3.3.0 - Relicence per CeCILL-B * Sat Sep 12 2009 D Haley - 3.2.15-0.2.rc1 - Change to GPL+ from GPL2 per bugzilla comment * Sun Aug 23 2009 D Haley - 3.2.15-0.1.rc1 - Upgrade to 3.2.15rc1 - Modify givaro-config.in to allow multiple flags simultaneously * Sat Dec 6 2008 Conrad Meyer - 3.2.13-2 - Fix endian header to be non-endian. * Sat Dec 6 2008 Conrad Meyer - 3.2.13-1 - Initial package.