Summary: A C library for multiple-precision floating-point computations Name: mpfr Version: 4.0.1 Release: 1 URL: http://www.mpfr.org/ Source0: http://www.mpfr.org/mpfr-current/%{name}-%{version}.tar.bz2 Source1: http://www.mpfr.org/mpfr-current/%{name}-%{version}.tar.bz2.asc Source2: http://www.mpfr.org/mpfr-current/%{name}-%{version}.tar.bz2.sig Source3: lib%{name}.so.1-aix32 Source4: lib%{name}.so.1-aix64 Source5: lib%{name}.so.4-aix32 Source6: lib%{name}.so.4-aix64 License: LGPLv2+ and GPLv2+ and GFDL Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gmp-devel >= 6.1.2-1 Requires: gmp >= 6.1.2-1 %description The MPFR library is a C library for multiple-precision floating-point computations with "correct rounding". The MPFR is efficient and also 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). MPFR is based on the GMP multiple-precision library. The library is available as 32-bit and 64-bit. %package devel Summary: Development tools A C library for mpfr library Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: info Requires: /sbin/install-info %description devel The static libraries, header files and documentation for using the MPFR multiple-precision floating-point library in applications. If you want to develop applications which will use the MPFR library, you'll need to install the mpfr-devel package. You'll also need to install the mpfr package. If you are compiling a 32-bit program, no special compiler options are needed. If you are compiling a 64-bit program, you have to compile and link your application with "xlc_r -q64" or "gcc -maix64". %prep %setup -q %build export CONFIG_SHELL=/usr/bin/ksh export CONFIG_ENV_ARGS=/usr/bin/ksh # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" export NM="nm -X32_64" # first build the 64-bit version export CC="xlc_r -q64" ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --enable-shared --disable-static \ --disable-assert make %{?_smp_mflags} cp src/.libs/libmpfr.so.6 . make distclean # now build the 32-bit version export CC="xlc_r" ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --enable-shared --disable-static \ --disable-assert make %{?_smp_mflags} # add the 64-bit shared objects to the shared library containing already the # 32-bit shared objects ${AR} -q src/.libs/libmpfr.a ./libmpfr.so.6 # Add the older v2.4.2 shared members for compatibility with older apps # (make sure they're set for LOADONLY with 'strip -e') cp %{SOURCE3} lib%{name}.so.1 /usr/bin/strip -X32 -e lib%{name}.so.1 /usr/bin/ar -X32 -q src/.libs/lib%{name}.a lib%{name}.so.1 cp %{SOURCE4} lib%{name}.so.1 /usr/bin/strip -X64 -e lib%{name}.so.1 /usr/bin/ar -X64 -q src/.libs/lib%{name}.a lib%{name}.so.1 # Add the older v3.1.6 shared members for compatibility with older apps # (make sure they're set for LOADONLY with 'strip -e') cp %{SOURCE5} lib%{name}.so.4 /usr/bin/strip -X32 -e lib%{name}.so.4 /usr/bin/ar -X32 -q src/.libs/lib%{name}.a lib%{name}.so.4 cp %{SOURCE6} lib%{name}.so.4 /usr/bin/strip -X64 -e lib%{name}.so.4 /usr/bin/ar -X64 -q src/.libs/lib%{name}.a lib%{name}.so.4 %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} make DESTDIR=${RPM_BUILD_ROOT} install gzip --best ${RPM_BUILD_ROOT}%{_infodir}/mpfr.info ( cd ${RPM_BUILD_ROOT} for dir in include lib do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %post devel /sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || : %preun devel if [ $1 -eq 0 ]; then /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir || : fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc COPYING COPYING.LESSER NEWS README %{_libdir}/*.a /usr/lib/*.a %files devel %defattr(-,root,system,-) %{_libdir}/*.la %{_includedir}/*.h %{_infodir}/mpfr.info* /usr/lib/*.la /usr/include/* %changelog * Mon Feb 04 2019 Michael Perzl - 4.0.1-1 - updated to version 4.0.1 patchlevel 0 * Mon Dec 25 2017 Michael Perzl - 4.0.0-1 - updated to version 4.0.0 patchlevel 0 * Thu Sep 07 2017 Michael Perzl - 3.1.6-1 - updated to version 3.1.6 patchlevel 0 * Wed Sep 28 2016 Michael Perzl - 3.1.5-1 - updated to version 3.1.5 patchlevel 0 * Mon Mar 07 2016 Michael Perzl - 3.1.4-1 - updated to version 3.1.4 patchlevel 0 * Sun Jun 21 2015 Michael Perzl - 3.1.3-1 - updated to version 3.1.3 patchlevel 0 * Thu Mar 14 2013 Michael Perzl - 3.1.2-1 - updated to version 3.1.2 patchlevel 0 * Wed Jul 04 2012 Michael Perzl - 3.1.1-1 - updated to version 3.1.1 patchlevel 0 * Tue Oct 04 2011 Michael Perzl - 3.1.0-1 - updated to version 3.1.0 patchlevel 0 * Mon Apr 04 2011 Michael Perzl - 3.0.1-1 - updated to version 3.0.1 patchlevel 0 * Wed Nov 03 2010 Michael Perzl - 3.0.0-1 - updated to version 3.0.0 patchlevel 7 * Wed Nov 03 2010 Michael Perzl - 2.4.2-2 - updated to version 2.4.2 patchlevel 3 * Fri Dec 11 2009 Michael Perzl - 2.4.2-1 - updated to version 2.4.2 patchlevel 1 * Mon Jul 13 2009 Michael Perzl - 2.4.1-1 - updated to version 2.4.1 patchlevel 5 * Fri Sep 26 2008 Michael Perzl - 2.3.2-1 - updated to version 2.3.2 * Thu Feb 21 2008 Michael Perzl - 2.3.1-1 - updated to version 2.3.1 * Mon Jan 07 2008 Michael Perzl - 2.3.0-2 - included both 32-bit and 64-bit shared objects * Wed Nov 28 2007 Michael Perzl 2.3.0-1 - first version for AIX V5.1 and higher