From 896d6a8a88861c42b5d531a2f147c8a29a149bd8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 1 Dec 2022 20:53:45 +0000 Subject: gentoo auto-resync : 01:12:2022 - 20:53:45 --- dev-libs/gmp/Manifest | 4 +- dev-libs/gmp/gmp-6.2.1-r1.ebuild | 108 --------------------------- dev-libs/gmp/gmp-6.2.1-r4.ebuild | 156 +++++++++++++++++++++++++++++++++++++++ dev-libs/gmp/metadata.xml | 34 ++++++--- 4 files changed, 181 insertions(+), 121 deletions(-) delete mode 100644 dev-libs/gmp/gmp-6.2.1-r1.ebuild create mode 100644 dev-libs/gmp/gmp-6.2.1-r4.ebuild (limited to 'dev-libs/gmp') diff --git a/dev-libs/gmp/Manifest b/dev-libs/gmp/Manifest index ea57b5f5cbae..5517d56f2b6a 100644 --- a/dev-libs/gmp/Manifest +++ b/dev-libs/gmp/Manifest @@ -5,6 +5,6 @@ AUX gmp-6.2.1-no-zarch.patch 623 BLAKE2B 4cdf9b780ca92f56eb3dd030a3614169b8cf4df DIST gmp-6.2.1-arm64-darwin.patch.bz2 2520 BLAKE2B 3d4e9dbd29dc9aa81f0c9e0de4a5904c989d54148c9e3dcc5097a43b3fb1ecd17802dacfc71ee131c0805a345f5dce9009e88439758d3a0ed8b3a88526353b4a SHA512 72d49f09c3facd75036c945e076207e72e5673ba9605999c32a122e43e8b970ed646c8ca8f07acbb62bff5e7c387d4c8e1f73ca73e50ac3f574b5f6471d66d56 DIST gmp-6.2.1.tar.xz 2027316 BLAKE2B c0d85f175392a50cfa01bc6b0a312b235946ad8b4f6f84f6dabd33d7a6f2cc75c9b0e1e33057be07750bfa0145b7c4cf3b6188a5be6ca9d7271ec2276c84ebcb SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84 DIST gmp-man-6.2.1.pdf 827583 BLAKE2B 9aa25457a3c488e37cc7d54d825253ab749a3780919570579b319cf607001de50b212ca387b70213abcc5ab428b4525bdb9cd8ae932798a2d7928da98ce3f353 SHA512 f2d9d02e97975355ef490e921fedc94fb7687c3661eec8fa2e94a1622b6e59b17b3879eb3ec1f2df8edac100f727175144d107f4c49c602b773c43bc9e91dbcb -EBUILD gmp-6.2.1-r1.ebuild 2967 BLAKE2B 52d94785ae28771df615f868b1d85c27fd47d039a38e996c2c5a8c61c6757d8b7033b510ecfdda15a4ee712497e22e7fda6d8a8ed1484ee028a9672c833b2ef5 SHA512 4981ac8c537d3e41e18f68c1203917d137e6852b941ea1e04ec2d8566ea9f6266e4c54022240b5ea02da55a44d06138d2c1d995de2096c7dcfd82f9a8b113e55 EBUILD gmp-6.2.1-r2.ebuild 3149 BLAKE2B 934cd313c6cd94b3e4347f1a2b1b6e3c871a274617be729ff496e33be72095a8eb61690238285d4d597994ff3e7d88312130e32afa92a5b0e3d7eb34b02fc51d SHA512 213753bd26129c343f32306262d81fade3b9d67e53014c96656979a480e2a81c4d14776081b1aebf3617804a38be45cf49b1ec13aa1f49fa703819be232512a8 -MISC metadata.xml 524 BLAKE2B 3a77f2e179805eef99b6f04b0f155bcde9d80504b83108fa98abd121a395b45ec37342a73d8f47bab993d2b73d91f8998196ff605fe5725ad3b506583b34628d SHA512 503d1d0f5248b7c7dd7f48121a68005a077035691e04f1e40aecd7124438f3eaf20454c712af867cf0c4257f3fc36c1b785c84a50aea61180336b4e4b1139b98 +EBUILD gmp-6.2.1-r4.ebuild 4679 BLAKE2B 2ab8598f855678f032681440a04aaeb2ae19fa136ffbfadfaa8c61a5b722247910982284dbbcb02153dbea988e982a46c2502bf899451cd555622cfc14e4e19a SHA512 d86960214180fb0c67565878a07d4230ea013e0ad173ff96803446f00047c5478cb13d1934457cfa11e6ab72f527b53bdda2ea5d8261b54223393fdd73beb24b +MISC metadata.xml 1044 BLAKE2B b6c7a609f9b8756693ae49f80508e73483145a9f4a8e3e63f25bdeb53dec0bca9851415f097722b1d646d57ae444fe4fdb98aef83d8a7cb15068672322dd5279 SHA512 4e47e1b850637db4b9d62d3a355587679cda1f245fcd264c6399fd4c463b0efbb2ec29cb4845efdb0795ba1dfa0dbc4c2186e983c6648352c9b41d871f388580 diff --git a/dev-libs/gmp/gmp-6.2.1-r1.ebuild b/dev-libs/gmp/gmp-6.2.1-r1.ebuild deleted file mode 100644 index 8f30f9f28ee6..000000000000 --- a/dev-libs/gmp/gmp-6.2.1-r1.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit libtool multilib-minimal toolchain-funcs - -MY_PV=${PV/_p*} -MY_PV=${MY_PV/_/-} -MANUAL_PV=${MY_PV} -MANUAL_PV=6.2.1 -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-${MANUAL_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 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+asm doc +cxx pic static-libs" - -BDEPEND="sys-devel/m4 - app-arch/xz-utils" - -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 - "${FILESDIR}"/${PN}-6.2.1-no-zarch.patch -) - -src_prepare() { - default - - # We cannot run autotools here as gcc depends on this package - elibtoolize - - # bug #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 - - tc-export CC - - # --with-pic forces static libraries to be built as PIC - # and without TEXTRELs. musl does not support TEXTRELs: bug #707332 - ECONF_SOURCE="${S}" econf \ - CC_FOR_BUILD="$(tc-getBUILD_CC)" \ - --localstatedir="${EPREFIX}"/var/state/gmp \ - --enable-shared \ - $(use_enable asm assembly) \ - $(use_enable cxx) \ - $(use pic && echo --with-pic) \ - $(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" - if ! use static-libs ; then - rm -f "${la}" - fi -} - -multilib_src_install_all() { - einstalldocs - use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/ -} diff --git a/dev-libs/gmp/gmp-6.2.1-r4.ebuild b/dev-libs/gmp/gmp-6.2.1-r4.ebuild new file mode 100644 index 000000000000..0a58fc8ba3b4 --- /dev/null +++ b/dev-libs/gmp/gmp-6.2.1-r4.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal toolchain-funcs + +MY_PV=${PV/_p*} +MY_PV=${MY_PV/_/-} + +MANUAL_PV=${MY_PV} +MANUAL_PV=6.2.1 + +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-${MANUAL_PV}.pdf )" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-arm64-darwin.patch.bz2" +S="${WORKDIR}"/${MY_P%a} + +LICENSE="|| ( LGPL-3+ GPL-2+ )" +# The subslot reflects the C & C++ SONAMEs. +SLOT="0/10.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+asm doc +cpudetection +cxx pic static-libs" +REQUIRED_USE="cpudetection? ( asm )" +RESTRICT="!cpudetection? ( bindist )" + +BDEPEND=" + app-arch/xz-utils + sys-devel/m4 +" + +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 + "${FILESDIR}"/${PN}-6.2.1-no-zarch.patch + "${WORKDIR}"/${P}-arm64-darwin.patch + "${FILESDIR}"/${P}-CVE-2021-43618.patch +) + +src_prepare() { + default + + # We cannot run autotools here as gcc depends on this package + elibtoolize + + # bug #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 + + tc-export CC + + # https://gmplib.org/manual/Notes-for-Package-Builds + local myeconfargs=( + CC_FOR_BUILD="$(tc-getBUILD_CC)" + + --localstatedir="${EPREFIX}"/var/state/gmp + --enable-shared + + $(use_enable asm assembly) + # fat is needed to avoid gmp installing either purely generic + # or specific-to-used-CPU (which our config.guess refresh prevents at the moment). + # Both Fedora and opensuse use this option to tackle the issue, bug #883201. + # + # This only works for amd64/x86, so to get accelerated performance + # (i.e. not using the generic C), one needs USE=-cpudetection if + # on non-amd64/x86. + # + # (We do not mask USE=cpudetection on !amd64/x86 because we want + # the flag to be useful on other arches to allow opting out of the + # config.guess logic below.) + $(use_enable cpudetection fat) + $(use_enable cxx) + $(use_enable static-libs static) + + # --with-pic forces static libraries to be built as PIC + # and without TEXTRELs. musl does not support TEXTRELs: bug #707332 + $(use pic && echo --with-pic) + ) + + if use cpudetection && ! use amd64 && ! use x86 ; then + elog "Using generic C implementation on non-amd64/x86 with USE=cpudetection" + elog "--enable-fat is a no-op on alternative arches." + elog "To obtain an optimized build, set USE=-cpudetection, but binpkgs should not then be made." + fi + + # See bug #883201 again. + if ! use cpudetection && ! tc-is-cross-compiler ; then + local gmp_host=$("${S}"/config.guess || die "failed to run config.guess") + + if [[ -z ${gmp_host} ]] ; then + die "Empty result from GMP's custom config.guess!" + fi + + einfo "GMP guessed processor type: ${gmp_host}" + ewarn "This build will only work on this machine. Enable USE=cpudetection for binary packages!" + export ac_cv_host="${gmp_host}" + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +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" + if ! use static-libs ; then + rm -f "${la}" || die + fi +} + +multilib_src_install_all() { + einstalldocs + use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/ +} diff --git a/dev-libs/gmp/metadata.xml b/dev-libs/gmp/metadata.xml index e98fbcba6811..591e777c6165 100644 --- a/dev-libs/gmp/metadata.xml +++ b/dev-libs/gmp/metadata.xml @@ -1,15 +1,27 @@ - - toolchain@gentoo.org - Gentoo Toolchain Project - - - Enable use of hand optimized assembly routines (faster execution) - Force static libraries to be built as PIC to avoid TEXTRELs. - - - cpe:/a:gmplib:gmp - + + toolchain@gentoo.org + Gentoo Toolchain Project + + + Enable use of hand optimized assembly routines (faster execution) + + Enables runtime CPU detection (useful for binpkgs, compatibility on other CPUs). + + This only works on amd64/x86 at present. + + If this flag is enabled, GMP will work on a variety of amd64/x86 CPUs and load accelerated + routines for use at runtime depending on the CPU in use. This makes it suitable + for binary packages (binpkgs). + + If this flag is disabled, GMP will be tuned for the CPU being used at build-time + and may not be usable on other machines. + + Force static libraries to be built as PIC to avoid TEXTRELs. + + + cpe:/a:gmplib:gmp + -- cgit v1.2.3