summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/mpir
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/mpir')
-rw-r--r--sci-libs/mpir/Manifest1
-rw-r--r--sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch145
-rw-r--r--sci-libs/mpir/files/mpir-2.2.0-yasm.patch54
-rw-r--r--sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch95
-rw-r--r--sci-libs/mpir/files/mpir-2.6.0-gcc48.patch13
-rw-r--r--sci-libs/mpir/files/mpir-2.6.0-yasm.patch52
-rw-r--r--sci-libs/mpir/metadata.xml22
-rw-r--r--sci-libs/mpir/mpir-2.6.0-r2.ebuild64
8 files changed, 446 insertions, 0 deletions
diff --git a/sci-libs/mpir/Manifest b/sci-libs/mpir/Manifest
new file mode 100644
index 000000000000..e79d8186d90e
--- /dev/null
+++ b/sci-libs/mpir/Manifest
@@ -0,0 +1 @@
+DIST mpir-2.6.0.tar.lzma 2472231 SHA256 2d2cd75a21a73bcd8898f092e4f123016b578288d7c7eab2df05df5e1921695f SHA512 e2608beeb72651c9b2e47f8fb2bcf672f8c74e2cd622e17cd19b12100b66e929ee31d102d2901816379b23aee1a3ea3a854e3e10ebffe2a6e4772748858f911d WHIRLPOOL 4759be848778fc4f34e87083e83e3697bfb57b9c9360ab69666afadc1b2652285a3c2a4c14321d9091ed90d0df307e89e34875a7592e24c2e405453a0b6f6e06
diff --git a/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch b/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch
new file mode 100644
index 000000000000..fba6fea2e8f6
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch
@@ -0,0 +1,145 @@
+--- configure.in.orig 2009-11-28 10:48:59.196977657 +0000
++++ configure.in 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)
diff --git a/sci-libs/mpir/files/mpir-2.2.0-yasm.patch b/sci-libs/mpir/files/mpir-2.2.0-yasm.patch
new file mode 100644
index 000000000000..e717891a4e64
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.2.0-yasm.patch
@@ -0,0 +1,54 @@
+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.5.1-automake-1.12.patch b/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch
new file mode 100644
index 000000000000..684bcbf7d3c1
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch
@@ -0,0 +1,95 @@
+http://bugs.gentoo.org/423767
+
+--- configure.in
++++ configure.in
+@@ -69,7 +69,7 @@
+ dnl Note that there's a copy of these options in the top-level Makefile.am,
+ dnl so update there too if changing anything.
+ dnl
+-AM_INIT_AUTOMAKE([1.11 gnu no-dependencies parallel-tests dist-bzip2 no-dist-gzip dist-lzma])
++AM_INIT_AUTOMAKE([1.11 gnu no-dependencies parallel-tests dist-bzip2 no-dist-gzip dist-xz])
+ AM_CONFIG_HEADER(config.h:config.in)
+ AM_MAINTAINER_MODE
+
+@@ -208,8 +208,7 @@
+ [enable_fat=no])
+
+ # Work around an autoconf bug
+-MKDIR_P=@mkdir_p@
+-AC_SUBST(MKDIR_P)
++AC_PROG_MKDIR_P
+
+ # Table of compilers, options, and mpn paths. This code has various related
+ # purposes
+--- yasm/po/Makefile.in.in
++++ yasm/po/Makefile.in.in
+@@ -32,17 +32,17 @@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+
+-# We use $(mkdir_p).
+-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
++# We use $(MKDIR_P).
++# In automake <= 1.9.x, $(MKDIR_P) is defined either as "mkdir -p --" or as
+ # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+ # @install_sh@ does not start with $(SHELL), so we add it.
+-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
++# In automake >= 1.10, @MKDIR_P@ is derived from ${MKDIR_P}, which is defined
+ # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+ # versions, $(mkinstalldirs) and $(install_sh) are unused.
+ mkinstalldirs = $(SHELL) @install_sh@ -d
+ install_sh = $(SHELL) @install_sh@
+ MKDIR_P = @MKDIR_P@
+-mkdir_p = @mkdir_p@
++MKDIR_P = @MKDIR_P@
+
+ GMSGFMT_ = @GMSGFMT@
+ GMSGFMT_no = @GMSGFMT@
+@@ -204,7 +204,7 @@
+ install-exec:
+ install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
++ $(MKDIR_P) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+@@ -217,13 +217,13 @@
+ fi
+ install-data-no: all
+ install-data-yes: all
+- $(mkdir_p) $(DESTDIR)$(datadir)
++ $(MKDIR_P) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- $(mkdir_p) $(DESTDIR)$$dir; \
++ $(MKDIR_P) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+@@ -263,19 +263,19 @@
+ installdirs-exec:
+ installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
++ $(MKDIR_P) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+ installdirs-data-no:
+ installdirs-data-yes:
+- $(mkdir_p) $(DESTDIR)$(datadir)
++ $(MKDIR_P) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- $(mkdir_p) $(DESTDIR)$$dir; \
++ $(MKDIR_P) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
diff --git a/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch b/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch
new file mode 100644
index 000000000000..55cd1a087ed6
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/470838
+
+--- a/tests/mpz/t-scan.c
++++ b/tests/mpz/t-scan.c
+@@ -84,7 +84,7 @@ check_ref (void)
+
+ for (isize = 0; isize <= size; isize++)
+ {
+- for (oindex = 0; oindex <= numberof (offset); oindex++)
++ for (oindex = 0; oindex < numberof (offset); oindex++)
+ {
+ o = offset[oindex];
+ if ((int) isize*GMP_NUMB_BITS < -o)
diff --git a/sci-libs/mpir/files/mpir-2.6.0-yasm.patch b/sci-libs/mpir/files/mpir-2.6.0-yasm.patch
new file mode 100644
index 000000000000..3c6b1881f170
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.6.0-yasm.patch
@@ -0,0 +1,52 @@
+diff -U 3 -dHrN mpir-2.6.0.orig/configure.in mpir-2.6.0/configure.in
+--- mpir-2.6.0.orig/configure.in 2013-01-16 10:51:13.141047276 +0100
++++ mpir-2.6.0/configure.in 2013-01-16 10:51:52.437353115 +0100
+@@ -1295,8 +1295,6 @@
+ ;;
+ esac
+
+-AM_CONDITIONAL(BUILD_YASM, test "$want_yasm" = "yes")
+-
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+@@ -1681,7 +1679,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
+@@ -2984,7 +2982,6 @@
+ # 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*)
+diff -U 3 -dHrN mpir-2.6.0.orig/Makefile.am mpir-2.6.0/Makefile.am
+--- mpir-2.6.0.orig/Makefile.am 2013-01-16 10:51:13.121047120 +0100
++++ mpir-2.6.0/Makefile.am 2013-01-16 10:52:25.675611816 +0100
+@@ -98,10 +98,6 @@
+
+ SUBDIRS = tests
+
+-if BUILD_YASM
+-SUBDIRS += yasm
+-endif
+-
+ SUBDIRS += mpn fft mpz mpq mpf printf scanf cxx tune doc
+
+ EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf
+diff -U 3 -dHrN mpir-2.6.0.orig/mpn/Makeasm.am mpir-2.6.0/mpn/Makeasm.am
+--- mpir-2.6.0.orig/mpn/Makeasm.am 2013-01-16 10:51:13.045046528 +0100
++++ mpir-2.6.0/mpn/Makeasm.am 2013-01-16 10:53:25.333076126 +0100
+@@ -119,4 +119,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/metadata.xml b/sci-libs/mpir/metadata.xml
new file mode 100644
index 000000000000..daf70f0500f8
--- /dev/null
+++ b/sci-libs/mpir/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+ </maintainer>
+ <longdescription>
+MPIR is an open source multiprecision integer (bignum) library forked
+from the GMP (GNU Multi Precision) project. It consists of much code
+from past GMP releases, in combination with much original contributed
+code.
+
+MPIR is constructed by a developer and vendor friendly community of
+professional and amateur mathematicians, computer scientists and
+hobbyists.
+</longdescription>
+ <use>
+ <flag name="cpudetection">Enables runtime cpudetection (useful for bindist, compatability on other CPUs)</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/mpir/mpir-2.6.0-r2.ebuild b/sci-libs/mpir/mpir-2.6.0-r2.ebuild
new file mode 100644
index 000000000000..bdb7a1f45a8e
--- /dev/null
+++ b/sci-libs/mpir/mpir-2.6.0-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils 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.lzma"
+
+LICENSE="LGPL-3"
+SLOT="0"
+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=""
+
+src_prepare() {
+ tc-export CC
+ epatch \
+ "${FILESDIR}"/${PN}-2.6.0-yasm.patch \
+ "${FILESDIR}"/${PN}-1.3.0-ABI-multilib.patch \
+ "${FILESDIR}"/${PN}-2.5.1-automake-1.12.patch \
+ "${FILESDIR}"/${PN}-2.6.0-gcc48.patch
+
+ # 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+=(
+ $(use_enable cxx)
+ $(use_enable cpudetection fat)
+ )
+ autotools-utils_src_configure
+}