35d4282
Name:		givaro
6ea4521
Version:	4.0.2
1726a12
Release:	4%{?dist}
35d4282
Summary:	C++ library for arithmetic and algebraic computations
35d4282
268a12c
License:	CeCILL-B
3c82c21
URL:		http://givaro.forge.imag.fr/
3c82c21
Source0:	https://github.com/linbox-team/%{name}/archive/v%{version}.tar.gz
35d4282
91940fc
# Fix breakage caused by new ANSI C iszero macro
91940fc
Patch0:         %{name}-iszero.patch
91940fc
3c82c21
BuildRequires:	doxygen-latex
3c82c21
BuildRequires:	gcc-c++
3c82c21
BuildRequires:	ghostscript-core
35d4282
BuildRequires:	gmp-devel
3c82c21
BuildRequires:	libtool
3c82c21
BuildRequires:	tex(stmaryrd.sty)
35d4282
35d4282
35d4282
%description
35d4282
Givaro is a C++ library for arithmetic and algebraic computations.
35d4282
Its main features are implementations of the basic arithmetic of many
35d4282
mathematical entities: Primes fields, Extensions Fields, Finite Fields,
35d4282
Finite Rings, Polynomials, Algebraic numbers, Arbitrary precision
35d4282
integers and rationals (C++ wrappers over gmp) It also provides
35d4282
data-structures and templated classes for the manipulation of basic
35d4282
algebraic objects, such as vectors, matrices (dense, sparse, structured),
35d4282
univariate polynomials (and therefore recursive multivariate).
35d4282
35d4282
35d4282
%package        devel
35d4282
Summary:	Files useful for %{name} development
ddb5a7d
Requires:	%{name}%{?_isa} = %{version}-%{release}
768e345
Provides:	bundled(jquery)
35d4282
35d4282
35d4282
%description    devel
35d4282
The libraries and header files for using %{name} for development.
35d4282
35d4282
35d4282
%prep
35d4282
%setup -q
91940fc
%patch0
ddb5a7d
6ea4521
# Remove parts of the configure script that select non-default architectures
6ea4521
# and ABIs.
6ea4521
sed -i '/SIMD instructions/,/fabi-version/d' configure.ac
6ea4521
3c82c21
# Upstream no longer ships the configure script
3c82c21
autoreconf -fi
35d4282
35d4282
%build
e33a38c
%ifarch %{ix86}
e33a38c
# Excess precision leads to test failures
e33a38c
export CFLAGS="%{optflags} -ffloat-store"
e33a38c
export CXXFLAGS="%{optflags} -ffloat-store"
e33a38c
%endif
2755bb0
%ifarch s390x
2755bb0
%global optflags %optflags -ffp-contract=off
2755bb0
%endif
e33a38c
3c82c21
%configure --disable-static --enable-doc --docdir=%{_docdir}/%{name}-devel
3c82c21
chmod a+x givaro-config
ddb5a7d
Jerry James f2c90fc
# Get rid of undesirable hardcoded rpaths, and workaround libtool reordering
Jerry James f2c90fc
# -Wl,--as-needed after all the libraries.
Jerry James f2c90fc
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
Jerry James f2c90fc
    -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
Jerry James 20e82a0
    -e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \
Jerry James f2c90fc
    -i libtool
