sci-libs/mpir: Version Bump
authorJustin Lecher <jlec@gentoo.org>
Sun, 15 Jan 2017 19:27:57 +0000 (19:27 +0000)
committerJustin Lecher <jlec@gentoo.org>
Sun, 15 Jan 2017 19:28:11 +0000 (19:28 +0000)
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Signed-off-by: Justin Lecher <jlec@gentoo.org>
sci-libs/mpir/Manifest
sci-libs/mpir/files/mpir-2.2.0-yasm.patch [deleted file]
sci-libs/mpir/files/mpir-2.7.2-ABI-multilib.patch [new file with mode: 0644]
sci-libs/mpir/mpir-2.6.0-r2.ebuild
sci-libs/mpir/mpir-2.7.2.ebuild [new file with mode: 0644]

index e79d8186d90e87026e7659978a3a6d663c11f2ba..23509da06a0ed2ad5001a9ddb180bcd07a1d63e4 100644 (file)
@@ -1 +1,2 @@
 DIST mpir-2.6.0.tar.lzma 2472231 SHA256 2d2cd75a21a73bcd8898f092e4f123016b578288d7c7eab2df05df5e1921695f SHA512 e2608beeb72651c9b2e47f8fb2bcf672f8c74e2cd622e17cd19b12100b66e929ee31d102d2901816379b23aee1a3ea3a854e3e10ebffe2a6e4772748858f911d WHIRLPOOL 4759be848778fc4f34e87083e83e3697bfb57b9c9360ab69666afadc1b2652285a3c2a4c14321d9091ed90d0df307e89e34875a7592e24c2e405453a0b6f6e06
