From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-libs/gmp/Manifest | 11 ++ dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch | 20 ++++ dev-libs/gmp/files/gmp-4.2.1-s390.diff | 68 ++++++++++++ .../gmp/files/gmp-6.1.0-noexecstack-detect.patch | 23 ++++ dev-libs/gmp/files/gmp-6.1.2-gcc-apple-4.0.1.patch | 21 ++++ dev-libs/gmp/gmp-4.3.2-r1.ebuild | 66 +++++++++++ dev-libs/gmp/gmp-6.1.2-r1.ebuild | 112 +++++++++++++++++++ dev-libs/gmp/gmp-6.1.2.ebuild | 121 +++++++++++++++++++++ dev-libs/gmp/metadata.xml | 12 ++ 9 files changed, 454 insertions(+) create mode 100644 dev-libs/gmp/Manifest create mode 100644 dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch create mode 100644 dev-libs/gmp/files/gmp-4.2.1-s390.diff create mode 100644 dev-libs/gmp/files/gmp-6.1.0-noexecstack-detect.patch create mode 100644 dev-libs/gmp/files/gmp-6.1.2-gcc-apple-4.0.1.patch create mode 100644 dev-libs/gmp/gmp-4.3.2-r1.ebuild create mode 100644 dev-libs/gmp/gmp-6.1.2-r1.ebuild create mode 100644 dev-libs/gmp/gmp-6.1.2.ebuild create mode 100644 dev-libs/gmp/metadata.xml (limited to 'dev-libs/gmp') diff --git a/dev-libs/gmp/Manifest b/dev-libs/gmp/Manifest new file mode 100644 index 000000000000..91ba27807cde --- /dev/null +++ b/dev-libs/gmp/Manifest @@ -0,0 +1,11 @@ +AUX gmp-4.1.4-noexecstack.patch 474 BLAKE2B 9b2e6835a9a3b4c23adc3b9569a507d43429b5a8c1e4798717438c84675571bac90ec8202b90b526e46a50a69db1f0b9afb83333d9a69de4397c6c97e70485f3 SHA512 74b8b68061a1a5ac0f8b163974834465e86e930884e1a9cd15c4c948fdae95ffdcbb6e0210d56df6d0dcf1ccbe13dbdfe45552e645c3fdea6454747731b63bc8 +AUX gmp-4.2.1-s390.diff 1848 BLAKE2B 9c7a36b5b203dd5c66084d42bbfb0800269a9c2f534632fb14d94c7561af7eab978c18d66b9a3997f65bf6efa7d800cd673a9b0c329d7f15bd7c646b9fc8efe8 SHA512 ab13186cfdb2a217edb5bd77379d68442685319ec3ca5b9ccadd67a68356f56881ea5feb7dbd40821d6587553d46b63b19ba454a9e3ede27baf72a6857169c44 +AUX gmp-6.1.0-noexecstack-detect.patch 970 BLAKE2B 3b74021e37d5fd6b0b7baa6ad8298962c54cceb769a5f70b3c5fb5ef82392ee2308e6613cd93b0a78b69235c1a73aedc0eb54bbc77b0daebc022d3f1bd05413d SHA512 29af921eed5dbd2d506bc1acdc0eacb8b7f5e7f575fd62038f00a910242bf622980a4197dae18daf5915963c3407ca7eb5bdcb9760f958794348b449fc54e042 +AUX gmp-6.1.2-gcc-apple-4.0.1.patch 979 BLAKE2B 0fe8bf2db0e4633f5d230f02a0bbeb8f0a0dea5c5f2b79e0821733612dadcb0ae4c5815255640afe383e8424e2cf323c0ae33990ee2c21e963811ac434b466a1 SHA512 d1d9898c1978dcdc41dce95d2fc9e23f2ccb0615d02ca453045ece04e9bfd45aa9194774e1e3ea4efe7b40c8f2179233dbecbaa748e7c40d4f31f3adc78d878e +DIST gmp-4.3.2.tar.bz2 1897483 BLAKE2B 0efecd60c7a585f94ec8cbee77541d409c8e3bdeabaca09f7971560fb0fd504ae8e405256913acbef1434146868885c98068ff59efec92c92fdb73b853cf9396 SHA512 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf +DIST gmp-6.1.2.tar.xz 1946336 BLAKE2B 2a864e80799471037a71c10d871f9782c37fe3a0a1734872e90f14a874ecd6551099d67b2ebd07f82a43b0522249a6b46e79952db11a278f87ca8013198f7604 SHA512 9f098281c0593b76ee174b722936952671fab1dae353ce3ed436a31fe2bc9d542eca752353f6645b7077c1f395ab4fdd355c58e08e2a801368f1375690eee2c6 +DIST gmp-man-6.1.2.pdf 825720 BLAKE2B b96340da5f534353b140b361fc1ff74757168024e8039d97a0ed1f14d874ff5fbc50abae2ff3505adc51d72e4acf2882ae6ca6405ae37b594f7b248e1ca05247 SHA512 85de10b2c03f7381881c3e95aa7fc53d8e018115028496ffbb5a79ab4967106c69ed7e97a5e434e6bb39752498aade8c2caa7cf77a8942b7ffd9150368a0d9c3 +EBUILD gmp-4.3.2-r1.ebuild 1699 BLAKE2B 7f600a9d920bf53a0de5954675d3cf72738ab7f74f2e552b0fbbcf3ec891835153ac6e3b5d0180171fc0356d9b9b1384882d9c4fc13b2d1e03c79b53b8c3d312 SHA512 2df5767cb8e4ae67f0264ad5cdd99888ec465774ddd079c9bc6648058138a28dbe4203552233c62ee02b7b2c6ccf2747ec70d2d078dba1528ffca7fae2fb40b6 +EBUILD gmp-6.1.2-r1.ebuild 2958 BLAKE2B de0265f9c529f831d2ca59ae5a639193038ce0b2536eb47a1dc71ca7be3914115f1241806cc2ddf0017676674968dd3ae492eda449581a9ffb46f764a41364ba SHA512 554f7ce0602cbde43f7a731ab2e40d3ba11509f4f0664b362abb0fe285d7c1be5d824133e01591bca5a5693b2874761413411c16fe8740aa3cc2b4e2209b63cb +EBUILD gmp-6.1.2.ebuild 3280 BLAKE2B a16ae5ff9ceeaa79202cd447e64257862d9f551514a44902c5d5f3b4f3698f1c6137b50eecd513ae3f08b40baf52fbfbc839f3bd00e29c1ffbd5d8b56f039f69 SHA512 ec377c3d66be37a5232fc431039fb38672ff6200d24a8c1d780effbb2da1c6f336f478781a5f01af9d67e59f5657cfb22485e67632fe051356fc21f8f76582ea +MISC metadata.xml 501 BLAKE2B f72cb10582beb651fddf6d5abe85920d6f8c9d7a87b82e6778a641bc75202213432105da5cfefbdcd9d343180cca7f2f56638f27c9e059d68afa92d6ee0d6665 SHA512 bde33c241d1e7026e86e7a445bcd929f8a2f6d2dc7a0e71994f2130459910a0ac51d6d3d8cad0fd45baea0d0a38c818348d2427035ef393ac6343ee993c95dd7 diff --git a/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch b/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch new file mode 100644 index 000000000000..093bec1a5dca --- /dev/null +++ b/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch @@ -0,0 +1,20 @@ +fixed executable stack + +http://bugs.gentoo.org/115038 + +--- gmp-4.1.4/configure ++++ gmp-4.1.4/configure +@@ -21689,6 +21689,13 @@ + fi + echo "')" >> $gmp_configm4 + echo "define(\`__CONFIG_M4_INCLUDED__')" >> $gmp_configm4 ++# Gentoo hack ++case $host_os in ++ *linux*) ++ echo '.section .note.GNU-stack,"",%progbits' >> $gmp_configm4 ++ echo '.previous' >> $gmp_configm4 ++ ;; ++esac + + # Create Makefiles + # FIXME: Upcoming version of autoconf/automake may not like broken lines. diff --git a/dev-libs/gmp/files/gmp-4.2.1-s390.diff b/dev-libs/gmp/files/gmp-4.2.1-s390.diff new file mode 100644 index 000000000000..82dbb722eb14 --- /dev/null +++ b/dev-libs/gmp/files/gmp-4.2.1-s390.diff @@ -0,0 +1,68 @@ +stolen from SuSE + +--- configure.in ++++ configure.in +@@ -1050,6 +1050,9 @@ + ;; + + ++ s390x-*-*) ++ path="s390x" ;; ++ + # IBM s/370 and similar + [s3[6-9]0*-*-*]) + gcc_cflags="-O2 $fomit_frame_pointer" +--- configure ++++ configure +@@ -1050,6 +1050,9 @@ + ;; + + ++ s390x-*-*) ++ path="s390x" ;; ++ + # IBM s/370 and similar + s3[6-9]0*-*-*) + gcc_cflags="-O2 $fomit_frame_pointer" +--- mpn/s390/gmp-mparam.h ++++ mpn/s390/gmp-mparam.h +@@ -20,7 +20,8 @@ + MA 02110-1301, USA. */ + + +-/* BITS_PER_MP_LIMB etc generated by configure */ ++#define BITS_PER_MP_LIMB 32 ++#define BYTES_PER_MP_LIMB 4 + + + /* Generated by tuneup.c, 2001-12-03, gcc 2.95 */ +--- mpn/s390x/gmp-mparam.h ++++ mpn/s390x/gmp-mparam.h +@@ -0,0 +1,27 @@ ++/* gmp-mparam.h -- Compiler/machine parameter header file. ++ ++Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc. ++ ++This file is part of the GNU MP Library. ++ ++The GNU MP Library is free software; you can redistribute it and/or modify ++it under the terms of the GNU Library General Public License as published by ++the Free Software Foundation; either version 2 of the License, or (at your ++option) any later version. ++ ++The GNU MP Library is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public ++License for more details. ++ ++You should have received a copy of the GNU Library General Public License ++along with the GNU MP Library; see the file COPYING.LIB. If not, write to ++the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ++MA 02111-1307, USA. */ ++ ++#define BITS_PER_MP_LIMB 64 ++#define BYTES_PER_MP_LIMB 8 ++#define BITS_PER_LONGINT 64 ++#define BITS_PER_INT 32 ++#define BITS_PER_SHORTINT 16 ++#define BITS_PER_CHAR 8 diff --git a/dev-libs/gmp/files/gmp-6.1.0-noexecstack-detect.patch b/dev-libs/gmp/files/gmp-6.1.0-noexecstack-detect.patch new file mode 100644 index 000000000000..558ba60d080a --- /dev/null +++ b/dev-libs/gmp/files/gmp-6.1.0-noexecstack-detect.patch @@ -0,0 +1,23 @@ +gmp's -Wa,--noexecstack check is based on glibc's, so backport a change +that went into it there: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=215a87451d1fd623fd2699fa57f16f8ab6f6a2f3 +https://sourceware.org/bugzilla/show_bug.cgi?id=6428 + +this is to workaround broken clang assembler that fails w/CFLAGS=-g: +http://crbug.com/585930 +https://llvm.org/bugs/show_bug.cgi?id=11740 + +patch has been sent upstream too: +https://gmplib.org/list-archives/gmp-bugs/2016-February/003916.html + +--- a/configure ++++ b/configure +@@ -11339,7 +11339,7 @@ EOF + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } \ + && grep .note.GNU-stack conftest.s >/dev/null \ +- && { ac_try='${CC} $CFLAGS $CPPFLAGS -Wa,--noexecstack ++ && { ac_try='${CC} $ASMFLAGS -Wa,--noexecstack + -c -o conftest.o conftest.s >/dev/null' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 diff --git a/dev-libs/gmp/files/gmp-6.1.2-gcc-apple-4.0.1.patch b/dev-libs/gmp/files/gmp-6.1.2-gcc-apple-4.0.1.patch new file mode 100644 index 000000000000..8960464ac4f4 --- /dev/null +++ b/dev-libs/gmp/files/gmp-6.1.2-gcc-apple-4.0.1.patch @@ -0,0 +1,21 @@ +--- gmp-6.0.0/gmp-h.in.orig 2015-01-16 22:25:51.000000000 +0100 ++++ gmp-6.0.0/gmp-h.in 2015-01-16 22:26:40.000000000 +0100 +@@ -360,14 +360,14 @@ + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ + #ifdef __GNUC__ +-#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \ +- || (defined __GNUC_GNU_INLINE__ && defined __cplusplus) ++#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) + #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +-#else ++#define __GMP_INLINE_PROTOTYPES 1 ++#elif !(defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && __STDC_VERSION__ >= 199901L) + #define __GMP_EXTERN_INLINE extern __inline__ +-#endif + #define __GMP_INLINE_PROTOTYPES 1 + #endif ++#endif + + /* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 diff --git a/dev-libs/gmp/gmp-4.3.2-r1.ebuild b/dev-libs/gmp/gmp-4.3.2-r1.ebuild new file mode 100644 index 000000000000..119a7b9dd487 --- /dev/null +++ b/dev-libs/gmp/gmp-4.3.2-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# this ebuild is only for the libgmp.so.3 ABI SONAME + +EAPI="5" + +inherit eutils libtool toolchain-funcs multilib-minimal + +DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers" +HOMEPAGE="https://gmplib.org/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2" + +LICENSE="LGPL-3" +SLOT="3" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" +IUSE="" + +DEPEND="sys-devel/m4" +RDEPEND="" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch + epatch "${FILESDIR}"/${PN}-4.2.1-s390.diff + + # note: we cannot run autotools here as gcc depends on this package + elibtoolize + + # GMP uses the "ABI" env var during configure as does Gentoo (econf). + # So, to avoid patching the source constantly, wrap things up. + mv configure configure.wrapped || die + cat <<-\EOF > configure + #!/bin/sh + exec env ABI="${GMPABI}" "$0.wrapped" "$@" + EOF + chmod a+rx configure +} + +multilib_src_configure() { + # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works + # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613) + if [[ ${CHOST} == hppa2.0-* ]] ; then + GMPABI="1.0" + fi + + # ABI mappings (needs all architectures supported) + case ${ABI} in + 32|x86) GMPABI=32;; + 64|amd64|n64) GMPABI=64;; + [onx]32) GMPABI=${ABI};; + esac + export GMPABI + + tc-export CC + ECONF_SOURCE="${S}" econf \ + --localstatedir=/var/state/gmp \ + --disable-mpfr \ + --disable-mpbsd \ + --disable-static \ + --disable-cxx +} + +multilib_src_install() { + emake DESTDIR="${D}" install-libLTLIBRARIES + rm "${D}"/usr/*/libgmp.{la,so} || die +} diff --git a/dev-libs/gmp/gmp-6.1.2-r1.ebuild b/dev-libs/gmp/gmp-6.1.2-r1.ebuild new file mode 100644 index 000000000000..4f9a4359fca7 --- /dev/null +++ b/dev-libs/gmp/gmp-6.1.2-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic eutils libtool multilib-minimal + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +PLEVEL=${PV/*p} +DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers" +HOMEPAGE="https://gmplib.org/" +SRC_URI="ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz + mirror://gnu/${PN}/${MY_P}.tar.xz + doc? ( https://gmplib.org/${PN}-man-${MY_PV}.pdf )" + +LICENSE="|| ( LGPL-3+ GPL-2+ )" +# The subslot reflects the C & C++ SONAMEs. +SLOT="0/10.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+asm doc cxx static-libs" + +DEPEND="sys-devel/m4 + app-arch/xz-utils" +RDEPEND="" + +S=${WORKDIR}/${MY_P%a} + +DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache ) +HTML_DOCS=( doc ) +MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h ) + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch +) + +src_prepare() { + default + + # note: we cannot run autotools here as gcc depends on this package + elibtoolize + + # https://bugs.gentoo.org/536894 + if [[ ${CHOST} == *-darwin* ]] ; then + eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch + fi + + # GMP uses the "ABI" env var during configure as does Gentoo (econf). + # So, to avoid patching the source constantly, wrap things up. + mv configure configure.wrapped || die + cat <<-\EOF > configure + #!/usr/bin/env sh + exec env ABI="${GMPABI}" "$0.wrapped" "$@" + EOF + # Patches to original configure might have lost the +x bit. + chmod a+rx configure{,.wrapped} || die +} + +multilib_src_configure() { + # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works + # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613) + if [[ ${CHOST} == hppa2.0-* ]] ; then + GMPABI="1.0" + fi + + # ABI mappings (needs all architectures supported) + case ${ABI} in + 32|x86) GMPABI=32;; + 64|amd64|n64) GMPABI=64;; + [onx]32) GMPABI=${ABI};; + esac + export GMPABI + + #367719 + if [[ ${CHOST} == *-mint* ]]; then + filter-flags -O? + fi + + tc-export CC + ECONF_SOURCE="${S}" econf \ + --localstatedir="${EPREFIX}"/var/state/gmp \ + --enable-shared \ + $(use_enable asm assembly) \ + $(use_enable cxx) \ + $(use_enable static-libs static) +} + +multilib_src_compile() { + emake +} + +multilib_src_test() { + emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # should be a standalone lib + rm -f "${ED}"/usr/$(get_libdir)/libgmp.la + # this requires libgmp + local la="${ED}/usr/$(get_libdir)/libgmpxx.la" + use static-libs \ + && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \ + || rm -f "${la}" +} + +multilib_src_install_all() { + einstalldocs + use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${ED}"/usr/share/doc/${PF}/ +} diff --git a/dev-libs/gmp/gmp-6.1.2.ebuild b/dev-libs/gmp/gmp-6.1.2.ebuild new file mode 100644 index 000000000000..6481d95238be --- /dev/null +++ b/dev-libs/gmp/gmp-6.1.2.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit flag-o-matic eutils libtool multilib-minimal + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} +MY_P=${PN}-${MY_PV} +PLEVEL=${PV/*p} +DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers" +HOMEPAGE="https://gmplib.org/" +SRC_URI="ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz + mirror://gnu/${PN}/${MY_P}.tar.xz + doc? ( https://gmplib.org/${PN}-man-${MY_PV}.pdf )" + +LICENSE="|| ( LGPL-3+ GPL-2+ )" +# The subslot reflects the C & C++ SONAMEs. +SLOT="0/10.4" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+asm doc cxx pgo static-libs" + +DEPEND="sys-devel/m4 + app-arch/xz-utils" +RDEPEND="" + +S=${WORKDIR}/${MY_P%a} + +DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache ) +HTML_DOCS=( doc ) +MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h ) + +src_prepare() { + [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV} + + # note: we cannot run autotools here as gcc depends on this package + elibtoolize + + epatch "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch + + # https://bugs.gentoo.org/536894 + if [[ ${CHOST} == *-darwin* ]] ; then + epatch "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch + fi + + # GMP uses the "ABI" env var during configure as does Gentoo (econf). + # So, to avoid patching the source constantly, wrap things up. + mv configure configure.wrapped || die + cat <<-\EOF > configure + #!/usr/bin/env sh + exec env ABI="${GMPABI}" "$0.wrapped" "$@" + EOF + # Patches to original configure might have lost the +x bit. + chmod a+rx configure{,.wrapped} +} + +multilib_src_configure() { + # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works + # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613) + if [[ ${CHOST} == hppa2.0-* ]] ; then + GMPABI="1.0" + fi + + # ABI mappings (needs all architectures supported) + case ${ABI} in + 32|x86) GMPABI=32;; + 64|amd64|n64) GMPABI=64;; + [onx]32) GMPABI=${ABI};; + esac + export GMPABI + + #367719 + if [[ ${CHOST} == *-mint* ]]; then + filter-flags -O? + fi + + tc-export CC + ECONF_SOURCE="${S}" econf \ + --localstatedir="${EPREFIX}"/var/state/gmp \ + --enable-shared \ + $(use_enable asm assembly) \ + $(use_enable cxx) \ + $(use_enable static-libs static) +} + +multilib_src_compile() { + emake + + if use pgo ; then + emake -j1 -C tune tuneup + ebegin "Trying to generate tuned data" + ./tune/tuneup | tee gmp.mparam.h.new + if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then + mv gmp.mparam.h.new gmp-mparam.h || die + emake clean + emake + fi + fi +} + +multilib_src_test() { + emake check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # should be a standalone lib + rm -f "${ED}"/usr/$(get_libdir)/libgmp.la + # this requires libgmp + local la="${ED}/usr/$(get_libdir)/libgmpxx.la" + use static-libs \ + && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \ + || rm -f "${la}" +} + +multilib_src_install_all() { + einstalldocs + use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${ED}"/usr/share/doc/${PF}/ +} diff --git a/dev-libs/gmp/metadata.xml b/dev-libs/gmp/metadata.xml new file mode 100644 index 000000000000..02ee38fa71f9 --- /dev/null +++ b/dev-libs/gmp/metadata.xml @@ -0,0 +1,12 @@ + + + + + toolchain@gentoo.org + Gentoo Toolchain Project + + + Enable use of hand optimized assembly routines (faster execution) + After building gmp, run some tests against to produce faster libraries -- this option will double the compile time + + -- cgit v1.2.3