Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > f889b73cef68179606c7479b82020ef0 > files > 2

ntl-5.3.1-1mdk.src.rpm

%define name	ntl
%define Name	NTL
%define version	5.3.1
%define release	1mdk

%define lib_major	5
%define lib_name_orig	%mklibname %{name}
%define lib_name	%{lib_name_orig}%{lib_major}

Summary:	Library for doing number theory
Name:		%{name}
Version:	%{version}
Release:	%{release}
Epoch:		0
URL:		http://www.shoup.net/ntl/index.html
Source0:	http://www.shoup.net/ntl/ntl-5.3.1.tar.gz
License:	GPL
Group:		System/Libraries
Requires:	gmp
BuildRequires:	gmp-devel
Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-root

%description
NTL is a high-performance, portable C++ library providing data structures and
algorithms for manipulating signed, arbitrary length integers, and for vectors,
matrices, and polynomials over the integers and over finite fields.

%package -n %{lib_name}
Summary:        Main library for NTL (Number Theory Library)
Group:          System/Libraries

%description -n %{lib_name}
This package contains the libraries needed to run programs dynamically linked
with NTL (Number Theory Library).

%package -n %{lib_name}-devel
Group:		Development/C++
Summary:	Shared libraries and header files for NTL (Number Theory Library)
Provides:	%{name}-devel
Provides:	lib%{name}-devel
Requires:	%{lib_name} = %{epoch}:%{version}
Requires:	gmp-devel

%description -n %{lib_name}-devel
The %{name} package contains the shared libraries and header files needed for
developing NTL (Number Theory Library) applications.

%package -n %{lib_name}-static-devel
Group:		Development/C++
Summary:	Static libraries for NTL (Number Theory Library)
Provides:	%{name}-static-devel
Provides:	lib%{name}-static-devel
Requires:	lib%{name}-devel = %{epoch}:%{version}
Requires:	gmp-devel

%description -n %{lib_name}-static-devel
The %{name} package contains the static libraries needed for developing NTL
(Number Theory Library) applications.

%prep
%setup -q

%build
cd src

# XXX - Settting these seems to cause NTL to miscompile
#CFLAGS=$RPM_OPT_FLAGS
#CXXFLAGS=$RPM_OPT_FLAGS

CFLAGS="-O2"
CXXFLAGS="-O2 -fno-exceptions -fno-rtti"

./configure \
PREFIX=%{_prefix} \
	LIBDIR=$(echo %{_libdir} | sed 's,^%{_prefix},$${PREFIX},') \
	INCLUDEDIR=$(echo %{_includedir} | sed 's,^%{_prefix},$${PREFIX},') \
	DOCDIR=$(echo %{_docdir} | sed 's,^%{_prefix},$${PREFIX},') \
	NTL_GMP_LIP=on \
	NTL_STD_CXX=on \
	CC="${CC-gcc}" CXX="${CXX-g++}" \
	CPPFLAGS="$CPPFLAGS" \
	CFLAGS="$CFLAGS" \
	CXXFLAGS="$CXXFLAGS"

LD_LIBRARY_PATH=. \
make \
	CPPFLAGS="$CPPFLAGS -DPIC" \
	CFLAGS="$CFLAGS -fPIC" \
	CXXFLAGS="$CXXFLAGS -fPIC" \
	AR='bash -e -c '\''out=$$1; lib=$$(basename $$out .a).so.%{lib_major}; \
	lib=lib$${lib#lib}; set -x; rm -f $$lib; ${CXX} -shared -Wl,-soname,$$lib \
	-o "$$@"; ln -s $$out $$lib'\' \
	RANLIB=: \
	all check

rm -f libntl.so.%{lib_major}
mv -f ntl.a libntl.so.%{version}
ln -sf libntl.so.%{version} libntl.so.%{lib_major}

make clean ntl.a check

%install
rm -rf $RPM_BUILD_ROOT

cd src

make PREFIX=$RPM_BUILD_ROOT%{_prefix} install

install -m 755 libntl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libntl.so.%{version}
ln -sf libntl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libntl.so.%{lib_major}
ln -sf libntl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libntl.so

rm -rf $RPM_BUILD_ROOT%{_docdir}/%{Name}

%clean
rm -rf $RPM_BUILD_ROOT

%files -n %{lib_name}
%defattr(-,root,root)
%doc README
%{_libdir}/*.so.*

%files -n %{lib_name}-devel
%defattr(-,root,root)
%doc doc/*
%dir %{_includedir}/%{Name}
%{_includedir}/%{Name}/*.h
%{_libdir}/*.so

%files -n %{lib_name}-static-devel
%defattr(-,root,root)
%{_libdir}/*.a

%post -n %{lib_name} -p /sbin/ldconfig
%postun -n %{lib_name} -p /sbin/ldconfig

%changelog
* Sat Jan 31 2004 David Walluck <walluck@linux-mandrake.com> 0:5.3.1-1mdk
- release