%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