summaryrefslogtreecommitdiff
path: root/dev-libs/ntl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/ntl
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/ntl')
-rw-r--r--dev-libs/ntl/Manifest10
-rw-r--r--dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch160
-rw-r--r--dev-libs/ntl/files/ntl-9.2.0-singular.patch13
-rw-r--r--dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch160
-rw-r--r--dev-libs/ntl/metadata.xml18
-rw-r--r--dev-libs/ntl/ntl-10.5.0.ebuild61
-rw-r--r--dev-libs/ntl/ntl-9.3.0.ebuild81
-rw-r--r--dev-libs/ntl/ntl-9.6.4.ebuild84
8 files changed, 587 insertions, 0 deletions
diff --git a/dev-libs/ntl/Manifest b/dev-libs/ntl/Manifest
new file mode 100644
index 000000000000..c2ec0b7c02e2
--- /dev/null
+++ b/dev-libs/ntl/Manifest
@@ -0,0 +1,10 @@
+AUX ntl-9.2.0-sanitize-makefile.patch 4324 BLAKE2B 43a2a1276d2743bfd8394c89419012a2d8278d12394ed12f9b2ab60bb1ec9deb621b9c8c5e0835d5c6740c46344a03fb1f50331b7f8509caf73a16c1d92b8e44 SHA512 d1b0d21fd136bf6548901486f6893d34c538b110bf50a9a8b4ca810f77a32bbd64d67962310bf7666afd935d380969fb832848d5779e1d1101a06691abedec80
+AUX ntl-9.2.0-singular.patch 391 BLAKE2B 2d4dbfcb45c7cc82d8358d7d7d7c0f50a4eb6b1c3ef11a3baa47223a8dd1c0d1fe2f38b656829fedcf172617dd0504317f901b2f3552128b86765327a56163e5 SHA512 ebb25e7755232ff72d75538213cbfa3a600e9b78af3943e73da4de1aab28d3c8dda43f84eec716bc52768d510f6a68c3f5c969c5dea2c6050b25023ba440fe04
+AUX ntl-9.6.4-sanitize-makefile.patch 4049 BLAKE2B a5ed15742628e3880ae4804672d198b83372272f89c8ddd8528f78e4030a4926d3fabe920a073ef22409d16273c9c9a1a87d4a3a554d84d34c7b10eaff3eac98 SHA512 1af6473c85d75299db28542e244bcc1bc37011bc4a1b85cacd9c21a44c77a578d6d32b1295c10e00a25a50de88be479282060a3ab93ecb9738cb9e6888a9165f
+DIST ntl-10.5.0.tar.gz 1278729 BLAKE2B a061ac4e0989ea671c51a22904851e5b7919f3a7e55624048c576d6f48d2ba3d6f88baa6c656c9ef43ad2145a03df9d891372f8462a1c5b6b53bc1d05301d9f6 SHA512 b299dfc29005079470972c2a9ca02acd0ebdbc31ff8923df02f3627dbc66daa0f527226972cef032e1e488c4272554634a96456e94653fdf8b01356160319aa0
+DIST ntl-9.3.0.tar.gz 888710 BLAKE2B 153a6f1bd11f27ef2944e4df5e941c4ddbb1783449e2a72aa1a272fcf169997b01646cfac63ac3af5a85a7f9a4db99a664503615d323ba54784849e764316b0c SHA512 dfb4ac7a66aaddcf5d0d0c9fcaff253b0196a9d9f727788127dd18e131528fe60dedf8bfb864503225fc5796987aec9c7019b74e0fc12cd12c20aa33a9cf9d7d
+DIST ntl-9.6.4.tar.gz 915256 BLAKE2B 78d8415bb1fe858881f997383ca9adcc8af2499251fc1b2e8e2211a8c7b8edc249ef28f3705e302d438c19cc07bd31d8b36681cb6b5a846d4f0b35ff09d310ff SHA512 ec8a4deb6996b31140edff978e07844ea8e30327491a6777d3982bffec01599b0cb5cc5dca297c8610ecb7ac9a4eae3407a59736fed840a2415a52a159370868
+EBUILD ntl-10.5.0.ebuild 1445 BLAKE2B 522b14c8b09cdd96ad0a9a9ae7440df24d19484c25b434cdbdd70d65e95459dbb9182c2258afcccbcc454625e1700276bdb389367951cc58b196b7b633de5906 SHA512 03d0f3b39d728b86c372d95d55d36dc3bf7c2c7f4a21f856d9dfb1f5162fd42f232465b737c47b9cf3c7f3d4903f5c893a226063449e07b977d55b1202c0b3ba
+EBUILD ntl-9.3.0.ebuild 1778 BLAKE2B a11c61d452ae6643df2c3081baa389d92be3256eea634a4e0fdc50a4d1f3cef3843dfa12e780851e90b66756fce174edcf08a92ecf5bce6c98c0738106ee5e59 SHA512 4f7d415cdf3e94655983fe1795af856ef01a0f953a7b9b8eae9d10be0b691d0b49036cebf45afcad8e4ae097681912af6728e7e455ba0d306fd0a5c323515022
+EBUILD ntl-9.6.4.ebuild 1706 BLAKE2B 104e8b1887568681ee7cc67b17b18078fdcc5d05b266e5de2213a135df730f42ba9085ddd2ae5e2d6b8c3daf3bf8841fb698a0d13a48ae7c7c666333a220a93a SHA512 1aa1887d2665aaf3294b87404febbf941118be291a5111a92bbfce88ca163683661b396db358d2cacfed7ec63a72090ff96cc59b5723edd8bc56b1441fc0c857
+MISC metadata.xml 662 BLAKE2B c9ec72da996f6467ec456420af20dbd37e66e8884108d387a715da0578f939321c075ef95237e9d5c7a9ce1d5bbc555d2f48acba6bc2ff8e3ff8efea9cd1479b SHA512 d7501231f63b33bdf70ffbd0e218e91b394b2cac9c71fb361dd011839ce45c2b03705ad10274b4a78f935adc7383502191aee5616fa9f3e13720949767599893
diff --git a/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch
new file mode 100644
index 000000000000..2e8b77ae4b92
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch
@@ -0,0 +1,160 @@
+diff -Naur ntl-9.2.0.orig/src/DoConfig ntl-9.2.0/src/DoConfig
+--- ntl-9.2.0.orig/src/DoConfig 2015-07-09 21:45:26.959930693 +1200
++++ ntl-9.2.0/src/DoConfig 2015-07-09 21:46:52.250122780 +1200
+@@ -38,14 +38,16 @@
+
+ 'LDFLAGS' => '',
+ 'LDLIBS' => '-lm',
++'PICFLAG' => '-fPIC',
+ 'CPPFLAGS' => '',
+
+-'DEF_PREFIX' => '/usr/local',
++'DEF_PREFIX' => '/usr',
+
+ 'PREFIX' => '$(DEF_PREFIX)',
+ 'LIBDIR' => '$(PREFIX)/lib',
+ 'INCLUDEDIR' => '$(PREFIX)/include',
+ 'DOCDIR' => '$(PREFIX)/share/doc',
++'SHMAKE' => 'non-gld',
+
+ 'GMP_PREFIX' => '$(DEF_PREFIX)',
+ 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
+diff -Naur ntl-9.2.0.orig/src/mfile ntl-9.2.0/src/mfile
+--- ntl-9.2.0.orig/src/mfile 2015-07-09 21:45:26.959930693 +1200
++++ ntl-9.2.0/src/mfile 2015-07-09 21:57:40.631583489 +1200
+@@ -109,6 +109,16 @@
+ WIZARD=@{WIZARD}
+ # Set to off if you want to bypass the wizard; otherwise, set to on.
+
++###############################################################
++#
++# New addition for shared library building. With gcc you need to
++# choose the Position Indepent Code flag. You have a choice of
++# -fpic better code but in rare case not available (ppc)
++# -fPIC slightly slower code but guaranted to work anywhere.
++#
++###############################################################
++
++PICFLAG=@{PICFLAG}
+
+ #################################################################
+ #
+@@ -141,6 +151,8 @@
+
+ OBJ=$(O19)
+
++SHOBJ=$(subst .o,.lo,$(OBJ))
++
+ # library source files
+
+
+@@ -314,6 +326,8 @@
+
+ LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
+
++.SUFFIXES: .lo
++
+
+
+ # 'make all' does a complete make, including all setup.
+@@ -322,11 +336,11 @@
+ # again.
+
+ all:
+- make setup1
+- make setup2
+- make setup3
+- make setup4
+- make ntl.a
++ ${MAKE} setup1
++ ${MAKE} setup2
++ ${MAKE} setup3
++ ${MAKE} setup4
++ ${MAKE} ntl.a
+ touch all
+
+
+@@ -373,22 +387,37 @@
+ lip.o: lip.c g_lip_impl.h c_lip_impl.h
+ $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
+
++lip.lo: lip.c g_lip_impl.h c_lip_impl.h
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_OPT_INCDIR) lip.c -o lip.lo
++
+ ctools.o: ctools.c
+ $(LCOMP) $(COMPILE) ctools.c
+
++ctools.lo: ctools.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
++
+
+ GetTime.o: GetTime.c
+ $(LCOMP) $(COMPILE) GetTime.c
+
++GetTime.lo: GetTime.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
++
+ GetPID.o: GetPID.c
+ $(LCOMP) $(COMPILE) GetPID.c
+
++GetPID.lo: GetPID.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
++
+ CheckPCLMUL: CheckPCLMUL.c
+ $(LINK) -o CheckPCLMUL CheckPCLMUL.c $(LDLIBS)
+
+ .c.o:
+ $(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
+
++.c.lo:
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
++
+ .c:
+ @{LSTAT} $(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
+ @{LSHAR} $(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
+@@ -402,7 +431,7 @@
+
+ check:
+ sh RemoveProg $(PROGS)
+- make QuickTest
++ ${MAKE} QuickTest
+ ./QuickTest
+ sh RemoveProg QuickTest
+ sh TestScript
+@@ -459,21 +488,19 @@
+ #
+ #################################################################
+
+-clobber:
++clobber: clean
+ rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c
+ cp ../include/NTL/have_LL_no.h ../include/NTL/have_LL.h
+ cp ../include/NTL/have_builtin_clzl_no.h ../include/NTL/have_builtin_clzl.h
+ rm -f ../include/NTL/gmp_aux.h
+- sh RemoveProg $(PROGS) MakeDesc TestGetTime TestGetPID gen_gmp_aux
+- rm -f *.o
+- rm -rf small
++ sh RemoveProg $(PROGS)
+ rm -f cfileout mfileout
+ rm -rf .libs *.lo libntl.la
+ rm -f all
+
+ clean:
+ sh RemoveProg MakeDesc TestGetTime TestGetPID gen_gmp_aux
+- rm -f *.o
++ rm -f *.o *.lo
+ rm -rf small
+ @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
+
+@@ -558,4 +585,11 @@
+
+
+
++sharedso: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.so libntl.so
++
++shareddylib: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
+
diff --git a/dev-libs/ntl/files/ntl-9.2.0-singular.patch b/dev-libs/ntl/files/ntl-9.2.0-singular.patch
new file mode 100644
index 000000000000..58f9491c12a0
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-9.2.0-singular.patch
@@ -0,0 +1,13 @@
+Modfiy new.h to accomodate Singular.
+--- src.orig/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200
++++ src/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200
+@@ -12,7 +12,8 @@
+ #include <NTL/config.h>
+ #include <new>
+
+-#define NTL_NEW_OP new (std::nothrow)
++// commenting std::nothrow makes this ntl work properly with Singular
++#define NTL_NEW_OP new //(std::nothrow)
+
+
+ #endif
diff --git a/dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch
new file mode 100644
index 000000000000..ed2e533fe430
--- /dev/null
+++ b/dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch
@@ -0,0 +1,160 @@
+--- ntl-9.6.4/src/DoConfig
++++ ntl-9.6.4/src/DoConfig
+@@ -24,14 +24,16 @@
+
+ 'LDFLAGS' => '',
+ 'LDLIBS' => '-lm',
++'PICFLAG' => '-fPIC',
+ 'CPPFLAGS' => '',
+
+-'DEF_PREFIX' => '/usr/local',
++'DEF_PREFIX' => '/usr',
+
+ 'PREFIX' => '$(DEF_PREFIX)',
+ 'LIBDIR' => '$(PREFIX)/lib',
+ 'INCLUDEDIR' => '$(PREFIX)/include',
+ 'DOCDIR' => '$(PREFIX)/share/doc',
++'SHMAKE' => 'non-gld',
+
+ 'GMP_PREFIX' => '$(DEF_PREFIX)',
+ 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
+--- ntl-9.6.4/src/mfile
++++ ntl-9.6.4/src/mfile
+@@ -113,6 +113,18 @@
+ # Set to off if you want to bypass the wizard; otherwise, set to on.
+
+
++###############################################################
++#
++# New addition for shared library building. With gcc you need to
++# choose the Position Indepent Code flag. You have a choice of
++# -fpic better code but in rare case not available (ppc)
++# -fPIC slightly slower code but guaranted to work anywhere.
++#
++###############################################################
++
++PICFLAG=@{PICFLAG}
++
++
+ #################################################################
+ #
+ # That's it! You can ignore everything else in this file!
+@@ -144,6 +156,8 @@
+
+ OBJ=$(O19)
+
++SHOBJ=$(subst .o,.lo,$(OBJ))
++
+ # library source files
+
+
+@@ -317,6 +331,7 @@
+
+ LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXAUTOFLAGS) $(CXXFLAGS) $(LDFLAGS)
+
++.SUFFIXES: .lo
+
+
+ # 'make all' does a complete make, including all setup.
+@@ -325,11 +340,11 @@
+ # again.
+
+ all:
+- make setup1
+- make setup2
+- make setup3
+- make setup4
+- make ntl.a
++ ${MAKE} setup1
++ ${MAKE} setup2
++ ${MAKE} setup3
++ ${MAKE} setup4
++ ${MAKE} ntl.a
+ touch all
+
+
+@@ -378,16 +393,28 @@
+ lip.o: lip.c g_lip_impl.h c_lip_impl.h
+ $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
+
++lip.lo: lip.c g_lip_impl.h c_lip_impl.h
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_OPT_INCDIR) lip.c -o lip.lo
++
+ ctools.o: ctools.c
+ $(LCOMP) $(COMPILE) ctools.c
+
++ctools.lo: ctools.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
++
+
+ GetTime.o: GetTime.c
+ $(LCOMP) $(COMPILE) GetTime.c
+
++GetTime.lo: GetTime.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
++
+ GetPID.o: GetPID.c
+ $(LCOMP) $(COMPILE) GetPID.c
+
++GetPID.lo: GetPID.c
++ $(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
++
+ CheckCompile: CheckCompile.c
+ $(LINK) -o CheckCompile CheckCompile.c $(LDLIBS)
+
+@@ -395,6 +422,9 @@
+ .c.o:
+ $(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
+
++.c.lo:
++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
++
+ .c:
+ @{LSTAT} $(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
+ @{LSHAR} $(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
+@@ -408,7 +438,7 @@
+
+ check:
+ sh RemoveProg $(PROGS)
+- make QuickTest
++ ${MAKE} QuickTest
+ ./QuickTest
+ sh RemoveProg QuickTest
+ sh TestScript
+@@ -465,20 +495,18 @@
+ #
+ #################################################################
+
+-clobber:
++clobber: clean
+ rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c
+ sh ResetFeatures '..'
+ rm -f ../include/NTL/gmp_aux.h
+- sh RemoveProg $(PROGS) MakeDesc $(AUXPROGS) gen_gmp_aux
+- rm -f *.o
+- rm -rf small
++ sh RemoveProg $(PROGS)
+ rm -f cfileout mfileout
+ rm -rf .libs *.lo libntl.la
+ rm -f all
+
+ clean:
+ sh RemoveProg $(PROGS) MakeDesc $(AUXPROGS) gen_gmp_aux
+- rm -f *.o
++ rm -f *.o *.lo
+ rm -rf small
+ @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
+
+@@ -570,5 +598,11 @@
+ $(LINK) -o DispSettings DispSettings.c $(LDLIBS)
+
+
+-
++sharedso: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.so libntl.so
++
++shareddylib: DIRNAME $(SHOBJ)
++ $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
+
diff --git a/dev-libs/ntl/metadata.xml b/dev-libs/ntl/metadata.xml
new file mode 100644
index 000000000000..46f676c3223b
--- /dev/null
+++ b/dev-libs/ntl/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ NTL is a high-performance, portable C++ library providing data
+ structures and algorithms for manipulating signed, arbitrary length
+ integers, and for vectors, matrices, and polynomials over the
+ integers and over finite fields.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/ntl/ntl-10.5.0.ebuild b/dev-libs/ntl/ntl-10.5.0.ebuild
new file mode 100644
index 000000000000..00821f04ef33
--- /dev/null
+++ b/dev-libs/ntl/ntl-10.5.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit flag-o-matic toolchain-funcs
+
+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/35"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc static-libs test threads bindist"
+
+RDEPEND="dev-libs/gmp:0=
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+
+pkg_setup() {
+ replace-flags -O[3-9] -O2
+}
+
+src_configure() {
+ # Currently the build system can build a static library or
+ # both static and shared libraries. But not only shared libraries.
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
+ CXXFLAGS="${CXXFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ SHARED=on \
+ NTL_GMP_LIP=on NTL_GF2X_LIB=on \
+ $(usex threads NTL_THREADS= NTL_THREADS= on off) \
+ $(usex bindist NATIVE= NATIVE= off on) \
+ || die "DoConfig failed"
+}
+
+src_install() {
+ default
+ if ! use static-libs; then
+ prune_libtool_files --all
+ rm -f "${ED}"/usr/$(get_libdir)/libntl.a
+ fi
+
+ cd ..
+ rm -rf "${ED}"/usr/share/doc/NTL
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt
+ docinto html
+ dodoc doc/*.html doc/*.gif
+ fi
+}
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
+}
diff --git a/dev-libs/ntl/ntl-9.6.4.ebuild b/dev-libs/ntl/ntl-9.6.4.ebuild
new file mode 100644
index 000000000000..40c071f7ddbc
--- /dev/null
+++ b/dev-libs/ntl/ntl-9.6.4.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit flag-o-matic toolchain-funcs
+
+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:0=
+ >=dev-libs/gf2x-0.9"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/${P}/src"
+PATCHES=(
+ "${FILESDIR}/${P}-sanitize-makefile.patch"
+ "${FILESDIR}/${PN}-9.2.0-singular.patch"
+)
+
+src_prepare() {
+ # fix parallel make
+ sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
+ cd .. || die
+ default
+
+ 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 .. || die
+ insinto /usr/include
+ doins -r include/NTL
+
+ dodoc README
+ if use doc ; then
+ dodoc doc/*.txt
+ docinto html
+ dodoc doc/*.html doc/*.gif
+ fi
+}
+
+src_test(){
+ # the current ebuild need static library to run tests
+ emake ntl.a
+
+ default
+}