You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sci-mathematics/arb/arb-2.17.0.ebuild

75 lines
2.0 KiB

# Copyright 1999-2021 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"
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
}