%define multilib_arches i386 x86_64 ppc ppc64 s390 s390x sparc sparc64 Summary: High-performance algorithms for vectors, matrices, and polynomials Name: ntl Version: 5.4.2 Release: 2%{?dist} License: GPLv2+ URL: http://shoup.net/ntl/ Source0: http://shoup.net/ntl/ntl-%{version}.tar.gz Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source1: multilib_template.h BuildRequires: gmp-devel # includes no debuginfo'able bits, disable %define debug_package %{nil} %description NTL is a high-performance, portable C++ library providing data structures and algorithms for arbitrary length integers; for vectors, matrices, and polynomials over the integers and over finite fields; and for arbitrary precision floating point arithmetic. NTL provides high quality implementations of state-of-the-art algorithms for: * arbitrary length integer arithmetic and arbitrary precision floating point arithmetic; * polynomial arithmetic over the integers and finite fields including basic arithmetic, polynomial factorization, irreducibility testing, computation of minimal polynomials, traces, norms, and more; * lattice basis reduction, including very robust and fast implementations of Schnorr-Euchner, block Korkin-Zolotarev reduction, and the new Schnorr-Horner pruning heuristic for block Korkin-Zolotarev; * basic linear algebra over the integers, finite fields, and arbitrary precision floating point numbers. %package devel Summary: High-performance algorithms for vectors, matrices, and polynomials Group: Development/Libraries Obsoletes: %{name}-static < %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description devel NTL is a high-performance, portable C++ library providing data structures and algorithms for arbitrary length integers; for vectors, matrices, and polynomials over the integers and over finite fields; and for arbitrary precision floating point arithmetic. NTL provides high quality implementations of state-of-the-art algorithms for: * arbitrary length integer arithmetic and arbitrary precision floating point arithmetic; * polynomial arithmetic over the integers and finite fields including basic arithmetic, polynomial factorization, irreducibility testing, computation of minimal polynomials, traces, norms, and more; * lattice basis reduction, including very robust and fast implementations of Schnorr-Euchner, block Korkin-Zolotarev reduction, and the new Schnorr-Horner pruning heuristic for block Korkin-Zolotarev; * basic linear algebra over the integers, finite fields, and arbitrary precision floating point numbers. %prep %setup -q %build cd src ./configure \ CC="%{__cc}" \ CXX="%{__cxx}" \ CFLAGS="%{optflags}" \ CXXFLAGS="%{optflags}" \ PREFIX=%{_prefix} \ DOCDIR=%{_docdir} \ INCLUDEDIR=%{_includedir} \ LIBDIR=%{_libdir} \ NTL_GMP_LIP=on cd - # not smp-safe make -C src %check ||: # skip by default, takes a *long, long, long* (days?) time -- Rex %{?_with_check:make -C src check} %install rm -rf %{buildroot} make -C src install \ PREFIX=%{buildroot}%{_prefix} \ DOCDIR=%{buildroot}%{_docdir} \ INCLUDEDIR=%{buildroot}%{_includedir} \ LIBDIR=%{buildroot}%{_libdir} # Unpackaged files rm -rf %{buildroot}%{_docdir}/NTL %ifarch %{multilib_arches} # hack to allow parallel installation of multilib factory-devel for header in NTL/config NTL/gmp_aux NTL/mach_desc ; do mv %{buildroot}%{_includedir}/${header}.h \ %{buildroot}%{_includedir}/${header}-%{_arch}.h install -p -m644 %{SOURCE1} %{buildroot}%{_includedir}/${header}.h sed -i \ -e "s|@@INCLUDE@@|${header}|" \ -e "s|@@PACKAGENAME@@|%{name}-devel|" \ %{buildroot}%{_includedir}/${header}.h done %endif %clean rm -rf %{buildroot} %files devel %defattr(-,root,root,-) %doc README %doc doc/* %{_includedir}/* %{_libdir}/lib*.a %changelog * Thu Apr 03 2008 Rex Dieter 5.4.2-2 - multiarch conflicts (#342711) * Tue Mar 11 2008 Rex Dieter 5.4.2-1 - ntl-5.4.2 * Fri Feb 08 2008 Rex Dieter 5.4.1-2 - respin (gcc43) * Tue Dec 08 2007 Rex Dieter 5.4.1-1 - ntl-5.4.1 * Sat Aug 11 2007 Rex Dieter 5.4-6 - License: GPLv2+ - -static -> -devel (revert previous change) * Mon Dec 18 2006 Rex Dieter 5.4-5 - -devel -> -static * Mon Aug 28 2006 Rex Dieter 5.4-4 - fc6 respin * Tue Jul 25 2006 Rex Dieter 5.4-3 - fc6 respin * Tue Apr 11 2006 Rex Dieter 5.4-2 - Capitalize %%summary - disable -debuginfo, includes no debuginfo'able bits * Fri Jan 20 2006 Rex Dieter 5.4-1 - 5.4 (first try)