gmp/gmp.spec
Richard Biener 0151c5b4e6 - Update to release GMP 5.0.4
* Thresholds in mpn_powm_sec for both fat and non-fat builds are now used
    safely, plugging a one-word buffer overrun introduced in the 5.0.3 release
    (for non-fat) and a multi-word buffer overrun that existed since 5.0 (for
    fat).  (We have not been able to provoke malign stack smashing in any of
    the ~100 configurations explored by the GMP nightly builds, but the bug
    should be assumed to be exploitable.)
  * Two bugs in multiplication code causing incorrect computation with
    extremely low probability have been fixed.
  * A bug in the test suite causing buffer overruns during "make check",
    sometimes leading to subsequent malloc crashes, has been fixed.
  * Two bugs in the gcd code have been fixed.  They could lead to incorrect
    results, but for uniformly distributed random operands, the likelihood for
    that is infinitesimally small.  (There was also a third bug, but that was
    an incorrect ASSERT, which furthermore was not enabled by default.)
  * A bug affecting 32-bit PowerPC division has been fixed.  The bug caused
    miscomputation for certain divisors in the range 2^32 ... 2^64-1 (about 1
    in 2^30 of these).

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gmp?expand=0&rev=26
2012-02-10 13:49:44 +00:00

178 lines
4.3 KiB
RPMSpec

#
# spec file for package gmp
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: gmp
BuildRequires: gcc-c++
# bug437293
%ifarch ppc64
Obsoletes: gmp-64bit
%endif
#
Version: 5.0.4
Release: 0
Summary: The GNU MP Library
License: GPL-3.0+ ; LGPL-3.0+
Group: System/Libraries
Url: http://gmplib.org/
Source: gmp-%{version}.tar.bz2
Source2: baselibs.conf
Patch0: gmp-noexec.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
A library for calculating huge numbers (integer and floating point).
%package -n libgmp10
Summary: Shared library for the GNU MP Library
Group: System/Libraries
%description -n libgmp10
Shared library for the GNU MP Library.
%package -n libgmpxx4
Summary: C++ bindings for the GNU MP Library
Group: System/Libraries
Requires: libgmp10 = %{version}
%description -n libgmpxx4
C++ bindings for the GNU MP Library.
%package -n libmp3
Summary: BSD libmp bindings for the GNU MP Library
Group: System/Libraries
Requires: libgmp10 = %{version}
%description -n libmp3
BSD libmp bindings for the GNU MP Library.
%package devel
Summary: Include Files and Libraries for Development with the GNU MP Library
Group: Development/Languages/C and C++
Requires: libgmp10 = %{version}
Requires: libgmpxx4 = %{version}
Requires: libmp3 = %{version}
# bug437293
%ifarch ppc64
Obsoletes: gmp-devel-64bit
%endif
#
PreReq: %install_info_prereq
%description devel
These libraries are needed to develop programs which calculate with
huge numbers (integer and floating point).
Authors:
--------
Torbjorn Granlund <tege@zevs.sics.se>
%prep
%setup -q
%ifnarch %arm
%patch0
%endif
%build
# export HOME=/tmp/
# %%{?suse_update_config:%%{suse_update_config -f}}
# mv config.guess config.guess.gmp
# mv config.sub config.sub.gmp
# autoreconf -fi
# mv config.guess configfsf.guess
# mv config.sub configfsf.sub
# mv config.guess.gmp config.guess
# mv config.sub.gmp config.sub
# %ifarch ppc64
# # The PowerPC64 assembler funcs are for AIX and somehow don't work on Linux.
# rm -fv mpn/powerpc64/*.asm
# %endif
#%ifarch x86_64 x86
# --enable-fat \
#%endif
%define sanitized_platform %(echo %{_target_cpu} | sed -e "s/sparc64.*/sparc64/" -e "s/sparcv.*/sparc/")-%{_vendor}-%{_target_os}
export CFLAGS="$RPM_OPT_FLAGS -fexceptions";
%configure \
--build=%{sanitized_platform} \
--enable-cxx \
--enable-fat \
--enable-mpbsd
make %{?_smp_mflags}
%check
# do not disable "make check", FIX THE BUGS!
make check
%install
make install DESTDIR=${RPM_BUILD_ROOT}
rm $RPM_BUILD_ROOT%{_libdir}/libgmp.la
rm $RPM_BUILD_ROOT%{_libdir}/libgmpxx.la
rm $RPM_BUILD_ROOT%{_libdir}/libgmpxx.a
rm $RPM_BUILD_ROOT%{_libdir}/libmp.a
rm $RPM_BUILD_ROOT%{_libdir}/libmp.la
%post -n libgmp10 -p /sbin/ldconfig
%post -n libgmpxx4 -p /sbin/ldconfig
%post -n libmp3 -p /sbin/ldconfig
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%postun -n libgmp10 -p /sbin/ldconfig
%postun -n libgmpxx4 -p /sbin/ldconfig
%postun -n libmp3 -p /sbin/ldconfig
%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%files -n libgmp10
%defattr(-,root,root)
%{_libdir}/libgmp.so.10*
%files -n libgmpxx4
%defattr(-,root,root)
%{_libdir}/libgmpxx.so.4*
%files -n libmp3
%defattr(-,root,root)
%{_libdir}/libmp.so.3*
%files devel
%defattr(-,root,root)
%doc AUTHORS README NEWS
%doc demos
%doc %{_infodir}/gmp.info*.gz
%{_libdir}/libgmp.a
%{_libdir}/libgmp.so
%{_libdir}/libgmpxx.so
%{_libdir}/libmp.so
/usr/include/gmp.h
/usr/include/gmpxx.h
/usr/include/mp.h
%changelog