SHA256
8
0
forked from pool/mpfr
Files
mpfr/mpfr.spec
Richard Biener f8daeafc5e - Update to mpfr 4.2.2
* In order to resolve a portability issue with the _Float128 fallback to
    __float128 for binary128 support (e.g. with Clang and glibc 2.41), the
    prototypes of the corresponding conversion functions had to be changed,
    with _Float128 replaced by mpfr_float128, where mpfr_float128 is a
    macro defined as _Float128 by default. This changes neither the ABI nor
    the API (except that the end user of MPFR would need to define
    mpfr_float128 as the actual type for the binary128 format if this is not
    the standard _Float128 type).
  * Other bug fixes (see the fixed bugs on the MPFR 4.2.1 page and/or the
    ChangeLog file). In particular, the formatted output functions behaved
    incorrectly with %c on the value 0; such a use is uncommon, but this bug
    may have security implications.
  * Improved MPFR manual.
  * Detect the use of GMP's buggy vsnprintf replacement at configure time.
    With it, the tests of "%a" will be disabled to avoid an assertion failure
    in the MPFR testsuite. A warning will be displayed in the configure output
    in such a case.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/mpfr?expand=0&rev=84
2025-03-20 14:20:19 +00:00

116 lines
3.4 KiB
RPMSpec

#
# spec file for package mpfr
#
# Copyright (c) 2025 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
Name: mpfr
Version: 4.2.2
Release: 0
Summary: The GNU multiple-precision floating-point library
License: LGPL-3.0-or-later
Group: Development/Libraries/C and C++
URL: https://www.mpfr.org/
Source0: https://www.mpfr.org/mpfr-%{version}/mpfr-%{version}.tar.xz
Source1: https://www.mpfr.org/mpfr-%{version}/mpfr-%{version}.tar.xz.asc
Source2: %{name}.keyring
Source3: baselibs.conf
BuildRequires: gmp-devel
BuildRequires: pkgconfig
%description
The MPFR library is a C library for multiple-precision floating-point
computations with exact rounding (also called correct rounding). It is
based on the GMP multiple-precision library.
The main goal of MPFR is to provide a library for multiple-precision
floating-point computation which is both efficient and has a
well-defined semantics. It copies the good ideas from the ANSI/IEEE-754
standard for double-precision floating-point arithmetic (53-bit
mantissa).
%package -n libmpfr6
Summary: The GNU multiple-precision floating-point shared library
Group: Development/Libraries/C and C++
%description -n libmpfr6
The MPFR library is a C library for multiple-precision floating-point
computations with exact rounding (also called correct rounding). It is
based on the GMP multiple-precision library.
%package devel
Summary: Development files for the GNU multiple-precision floating-point library
Group: Development/Libraries/C and C++
Requires: gmp-devel
Requires: libmpfr6 = %{version}
Requires(post): %{install_info_prereq}
Requires(preun): %{install_info_prereq}
%description devel
Development files for the GNU multiple-precision floating-point library.
The MPFR library is a C library for multiple-precision floating-point
computations with exact rounding (also called correct rounding). It is
based on the GMP multiple-precision library.
%prep
%setup -q
%build
%configure \
%ifarch %{sparc} hppa
--disable-thread-safe \
%else
--enable-thread-safe \
%endif
--enable-shared \
--disable-static \
--docdir=%{_docdir}/%{name}
make %{?_smp_mflags}
%check
make check %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# installed via macro
rm %{buildroot}%{_docdir}/mpfr/COPYING*
%post -n libmpfr6 -p /sbin/ldconfig
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%preun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%postun -n libmpfr6 -p /sbin/ldconfig
%files -n libmpfr6
%license COPYING*
%{_libdir}/libmpfr.so.6*
%files devel
%license COPYING*
%doc %{_docdir}/mpfr
%{_infodir}/mpfr.info%{?ext_info}
%{_libdir}/libmpfr.so
%{_includedir}/mpf2mpfr.h
%{_includedir}/mpfr.h
%{_libdir}/pkgconfig/mpfr.pc
%changelog