0151c5b4e6
* 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
178 lines
4.3 KiB
RPMSpec
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
|