dev-libs/gmp: bump up to 6.2.0
authorSergei Trofimovich <slyfox@gentoo.org>
Sun, 19 Jan 2020 12:23:19 +0000 (12:23 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Sun, 19 Jan 2020 12:24:09 +0000 (12:24 +0000)
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
dev-libs/gmp/Manifest
dev-libs/gmp/gmp-6.2.0.ebuild [new file with mode: 0644]

index 71954ddbaf3dc3c12f96c80a8e5ebcb655bf2098..201af36a7c9185aac5a8e294d99fff3a64e9f2d0 100644 (file)
@@ -1,3 +1,5 @@
 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-6.2.0.tar.xz 2012444 BLAKE2B 928141cf7b0b70f78b66e7bc52aecd39a5fc30e8865b6de6effb5b061ade05a5a51b4680ef2f36ea0d682b319d54ceb1c6c8ef93bde6c2eef2e8b826a34602c3 SHA512 a066f0456f0314a1359f553c49fc2587e484ff8ac390ff88537266a146ea373f97a1c0ba24608bf6756f4eab11c9056f103c8deb99e5b57741b4f7f0ec44b90c
 DIST gmp-man-6.1.2.pdf 825720 BLAKE2B b96340da5f534353b140b361fc1ff74757168024e8039d97a0ed1f14d874ff5fbc50abae2ff3505adc51d72e4acf2882ae6ca6405ae37b594f7b248e1ca05247 SHA512 85de10b2c03f7381881c3e95aa7fc53d8e018115028496ffbb5a79ab4967106c69ed7e97a5e434e6bb39752498aade8c2caa7cf77a8942b7ffd9150368a0d9c3
+DIST gmp-man-6.2.0.pdf 828998 BLAKE2B 0bf56bf0a6f1aac0e1fb9a5a37552f846a2d4a01bfd3f5b5c531d42a9afc48c19552e08971785805f59e3f2a5fd89e3f986f841dca2e340813596cfd76574e61 SHA512 25d129efedd329cd2d4535557c6912191f587bfd8ef028618b4ca6199ec7bf7a9ae862e7f5e5b5448c86888452a39fc7bf95cf9c18311858dd1aa9ae1c716239
diff --git a/dev-libs/gmp/gmp-6.2.0.ebuild b/dev-libs/gmp/gmp-6.2.0.ebuild
new file mode 100644 (file)
index 0000000..c5495e1
--- /dev/null
@@ -0,0 +1,104 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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_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}/
+}