+DIST mpir-2.7.2.tar.bz2 3771429 SHA256 a7d4c33595b4f781a51c92d5d139ec2efb3cf1bf101dfc3eef5b40c54e6f45ec SHA512 8436a0123201f9e30130ea340331c5a6445dddb58ce1f6c6a3a8303c310ac5b3c279c83b5c520a757cba82c2b14e92da44583e0eec287090cf69cbb29d516a9c WHIRLPOOL 8c7804b183282b7d804e91233176ce948a2e5e5c83dcefc4eaf31194a59431af55002a8b6a3405ddb45cac89270066c3c0ae2c4adcaa22329f4af06dbdf10ffb
diff --git a/sci-libs/mpir/files/mpir-2.2.0-yasm.patch b/sci-libs/mpir/files/mpir-2.2.0-yasm.patch
deleted file mode 100644 (file)
index e717891..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -U 3 -dHrN mpir-2.2.0.orig/configure.in mpir-2.2.0/configure.in
---- mpir-2.2.0.orig/configure.in       2010-12-16 10:16:19.000000000 +0100
-+++ mpir-2.2.0/configure.in    2010-12-16 10:16:53.000000000 +0100
-@@ -1455,8 +1455,6 @@
-     ;;
- esac
--AM_CONDITIONAL(BUILD_YASM, test "$want_yasm" = "yes")
--
- CFLAGS_or_unset=${CFLAGS-'(unset)'}
- CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
-@@ -1848,7 +1846,7 @@
- GMP_CHECK_LIBM_FOR_BUILD
--MPIR_AS="/yasm/yasm"
-+MPIR_AS="yasm"
- # How to assemble, used with CFLAGS etc, see mpn/Makeasm.am.
- # Using the compiler is a lot easier than figuring out how to invoke the
-@@ -3161,9 +3159,6 @@
- # FIXME: Upcoming version of autoconf/automake don't like broken lines.
- #        Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
--#     allways configure all subdirectorys , even if there are not going to be built , 
--AC_CONFIG_SUBDIRS([yasm])
--
- case $host in
-   *-w64-mingw*)
-       if test $enable_fat = yes; then
-diff -U 3 -dHrN mpir-2.2.0.orig/Makefile.am mpir-2.2.0/Makefile.am
---- mpir-2.2.0.orig/Makefile.am        2010-12-16 10:16:21.000000000 +0100
-+++ mpir-2.2.0/Makefile.am     2010-12-16 10:17:19.000000000 +0100
-@@ -95,10 +95,6 @@
- SUBDIRS = tests
--if BUILD_YASM
--SUBDIRS += yasm
--endif
--
- SUBDIRS += mpn mpz mpq mpf printf scanf cxx tune doc
- EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf
-diff -U 3 -dHrN mpir-2.2.0.orig/mpn/Makeasm.am mpir-2.2.0/mpn/Makeasm.am
---- mpir-2.2.0.orig/mpn/Makeasm.am     2010-12-16 10:16:18.000000000 +0100
-+++ mpir-2.2.0/mpn/Makeasm.am  2010-12-16 10:16:35.000000000 +0100
-@@ -112,4 +112,4 @@
- #  .as assembler, assembled with Yasm
- .as.lo:
--      $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(top_builddir)$(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-+      $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
diff --git a/sci-libs/mpir/files/mpir-2.7.2-ABI-multilib.patch b/sci-libs/mpir/files/mpir-2.7.2-ABI-multilib.patch
new file mode 100644 (file)
index 0000000..f02df55
--- /dev/null
@@ -0,0 +1,145 @@
+--- a/configure.ac     2009-11-28 10:48:59.196977657 +0000
++++ b/configure.ac     2009-11-28 10:54:50.717976971 +0000
+@@ -361,7 +361,7 @@
+ # hugely bloat the output.
+-AC_ARG_VAR(ABI, [desired ABI (for processors supporting more than one ABI)])
++AC_ARG_VAR(MPIRABI, [desired ABI (for processors supporting more than one ABI)])
+ # abilist needs to be non-empty, "standard" is just a generic name here
+ abilist="standard"
+@@ -1590,7 +1590,7 @@
+ cat >&AC_FD_CC <<EOF
+ User:
+-ABI=$ABI
++MPIRABI=$MPIRABI
+ CC=$CC
+ CFLAGS=$CFLAGS_or_unset
+ CPPFLAGS=$CPPFLAGS_or_unset
+@@ -1611,22 +1611,22 @@
+ # If the user specifies an ABI then it must be in $abilist, after that
+ # $abilist is restricted to just that choice.
+ #
+-if test -n "$ABI"; then
++if test -n "$MPIRABI"; then
+   found=no
+   for abi in $abilist; do
+-    if test $abi = "$ABI"; then found=yes; break; fi
++    if test $abi = "$MPIRABI"; then found=yes; break; fi
+   done
+   if test $found = no; then
+-    AC_MSG_ERROR([ABI=$ABI is not among the following valid choices: $abilist])
++    AC_MSG_ERROR([MPIRABI=$MPIRABI is not among the following valid choices: $abilist])
+   fi
+-  abilist="$ABI"
++  abilist="$MPIRABI"
+ fi
+ found_compiler=no
+ for abi in $abilist; do
+-  echo "checking ABI=$abi"
++  echo "checking MPIRABI=$abi"
+   # Suppose abilist="64 32", then for abi=64, will have abi1="_64" and
+   # abi2="_64".  For abi=32, will have abi1="_32" and abi2="".  This is how
+@@ -1879,7 +1879,7 @@
+     done
+   fi
+-  ABI="$abi"
++  MPIRABI="$abi"
+   CC="$cc"
+   CFLAGS="$cflags"
+   CPPFLAGS="$cppflags"
+@@ -1895,8 +1895,8 @@
+    AC_SUBST(GMP_CFLAGS)
+   # Could easily have this in config.h too, if desired.
+-  ABI_nodots=`echo $ABI | sed 's/\./_/'`
+-  GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_ABI_$ABI_nodots')", POST)
++  ABI_nodots=`echo $MPIRABI | sed 's/\./_/'`
++  GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_ABI_$MPIRABI_nodots')", POST)
+   # GMP_LDFLAGS substitution, selected according to ABI.
+@@ -2094,7 +2094,7 @@
+ #
+ case $host in
+   X86_PATTERN | X86_64_PATTERN)
+-    if test "$ABI" = 32; then
++    if test "$MPIRABI" = 32; then
+       case "$path $fat_path" in
+         *mmx*)   GMP_ASM_X86_MMX( , [GMP_STRIP_PATH(*mmx*)]) ;;
+       esac
+@@ -2108,7 +2108,7 @@
+ cat >&AC_FD_CC <<EOF
+ Decided:
+-ABI=$ABI
++MPIRABI=$MPIRABI
+ CC=$CC
+ CFLAGS=$CFLAGS
+ CPPFLAGS=$CPPFLAGS
+@@ -2117,7 +2117,7 @@
+ CXXFLAGS=$CXXFLAGS
+ path=$path
+ EOF
+-echo "using ABI=\"$ABI\""
++echo "using MPIRABI=\"$MPIRABI\""
+ echo "      CC=\"$CC\""
+ echo "      CFLAGS=\"$CFLAGS\""
+ echo "      CPPFLAGS=\"$CPPFLAGS\""
+@@ -2593,7 +2593,7 @@
+ if test -n "$fat_path"; then
+-  if test "$ABI" = 64; then
++  if test "$MPIRABI" = 64; then
+     fat_path="$fat_path_64"
+   fi
+@@ -3099,19 +3099,19 @@
+       GMP_INCLUDE_MPN(powerpc32/powerpc-defs.m4)
+       case $host in
+         *-*-aix*)
+-        case $ABI in
++        case $MPIRABI in
+           64 | aix64)  GMP_INCLUDE_MPN(powerpc64/aix.m4) ;;
+             *)           GMP_INCLUDE_MPN(powerpc32/aix.m4) ;;
+           esac
+           ;;
+         *-*-linux* | *-*-*bsd*)
+-        case $ABI in
++        case $MPIRABI in
+           mode64)      GMP_INCLUDE_MPN(powerpc64/elf.m4) ;;
+           mode32 | 32) GMP_INCLUDE_MPN(powerpc32/elf.m4) ;;
+           esac
+           ;;
+         *-*-darwin*)
+-        case $ABI in
++        case $MPIRABI in
+           mode64)      GMP_INCLUDE_MPN(powerpc64/darwin.m4) ;;
+           mode32 | 32) GMP_INCLUDE_MPN(powerpc32/darwin.m4) ;;
+           esac
+@@ -3126,7 +3126,7 @@
+       GMP_INCLUDE_MPN(powerpc32/aix.m4)
+       ;;
+     sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*)
+-      case $ABI in
++      case $MPIRABI in
+         64)
+           GMP_ASM_SPARC_REGISTER
+           ;;
+@@ -3134,7 +3134,7 @@
+       ;;
+     X86_PATTERN | X86_64_PATTERN)
+       GMP_ASM_ALIGN_FILL_0x90
+-      case $ABI in
++      case $MPIRABI in
+         32)
+           GMP_INCLUDE_MPN(x86/x86-defs.m4)
+           AC_DEFINE(HAVE_HOST_CPU_FAMILY_x86)
index bdb7a1f45a8e141c4f2dca1021d5e5b81b18d322..98a4352bd910d0d7274f160d0d3ea5822dc36d2d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,7 @@ HOMEPAGE="http://www.mpir.org/"
 SRC_URI="http://www.mpir.org/${P}.tar.lzma"
 
 LICENSE="LGPL-3"
