Sophie

Sophie

distrib > Mageia > 2 > i586 > media > core-release-src > by-pkgid > 4b4009527adf1ac0fbe73ee9b8c7eebf > files > 4

ntl-5.5.2-7.mga1.src.rpm

%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