diff options
Diffstat (limited to 'sci-mathematics/arb/arb-2.17.0.ebuild')
-rw-r--r-- | sci-mathematics/arb/arb-2.17.0.ebuild | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/sci-mathematics/arb/arb-2.17.0.ebuild b/sci-mathematics/arb/arb-2.17.0.ebuild new file mode 100644 index 000000000000..5b8842f7b898 --- /dev/null +++ b/sci-mathematics/arb/arb-2.17.0.ebuild @@ -0,0 +1,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 +} |