-SLOT="0"
+SLOT="0/11"
 KEYWORDS="amd64 ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
 IUSE="+cxx cpudetection static-libs"
 
diff --git a/sci-libs/mpir/mpir-2.7.2.ebuild b/sci-libs/mpir/mpir-2.7.2.ebuild
new file mode 100644 (file)
index 0000000..20408ff
--- /dev/null
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="Library for arbitrary precision integer arithmetic (fork of gmp)"
+HOMEPAGE="http://www.mpir.org/"
+SRC_URI="http://www.mpir.org/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0/16"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx cpudetection static-libs"
+
+DEPEND="
+       x86? ( dev-lang/yasm )
+       amd64? ( dev-lang/yasm )
+"
+RDEPEND=""
+
+PATCHES=(
+       "${FILESDIR}"/${P}-ABI-multilib.patch
+)
+
+src_prepare() {
+       tc-export CC
+
+       default
+
+       # In the same way there was QA regarding executable stacks
+       # with GMP we have some here as well. We cannot apply the
+       # GMP solution as yasm is used, at least on x86/amd64.
+       # Furthermore we are able to patch config.ac.
+       ebegin "Patching assembler files to remove executable sections"
+       local i
+       for i in $(find . -type f -name '*.asm') ; do
+               cat >> $i <<-EOF
+                       #if defined(__linux__) && defined(__ELF__)
+                       .section .note.GNU-stack,"",%progbits
+                       #endif
+               EOF
+       done
+
+       for i in $(find . -type f -name '*.as') ; do
+               cat >> $i <<-EOF
+                       %ifidn __OUTPUT_FORMAT__,elf
+                       section .note.GNU-stack noalloc noexec nowrite progbits
+                       %endif
+               EOF
+       done
+       eend
+       eautoreconf
+}
+
+src_configure() {
+       # beware that cpudetection aka fat binaries is x86/amd64 only.
+       # Place mpir in profiles/arch/$arch/package.use.mask
+       # when making it available on $arch.
+       myeconfargs+=(
+               --with-system-yasm
+               $(use_enable cxx)
+               $(use_enable cpudetection fat)
+       )
+       econf ${myeconfargs[@]}
+}