# # spec file for package mpir # # Copyright (c) 2018 SUSE LINUX 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: mpir %define lname libmpir23 %define lnamexx libmpirxx8 Version: 3.0.0 Release: 3.1 Summary: Multiprecision integer library derived from GMP License: LGPL-3.0+ Group: Productivity/Scientific/Math Url: http://mpir.org/ #Git-Clone: git://github.com/wbhart/mpir #Git-Web: https://github.com/wbhart/mpir Source: http://mpir.org/%name-%version.tar.bz2 Patch1: gmp-noexec.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ BuildRequires: m4 BuildRequires: yasm >= 1.3 %description MPIR is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. It has a rich set of functions, and the functions have a regular interface. %package -n %lname Summary: Multiprecision integer library derived from GMP Group: System/Libraries %description -n %lname MPIR is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. It has a rich set of functions, and the functions have a regular interface. %package -n %lnamexx Summary: Multiprecision integer library derived from GMP Group: System/Libraries %description -n %lnamexx MPIR is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. It has a rich set of functions, and the functions have a regular interface. %package -n libmpir-devel Summary: Multiprecision integer library derived from GMP Group: Development/Libraries/C and C++ Requires: %lname = %version Requires: %lnamexx = %version Requires: libstdc++-devel PreReq: %install_info_prereq %description -n libmpir-devel MPIR is an open source multiprecision integer library derived from version 4.2.1 of the GMP. MPIR is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. It has a rich set of functions, and the functions have a regular interface. This subpackage contains libraries and header files for developing applications that want to make use of libmpir. %prep %setup -qn mpir-3.0.0 %patch -P 1 -p1 %build export CFLAGS="%optflags -fexceptions" export CXXFLAGS="%optflags -fexceptions" # SLES11 %%configure contains --target=, but this is wrong to use. # Override with empty value to calm the scripts flagging uses of --target. %ifarch ppc64le export ABI=mode64 export MPN_PATH=generic %endif %ifarch %arm export MPN_PATH=generic %endif %configure --target="" --disable-static --with-yasm=%{_bindir}/yasm \ --disable-mpfr --enable-cxx --enable-fat make %{?_smp_mflags} %install %make_install rm -f "%buildroot/%_libdir"/*.la %check make check %{?_smp_mflags} %post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig %post -n %lnamexx -p /sbin/ldconfig %postun -n %lnamexx -p /sbin/ldconfig %post -n libmpir-devel %install_info --info-dir=%_infodir %_infodir/%name.info.gz %install_info --info-dir=%_infodir %_infodir/%name.info-1.gz %install_info --info-dir=%_infodir %_infodir/%name.info-2.gz %preun -n libmpir-devel %install_info_delete --info-dir=%_infodir %_infodir/%name.info.gz %install_info_delete --info-dir=%_infodir %_infodir/%name.info-1.gz %install_info_delete --info-dir=%_infodir %_infodir/%name.info-2.gz %files -n %lname %defattr(-, root, root) %_libdir/libmpir.so.* %files -n %lnamexx %defattr(-, root, root) %_libdir/libmpirxx.so.* %files -n libmpir-devel %defattr(-, root, root) %doc COPYING README %_includedir/*.h %_libdir/libmpir.so %_libdir/libmpirxx.so %_infodir/mpir.info*.gz %changelog * Thu Feb 8 2018 dmueller@suse.com - build on armv6/7 using the generic code only * Thu Feb 1 2018 ro@suse.de - make it build on ppc64le using generic code found via https://trac.sagemath.org/ticket/19704 * Sat Apr 29 2017 jengelh@inai.de - Update to new upstream release 3.0.0 * IA32 build failure resolved - Removed 0001-Fix-32-bit-fat-build.patch (included) * Mon Mar 13 2017 jengelh@inai.de - Add explicit m4 BuildRequire * Mon Feb 20 2017 jengelh@inai.de - Update to new snapshot 3.0.0~alpha3 * New Intel Skylake and Haswell assembly support * Rudimentary Broadwell support (not optimisation) * Improved AMD Bulldozer support * Faster mpz_powm, mpz_powm_ui from GMP * New mpz_limbs functionality from GMP 6 * New mpn_sizeinbase, mullow_basecase_n, binvert, redc_1, redc_2, redc_n functions from GMP 6. * New mpn_nsumdiff_n function (speeds up FFT on Haswell) - Add 0001-Fix-32-bit-fat-build.patch * Sat Nov 14 2015 jengelh@inai.de - Update to new upstream release 2.7.2 * Remove recently added basecase division which to be proved buggy. - Drop 0001-Fix-bug-in-t-scan-test.patch, t_assign.diff (merged upstream) * Thu Aug 13 2015 normand@linux.vnet.ibm.com - ExcludeArch ppc64le because asm files in mpn/powerpc64/mode64/* are ABI version 1. * Tue Mar 31 2015 jengelh@inai.de - Remove implicit --with-pic (only useful for static libs) - Set license to LGPL-3.0+ * Wed Oct 15 2014 jengelh@inai.de - Add t_assign.diff to fix a testsuite compile failure with gcc 4.3 * Sat Oct 11 2014 jengelh@inai.de - Make package build on SLE11 again * Fri Feb 7 2014 jengelh@inai.de - Add patch 0001-Fix-bug-in-t-scan-test.patch to fix failure in test suite * Thu Dec 6 2012 jengelh@inai.de - Update to new upstream release 2.6.0 * Completely new FFT implementation - Update to new upstream release 2.5.2 * Support more CPUs * Additional macros for mpfr-3.1.0 support * Redc_1 assembly code for sandybridge and bobcat - Update to new upstream release 2.5.1 * Correct very rare errors in multiplication code * Correct very rare errors in GCD,GCDEXT and invert code - Update to new upstream release 2.5.0 * Toom22 speedup via assembler * New x86_64 assembler code * New Toom eval function using the new assembler code * Detect another Sandybridge CPU * New GCD code (by the GMP project) * Thu Sep 15 2011 jengelh@medozas.de - Update to 2.4.0 * Correct incorrect parameter type for mpz_cdiv_q_2exp * Sandybridge and Bobcat have been tuned * Bulldozer cpu detection * Initial support for intmax functions - Minor cleanups: blank lines/indent (rest is autoformatted), use %%{?_smp_mflags} for parallel building, and remove redundant %%clean section - Add baselibs.conf * Wed Sep 16 2009 crrodriguez@suse.de - update to version 1.2.1 * Thu May 28 2009 crrodriguez@suse.de - initial package