ddb5a7d
35d4282
make %{?_smp_mflags}
35d4282
ddb5a7d
# We don't want these files with the doxygen-generated files
ddb5a7d
rm -f docs/givaro-html/{AUTHORS,COPYING,INSTALL}
ddb5a7d
35d4282
35d4282
%install
3c82c21
make install DESTDIR=%{buildroot}
ddb5a7d
3c82c21
# We don't want libtool archives
3c82c21
rm -f %{buildroot}%{_libdir}/lib%{name}.la
35d4282
3c82c21
# Documentation is installed in the wrong place
3c82c21
mkdir -p %{buildroot}%{_docdir}
3c82c21
mv %{buildroot}%{_prefix}/docs %{buildroot}%{_docdir}/%{name}-devel
35d4282
35d4282
ddb5a7d
%check
3c82c21
export LD_LIBRARY_PATH=$PWD/src/.libs
ddb5a7d
make check
35d4282
35d4282
ddb5a7d
%post -p /sbin/ldconfig
35d4282
35d4282
ddb5a7d
%postun -p /sbin/ldconfig
35d4282
35d4282
35d4282
%files
Jerry James 20e82a0
%doc AUTHORS
3c82c21
%license COPYRIGHT Licence_CeCILL-B_V1-en.txt Licence_CeCILL-B_V1-fr.txt
35d4282
%{_libdir}/lib%{name}.so.*
35d4282
35d4282
35d4282
%files devel
3c82c21
%{_docdir}/%{name}-devel/
35d4282
%{_bindir}/%{name}-config
3c82c21
%{_bindir}/%{name}-makefile
35d4282
%{_includedir}/%{name}/
35d4282
%{_includedir}/gmp++/
3c82c21
%{_includedir}/recint/
35d4282
%{_includedir}/%{name}-config.h
35d4282
%{_libdir}/lib%{name}.so
3c82c21
%{_libdir}/pkgconfig/%{name}.pc
35d4282
35d4282
35d4282
%changelog
1726a12
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-4
1726a12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
1726a12
91940fc
* Thu Oct 20 2016 Jerry James <loganjerry@gmail.com> - 4.0.2-3
91940fc
- Fix breakage due to new iszero macro in glibc
91940fc
2755bb0
* Tue Aug 23 2016 Dan Horák <dan[at]danny.cz> - 4.0.2-2
2755bb0
- Fix test-ringarith failure on s390x
2755bb0
6ea4521
* Fri Aug 12 2016 Jerry James <loganjerry@gmail.com> - 4.0.2-1
6ea4521
- New upstream release
6ea4521
3c82c21
* Fri Feb 26 2016 Jerry James <loganjerry@gmail.com> - 4.0.1-1
3c82c21
- New upstream release
3c82c21
a37ba0a
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-5
a37ba0a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
a37ba0a
80554be
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.0-4
80554be
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
80554be
9e9d4ca
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.8.0-3
9e9d4ca
- Rebuilt for GCC 5 C++11 ABI change
9e9d4ca
768e345
* Mon Feb 16 2015 Jerry James <loganjerry@gmail.com> - 3.8.0-2
768e345
- Note bundled jquery
768e345
Jerry James 20e82a0
* Tue Oct 28 2014 Jerry James <loganjerry@gmail.com> - 3.8.0-1
Jerry James 20e82a0
- New upstream release
Jerry James 20e82a0
- Fix license handling
Jerry James 20e82a0
1856169
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.2-4
1856169
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
1856169
8e1e0f3
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.2-3
8e1e0f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
8e1e0f3
38f38f7
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.2-2
38f38f7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
38f38f7
Jerry James f2c90fc
* Fri Feb  8 2013 Jerry James <loganjerry@gmail.com> - 3.7.2-1
Jerry James f2c90fc
- New upstream release
Jerry James f2c90fc
- Add BRs for TeXLive 2012
Jerry James f2c90fc
- Make sure the library doesn't have an rpath
Jerry James f2c90fc
- Link with --as-needed
Jerry James f2c90fc
- Add AUTHORS and COPYING to doc
Jerry James f2c90fc
Jerry James c2f60bd
* Wed Sep 26 2012 Jerry James <loganjerry@gmail.com> - 3.7.1-1
Jerry James c2f60bd
- New upstream release
Jerry James c2f60bd
685f669
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.0-2
685f669
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
685f669
816d0bf
* Tue Jul 3 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 3.7.0-1
816d0bf
- Update to latest upstream release.
816d0bf
- Remove gcc 4.7 patch already applied to upstream tarball.
816d0bf
7e13dff
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-3
7e13dff
- Rebuilt for c++ ABI breakage
7e13dff
b944e78
* Mon Jan  9 2012 Jerry James <loganjerry@gmail.com> - 3.5.0-2
b944e78
- Rebuild for GCC 4.7
b944e78
164a4ae
* Tue Nov  1 2011 Jerry James <loganjerry@gmail.com> - 3.5.0-1
164a4ae
- Update to 3.5.0
164a4ae
1767544
* Fri Oct 21 2011 Marcela Mašláňová <mmaslano@redhat.com> - 3.4.2-1.2
1767544
- rebuild with new gmp without compat lib
1767544
b816923
* Tue Oct 11 2011 Peter Schiffer <pschiffe@redhat.com> - 3.4.2-1.1
b816923
- rebuild with new gmp
b816923
ddb5a7d
* Tue Jul  5 2011 Jerry James <loganjerry@gmail.com> - 3.4.2-1
ddb5a7d
- Update to 3.4.2
ddb5a7d
- Add doxygen documentation and examples to docs
ddb5a7d
cf2280c
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.1-2
cf2280c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
cf2280c
01497ff
* Sat Jan 02 2010 D Haley <mycae(a!t)yahoo.com> - 3.3.1-1
01497ff
- Update to 3.3.1
01497ff
268a12c
* Fri Oct 09 2009 D Haley <mycae(a!t)yahoo.com> - 3.3.0-1
268a12c
- Update to 3.3.0
268a12c
- Relicence per CeCILL-B
268a12c
Jerry James f2c90fc
* Sat Sep 12 2009 D Haley <mycae(a!t)yahoo.com> - 3.2.15-0.2.rc1
35d4282
- Change to GPL+ from GPL2 per bugzilla comment
35d4282
35d4282
* Sun Aug 23 2009 D Haley <mycae(a!t)yahoo.com> - 3.2.15-0.1.rc1
35d4282
- Upgrade to 3.2.15rc1
35d4282
- Modify givaro-config.in to allow multiple flags simultaneously
35d4282
35d4282
* Sat Dec 6 2008 Conrad Meyer <konrad@tylerc.org> - 3.2.13-2
35d4282
- Fix endian header to be non-endian.
35d4282
35d4282
* Sat Dec 6 2008 Conrad Meyer <konrad@tylerc.org> - 3.2.13-1
35d4282
- Initial package.