Summary: A C library for multiple-precision floating-point computations Name: mpfr Version: 3.0.0 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 Patch1: %{name}-%{version}-patch01.patch Patch2: %{name}-%{version}-patch02.patch Patch3: %{name}-%{version}-patch03.patch Patch4: %{name}-%{version}-patch04.patch Patch5: %{name}-%{version}-patch05.patch Patch6: %{name}-%{version}-patch06.patch Patch7: %{name}-%{version}-patch07.patch License: LGPLv2+ and GPLv2+ and GFDL Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gmp-devel >= 4.2.1, patch Requires: gmp >= 4.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 -q64" or "gcc -maix64". %prep export PATH=/opt/freeware/bin:$PATH %setup -q %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %build # 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 -q64" ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --enable-shared --disable-static \ --disable-assert make %{?_smp_mflags} cp .libs/libmpfr.so.4 . make distclean # now build the 32-bit version export CC="xlc" ./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 .libs/libmpfr.a ./libmpfr.so.4 # 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 .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 .libs/lib%{name}.a lib%{name}.so.1 %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.LIB 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 * 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