blob: 5b8842f7b8983fe8186cbbdd040e7463cfbb1adf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="C library for arbitrary-precision interval arithmetic"
HOMEPAGE="http://fredrikj.net/arb/"
SRC_URI="https://github.com/fredrik-johansson/arb/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0/2"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="static-libs"
RDEPEND="
dev-libs/gmp:0=
dev-libs/mpfr:0=
>=sci-mathematics/flint-2.5.0:="
DEPEND="${RDEPEND}"
src_prepare(){
default
# The autodetection finds "lib" first, which may e.g. contain 32-bit
# libs during a 64-bit build.
#
# Copied from flint which has the same issues because arb is just
# copying flint. Of course flint doesn't have a line for itself
# and, it had to be added.
sed -e "s:{GMP_DIR}/lib\":{GMP_DIR}/$(get_libdir)\":g" \
-e "s:{MPFR_DIR}/lib\":{MPFR_DIR}/$(get_libdir)\":g" \
-e "s:{FLINT_DIR}/lib\":{FLINT_DIR}/$(get_libdir)\":g" \
-i configure
}
src_configure() {
# Not an autoconf configure script. It appears to have been cloned
# from the flint configure script and that not all the options
# offered are valid.
tc-export CC AR CXX
./configure \
--prefix="${EPREFIX}/usr" \
--with-flint="${EPREFIX}/usr" \
--with-gmp="${EPREFIX}/usr" \
--with-mpfr="${EPREFIX}/usr" \
$(use_enable static-libs static) \
CFLAGS="${CPPFLAGS} ${CFLAGS}" || die
}
src_compile() {
emake verbose
}
src_test() {
# We have to set the library path otherwise a previous install of
# libarb may be loaded. This is in part a consequence of setting
# the soname/installname I think.
if [[ ${CHOST} == *-darwin* ]] ; then
DYLD_LIBRARY_PATH="${S}" emake AT= QUIET_CC= QUIET_CXX= QUIET_AR= check
else
LD_LIBRARY_PATH="${S}" emake AT= QUIET_CC= QUIET_CXX= QUIET_AR= check
fi
}
src_install() {
emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
if ! use static-libs; then
find "${ED}" -name '*.la' -delete || die
fi
dodoc README.md
}
|