summaryrefslogtreecommitdiff
path: root/dev-libs/ntl/ntl-9.3.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/ntl/ntl-9.3.0.ebuild')
-rw-r--r--dev-libs/ntl/ntl-9.3.0.ebuild81
1 files changed, 81 insertions, 0 deletions
diff --git a/dev-libs/ntl/ntl-9.3.0.ebuild b/dev-libs/ntl/ntl-9.3.0.ebuild
new file mode 100644
index 000000000000..29ace84f8f4a
--- /dev/null
+++ b/dev-libs/ntl/ntl-9.3.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit toolchain-funcs eutils multilib flag-o-matic
+
+DESCRIPTION="High-performance and portable Number Theory C++ library"
+HOMEPAGE="http://shoup.net/ntl/"
+SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc static-libs test"
+
+RDEPEND="dev-libs/gmp:=
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd ..
+ # sanitize the makefile and allow the building of shared library
+ epatch "${FILESDIR}"/${PN}-9.2.0-sanitize-makefile.patch
+ # enable compatibility with singular
+ epatch "${FILESDIR}"/${PN}-9.2.0-singular.patch
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ NTL_GMP_LIP=on NTL_GF2X_LIB=on NTL_LEGACY_SP_MULMOD=on \
+ || die "DoConfig failed"
+}
+
+src_compile() {
+ # split the targets to allow parallel make to run properly
+ emake setup1 setup2
+ emake setup3
+ sh Wizard on || die "Tuning wizard failed"
+ if use static-libs; then
+ emake ntl.a
+ fi
+ local trg=so
+ [[ ${CHOST} == *-darwin* ]] && trg=dylib
+ emake shared${trg}
+}
+
+src_install() {
+ if use static-libs; then
+ newlib.a ntl.a libntl.a
+ fi
+ dolib.so lib*$(get_libname)
+
+ cd ..
+ insinto /usr/include
+ doins -r include/NTL
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt
+ dohtml doc/*
+ fi
+}
+
+src_test(){
+ # the current ebuild need static library to run tests
+ emake ntl.a
+
+ default
+}