summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakov Smolic <jakov.smolic@sartura.hr>2021-05-27 23:05:41 +0200
committerDavid Seifert <soap@gentoo.org>2021-05-27 23:05:41 +0200
commit766ccf333003215d0b0d0fc3b86a84eb52a7feb4 (patch)
tree3334f79b6c5fb0dd2d3994b06b90cd891ac180c3 /sci-libs/mpir/mpir-3.0.0-r1.ebuild
parentsci-libs/hypre: Bump to 2.21.0 (diff)
downloadgentoo-766ccf333003215d0b0d0fc3b86a84eb52a7feb4.tar.gz
gentoo-766ccf333003215d0b0d0fc3b86a84eb52a7feb4.tar.bz2
gentoo-766ccf333003215d0b0d0fc3b86a84eb52a7feb4.zip
sci-libs/mpir: Port to EAPI 7, drop static-libs
Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-libs/mpir/mpir-3.0.0-r1.ebuild')
-rw-r--r--sci-libs/mpir/mpir-3.0.0-r1.ebuild75
1 files changed, 75 insertions, 0 deletions
diff --git a/sci-libs/mpir/mpir-3.0.0-r1.ebuild b/sci-libs/mpir/mpir-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..eab814932b38
--- /dev/null
+++ b/sci-libs/mpir/mpir-3.0.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools 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/23"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx cpudetection"
+
+BDEPEND="
+ x86? ( dev-lang/yasm )
+ amd64? ( dev-lang/yasm )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.7.2-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 || die
+
+ #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 || die
+
+ %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.
+ local myeconfargs=(
+ $(use_enable cxx)
+ $(use_enable cpudetection fat)
+ --disable-static
+ )
+ # https://bugs.gentoo.org/661430
+ if ! use amd64 && ! use x86; then
+ myeconfargs+=( --with-yasm="${BROOT}"/bin/false )
+ fi
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}