ntl/ntl.spec
2008-12-11 16:26:27 +00:00

169 lines
4.9 KiB
RPMSpec

%define multilib_arches i386 x86_64 ppc ppc64 s390 s390x sparcv9 sparc64
Summary: High-performance algorithms for vectors, matrices, and polynomials
Name: ntl
Version: 5.4.2
Release: 4%{?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} -fPIC" \
CXXFLAGS="%{optflags} -fPIC" \
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 Dec 11 2008 Rex Dieter <rdieter@fedoraproject.org> 5.4.2-4
- build -fPIC (#475254)
* Mon Sep 29 2008 Rex Dieter <rdieter@fedoraproject.org> 5.4.2-3
- multilib fixes
* Thu Apr 03 2008 Rex Dieter <rdieter@fedoraproject.org> 5.4.2-2
- multiarch conflicts (#342711)
* Tue Mar 11 2008 Rex Dieter <rdieter@fedoraproject.org> 5.4.2-1
- ntl-5.4.2
* Fri Feb 08 2008 Rex Dieter <rdieter@fedoraproject.org> 5.4.1-2
- respin (gcc43)
* Tue Dec 08 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 5.4.1-1
- ntl-5.4.1
* Sat Aug 11 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 5.4-6
- License: GPLv2+
- -static -> -devel (revert previous change)
* Mon Dec 18 2006 Rex Dieter <rdieter[AT]fedoraproject.org> 5.4-5
- -devel -> -static
* Mon Aug 28 2006 Rex Dieter <rexdieter[AT]users.sf.net> 5.4-4
- fc6 respin
* Tue Jul 25 2006 Rex Dieter <rexdieter[AT]users.sf.net> 5.4-3
- fc6 respin
* Tue Apr 11 2006 Rex Dieter <rexdieter[AT]users.sf.net> 5.4-2
- Capitalize %%summary
- disable -debuginfo, includes no debuginfo'able bits
* Fri Jan 20 2006 Rex Dieter <rexdieter[AT]users.sf.net> 5.4-1
- 5.4 (first try)