%define version 5.5.2 %define release %mkrel 7 %define major 5 %define libname %mklibname %name %{major} %define develname %mklibname %name -d %define sdevelname %mklibname %name -d -s %define bootstrap 1 Summary: Library for doing number theory Name: ntl Version: %{version} Release: %{release} URL: http://www.shoup.net/ntl/index.html Source0: http://www.shoup.net/ntl/%{name}-%{version}.tar.gz License: GPLv2+ Group: System/Libraries BuildRequires: gmp-devel Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root %if ! %bootstrap BuildRequires: gf2x-devel %endif BuildRequires: libgmp-devel BuildRequires: libtool Patch0: ntl-5.5.2-sagemath.patch Patch1: %name-fix-libtool.patch %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 %{libname} Summary: Main library for NTL (Number Theory Library) Group: System/Libraries Provides: %{name} = %{version}-%{release} %description -n %{libname} This package contains the libraries needed to run programs dynamically linked with NTL (Number Theory Library). %package -n %{develname} Group: Development/C++ Summary: Shared libraries and header files for NTL (Number Theory Library) Provides: %{name}-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} %if ! %bootstrap Requires: gf2x-devel %endif Obsoletes: %mklibname -d ntl 5 %description -n %{develname} This package contains the shared libraries and header files needed for developing NTL (Number Theory Library) applications. %if ! %bootstrap %package -n %{sdevelname} Group: Development/C++ Summary: Static libraries for NTL (Number Theory Library) Provides: %{name}-static-devel = %{version}-%{release} Requires: %{develname} = %{version}-%{release} Obsoletes: %mklibname -d -s ntl 5 %description -n %{sdevelname} This package contains the static libraries needed for developing NTL (Number Theory Library) applications. %endif %prep %setup -q %patch0 -p1 %patch1 -p0 %build %if %bootstrap pushd src ./configure \ CC="%{__cc}" \ CXX="%{__cxx}" \ CFLAGS="%{optflags} " \ CXXFLAGS="%{optflags} -fPIC" \ PREFIX=%{_prefix} \ DOCDIR=%{_docdir} \ INCLUDEDIR=%{_includedir} \ LIBDIR=%{_libdir} \ NTL_GMP_LIP=on \ SHARED=on popd # not smp-safe make -C src %else cd src CFLAGS="`echo %optflags | sed 's/-O[0-9]/-O1/'`" CXXFLAGS="`echo %optflags "-fno-rtti" | sed 's/-O[0-9]/-O1/'`" ./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" \ NTL_GF2X_LIB=on LD_LIBRARY_PATH=. \ make \ CPPFLAGS="$CPPFLAGS -DPIC" \ CFLAGS="$CFLAGS -fPIC" \ CXXFLAGS="$CXXFLAGS -fPIC" \ AR='bash -e -c '\''out=$$1; lib=$$(basename $$out .a).so.%{major}; \ lib=lib$${lib#lib}; set -x; rm -f $$lib; ${CXX} -shared -Wl,-soname,$$lib \ -o "$$@" -lgmp -lgf2x; ln -s $$out $$lib'\' \ RANLIB=: \ all check %endif %install rm -rf $RPM_BUILD_ROOT cd src make install \ PREFIX=%{buildroot}%{_prefix} \ DOCDIR=%{buildroot}%{_docdir} \ INCLUDEDIR=%{buildroot}%{_includedir} \ LIBDIR=%{buildroot}%{_libdir} %if %bootstrap rm -f libntl.so.%{major} mv -f .libs/libntl.a libntl.so.%{version} ln -sf libntl.so.%{version} libntl.so.%{major} make clean ntl.a check # Unpackaged files rm -rf %{buildroot}%{_docdir}/NTL rm -f %{buildroot}%{_libdir}/libntl.la %if ! 0%{?static} rm -f %{buildroot}%{_libdir}/libntl.a %endif %else install -m 755 libntl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libntl.so.%{version} ln -sf libntl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libntl.so.%{major} ln -sf libntl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libntl.so %endif rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/NTL %clean rm -rf $RPM_BUILD_ROOT %files -n %{libname} %defattr(-,root,root) %doc README %{_libdir}/*.so.* %files -n %{develname} %defattr(-,root,root) %doc doc/* %{_includedir}/* %{_libdir}/*.so %if ! %bootstrap %files -n %{sdevelname} %defattr(-,root,root) %{_libdir}/*.a %endif %changelog * Tue Feb 01 2011 dmorgan <dmorgan> 5.5.2-7.mga1 + Revision: 45745 - do not make devel package require gf2x-devel while in bootstrap mode * Tue Feb 01 2011 dmorgan <dmorgan> 5.5.2-6.mga1 + Revision: 45740 - Fix file list - Fix build - Fix libtool + install - Add libtool as builrequire make bootstrap beautiful - Build without gfx2 ( from fedora) - Fix bootstrap build - Add a bootstrap macros - Remove mdv macros - imported package ntl * Mon Dec 06 2010 Oden Eriksson <oeriksson@mandriva.com> 5.5.2-6mdv2011.0 + Revision: 613110 - the mass rebuild of 2010.1 packages * Tue Feb 09 2010 Funda Wang <fwang@mandriva.org> 5.5.2-5mdv2010.1 + Revision: 503369 - rebuild for new gmp * Tue Nov 17 2009 Paulo Andrade <pcpa@mandriva.com.br> 5.5.2-4mdv2010.1 + Revision: 466710 - Link with libgf2x to avoid possible problems with unresolved symbols * Fri Nov 06 2009 Paulo Andrade <pcpa@mandriva.com.br> 5.5.2-3mdv2010.1 + Revision: 462072 - Enable gf2x interface and add extra build requires * Tue Sep 01 2009 Paulo Andrade <pcpa@mandriva.com.br> 5.5.2-2mdv2010.0 + Revision: 423883 - Add sagemath patch to allow wrapping NTL::Error(), which calls abort(). * Sat Aug 29 2009 Paulo Andrade <pcpa@mandriva.com.br> 5.5.2-1mdv2010.0 + Revision: 422066 - Update to latest upstream release * Sun Jan 04 2009 Jérôme Soyer <saispo@mandriva.org> 5.4.2-1mdv2009.1 + Revision: 324883 - update to new version 5.4.2 * Fri Aug 08 2008 Thierry Vignaud <tv@mandriva.org> 5.4.1-3mdv2009.0 + Revision: 268301 - rebuild early 2009.0 package (before pixel changes) + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers * Mon Apr 21 2008 Funda Wang <fwang@mandriva.org> 5.4.1-2mdv2009.0 + Revision: 196266 - fix requires on devel package * Fri Feb 08 2008 Funda Wang <fwang@mandriva.org> 5.4.1-1mdv2008.1 + Revision: 163906 - add back gmp BR - New version 5.4.1 + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tv@mandriva.org> - kill re-definition of %%buildroot on Pixel's request - use %%mkrel - import ntl * Tue Jun 22 2004 Abel Cheung <deaddog@deaddog.org> 5.3.2-1mdk - new version - rpmbuildupdate aware URL - lower optimization, test suite hangs indefinitely * Sat Jan 31 2004 David Walluck <walluck@linux-mandrake.com> 0:5.3.1-1mdk - release