diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-libs/ntl | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-libs/ntl')
-rw-r--r-- | dev-libs/ntl/Manifest | 6 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch | 53 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch | 151 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-5.5.2-shared.patch | 166 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-5.5.2-singular.patch | 12 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch | 61 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-6.0.0-singular.patch | 12 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch | 158 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch | 160 | ||||
-rw-r--r-- | dev-libs/ntl/files/ntl-9.2.0-singular.patch | 13 | ||||
-rw-r--r-- | dev-libs/ntl/metadata.xml | 12 | ||||
-rw-r--r-- | dev-libs/ntl/ntl-5.5.2.ebuild | 75 | ||||
-rw-r--r-- | dev-libs/ntl/ntl-6.0.0.ebuild | 75 | ||||
-rw-r--r-- | dev-libs/ntl/ntl-6.1.0.ebuild | 75 | ||||
-rw-r--r-- | dev-libs/ntl/ntl-8.1.2.ebuild | 75 | ||||
-rw-r--r-- | dev-libs/ntl/ntl-9.0.2.ebuild | 75 | ||||
-rw-r--r-- | dev-libs/ntl/ntl-9.3.0.ebuild | 82 |
17 files changed, 1261 insertions, 0 deletions
diff --git a/dev-libs/ntl/Manifest b/dev-libs/ntl/Manifest new file mode 100644 index 000000000000..0a56760a6f54 --- /dev/null +++ b/dev-libs/ntl/Manifest @@ -0,0 +1,6 @@ +DIST ntl-5.5.2.tar.gz 707247 SHA256 ef7fe7c8b60ec6e05b2a279caad0081263f7fb68b7360120846644cde726ff56 SHA512 44892e00051ca743b1184c9ae30e62c8e2605edaa394358979ff990a535993a6f282d882871ca9ebb3c632971f806c41d9b8024c8fb2cc6fa0d22bc26c66db06 WHIRLPOOL 4587463c4b52be721a7feb164fab73341af97c6f451c0bb2fbf675503c8a5262a5d7615d628e97f082dde23ce49db0f0b314c625dae0526bb1abdfc88732896f +DIST ntl-6.0.0.tar.gz 714741 SHA256 9342fa7d83a0ee6748ebae683368250eff06b19d7df5dfb85bcba8a896c0a29b SHA512 fa1f1745e75c7588ca5af437648ab0844281f5c6e6a22a3bcaf0409792f3d4c70f0b8050823d90d19673ebcecae18ce6d39e6c9b1fec9f2d79f87b788b58d261 WHIRLPOOL ba8d7355639d54c6b95b66f648330876a892223c2232ddd5dd7097c53b783f01a26c5da01e72c6ad4527c3829b3c9e7123b58e63ecb8d22b4940f71a9b8a422d +DIST ntl-6.1.0.tar.gz 715439 SHA256 e16c30ceef1d47e94b8a37a8c4a1fb58729b8f8449c648e2a96280a3eecf9b6f SHA512 8c013bd4a250c8e29d57864585492be1f392c84356959d8100d5c45b420e411e5cd677524e2d50bbe265dda4c364185395780ba5d8490f6ac46da73c6a9728de WHIRLPOOL cf2a48cfe33cb58d8bda35d4a18d57a20ae23f2ba53f0f757d1bacc58ffa0bfdfd38363db38996e2e4069f5e3f2ad6a3ae9a859437a93404308512652190c765 +DIST ntl-8.1.2.tar.gz 865458 SHA256 35c71d63786a7d7aa60e70c838e662da771ff14c98d643213baeda09bcbbfab5 SHA512 40a3e9f49c8b0f654668ac2bbd4dc18824ede22841ab6c809886a4abbf2d0ce9e7e544be62cc705c31c452cac0e29be9f93345fcf4bb6554badcf17134c32f69 WHIRLPOOL 88d675cfc7153abce8bf409236eea86dcc9e649bf0028b5265f033316db399339a01196274379eb16793bbe538f4fb4a80af2f4ce50b18416eb52058fb75e543 +DIST ntl-9.0.2.tar.gz 872258 SHA256 9b961b5fef294784bd4ece994a8a623c90ae9f01231b269c390d44bb4be5e346 SHA512 c720b8e8d36e078e8d4f6f053bccc352758bac71ef868579482f4c847084cb4498b62e40a43de1bd7bcc2357a58f728fa092caef6019ec98f24853046549ba00 WHIRLPOOL b7cd955b7cd52252f1978aa85600105a21b3ecdc133b6af87ed171271f0a9c3144efa33325c2f1706efe059f0de4b198d713b69807314547e5c7f043bfa87294 +DIST ntl-9.3.0.tar.gz 888710 SHA256 8f31508a9176b3fc843f08468b1632017f2450677bfd5147ead5136e0f24b68f SHA512 dfb4ac7a66aaddcf5d0d0c9fcaff253b0196a9d9f727788127dd18e131528fe60dedf8bfb864503225fc5796987aec9c7019b74e0fc12cd12c20aa33a9cf9d7d WHIRLPOOL a1f7cf573d49a277f0b2f1d50d18e66ef83a54430c517fd5d3c75e800216b706e8b5ff10e6ed2dc02b6eb4f9290671b249c67f1937cced96ac987055aaa3ab99 diff --git a/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch b/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch new file mode 100644 index 000000000000..fafa97356cd8 --- /dev/null +++ b/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch @@ -0,0 +1,53 @@ +--- include/NTL/tools.h.orig 2008-05-06 22:14:06.000000000 +1200 ++++ include/NTL/tools.h 2008-05-06 22:14:23.000000000 +1200 +@@ -249,6 +249,12 @@ + char IntValToChar(long a); + + ++/* ++ This function is not present in vanilla NTL ++ See tools.c for documentation. ++ */ ++void SetErrorCallbackFunction(void (*func)(const char *s, void *context), void *context); ++ + + void Error(const char *s); + +--- src/tools.c.orig 2008-05-06 22:15:32.000000000 +1200 ++++ src/tools.c 2008-05-06 22:15:45.000000000 +1200 +@@ -8,8 +8,35 @@ + NTL_START_IMPL + + ++/* ++ The following code differs from vanilla NTL ++ ++ We add a SetErrorCallbackFunction(). This sets a global callback function _function_, ++ which gets called with parameter _context_ and an error message string whenever Error() ++ gets called. ++ ++ Note that if the custom error handler *returns*, then NTL will dump the error message ++ back to stderr and abort() as it habitually does. ++ ++ -- David Harvey (2008-04-12) ++*/ ++ ++void (*ErrorCallbackFunction)(const char*, void*) = NULL; ++void *ErrorCallbackContext = NULL; ++ ++ ++void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context) ++{ ++ ErrorCallbackFunction = function; ++ ErrorCallbackContext = context; ++} ++ ++ + void Error(const char *s) + { ++ if (ErrorCallbackFunction != NULL) ++ ErrorCallbackFunction(s, ErrorCallbackContext); ++ + cerr << s << "\n"; + abort(); + } diff --git a/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch b/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch new file mode 100644 index 000000000000..1420f55f3285 --- /dev/null +++ b/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch @@ -0,0 +1,151 @@ +--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100 ++++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100 +@@ -25,14 +25,16 @@ + 'LDFLAGS_CXX' => '$(LDFLAGS)', + 'LDLIBS' => '-lm', + 'LDLIBS_CXX' => '$(LDLIBS)', ++'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', +--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100 ++++ src/mfile 2009-08-10 20:31:36.000000000 +0100 +@@ -141,6 +146,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} + + ################################################################# + # +@@ -173,6 +188,8 @@ + + OBJ=$(O19) + ++SHOBJ=$(subst .o,.lo,$(OBJ)) ++ + # library source files + + +@@ -320,7 +356,7 @@ + LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) + LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX) + +- ++.SUFFIXES: .lo + + # 'make all' does a complete make, including all setup. + # It also creates the file 'all', which means you should +@@ -328,11 +364,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,18 +414,31 @@ + lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h + $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c + ++lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h ++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_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 + + .c.o: + $(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $< + ++.c.lo: ++ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $< ++ ++ + .c: + @{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT + @{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR +@@ -403,7 +452,7 @@ + + check: + sh RemoveProg $(PROGS) +- make QuickTest ++ $(MAKE) QuickTest + ./QuickTest + sh RemoveProg QuickTest + sh TestScript +@@ -460,19 +509,18 @@ + # + ################################################################# + +-clobber: ++clobber: clean + rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c + rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h +- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux +- rm -f *.o +- rm -rf small ++ sh RemoveProg $(PROGS) ++ rm -f libntl*.so* + rm -f cfileout mfileout + rm -rf .libs *.lo libntl.la + rm -f all + + clean: + sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux +- rm -f *.o ++ rm -f *.o *.lo + rm -rf small + @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR + +@@ -549,3 +597,10 @@ + + + ++sharedso: DIRNAME $(SHOBJ) ++ $(LINK_CXX) $(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_CXX) $(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-5.5.2-shared.patch b/dev-libs/ntl/files/ntl-5.5.2-shared.patch new file mode 100644 index 000000000000..1ddd74507cf5 --- /dev/null +++ b/dev-libs/ntl/files/ntl-5.5.2-shared.patch @@ -0,0 +1,166 @@ +--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100 ++++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100 +@@ -25,14 +25,16 @@ + 'LDFLAGS_CXX' => '$(LDFLAGS)', + 'LDLIBS' => '-lm', + 'LDLIBS_CXX' => '$(LDLIBS)', ++'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', +@@ -87,11 +89,6 @@ + + foreach $arg (@ARGV) { + +- if ($arg =~ '-h|help|-help|--help') { +- system("more ../doc/config.txt"); +- exit; +- } +- + if (($name, $val) = ($arg =~ /(.*?)=(.*)/)) { + + if (exists($MakeFlag{$name}) && ($val =~ 'on|off')) { + + + +--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100 ++++ src/mfile 2009-08-10 20:31:36.000000000 +0100 +@@ -141,6 +146,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} + + ################################################################# + # +@@ -173,6 +188,8 @@ + + OBJ=$(O19) + ++SHOBJ=$(subst .o,.lo,$(OBJ)) ++ + # library source files + + +@@ -320,7 +356,7 @@ + LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) + LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX) + +- ++.SUFFIXES: .lo + + # 'make all' does a complete make, including all setup. + # It also creates the file 'all', which means you should +@@ -328,11 +364,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,18 +414,31 @@ + lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h + $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c + ++lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h ++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_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 + + .c.o: + $(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $< + ++.c.lo: ++ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $< ++ ++ + .c: + @{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT + @{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR +@@ -403,7 +452,7 @@ + + check: + sh RemoveProg $(PROGS) +- make QuickTest ++ $(MAKE) QuickTest + ./QuickTest + sh RemoveProg QuickTest + sh TestScript +@@ -460,19 +509,18 @@ + # + ################################################################# + +-clobber: ++clobber: clean + rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c + rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h +- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux +- rm -f *.o +- rm -rf small ++ sh RemoveProg $(PROGS) ++ rm -f libntl*.so* + rm -f cfileout mfileout + rm -rf .libs *.lo libntl.la + rm -f all + + clean: + sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux +- rm -f *.o ++ rm -f *.o *.lo + rm -rf small + @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR + +@@ -549,3 +597,10 @@ + + + ++sharedso: DIRNAME $(SHOBJ) ++ $(LINK_CXX) $(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_CXX) $(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-5.5.2-singular.patch b/dev-libs/ntl/files/ntl-5.5.2-singular.patch new file mode 100644 index 000000000000..9f0d13140cee --- /dev/null +++ b/dev-libs/ntl/files/ntl-5.5.2-singular.patch @@ -0,0 +1,12 @@ +--- include/NTL/new.h.orig 2008-05-06 21:56:16.000000000 +1200 ++++ include/NTL/new.h 2008-05-06 21:56:33.000000000 +1200 +@@ -12,7 +12,8 @@ + + #include <new> + +-#define NTL_NEW_OP new (std::nothrow) ++// uncommenting std::nothrow makes this ntl work properly with Singular ++#define NTL_NEW_OP new //(std::nothrow) + + + #else diff --git a/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch b/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch new file mode 100644 index 000000000000..e79731fc2fce --- /dev/null +++ b/dev-libs/ntl/files/ntl-6.0.0-sage-tools.patch @@ -0,0 +1,61 @@ +--- src.orig/src/tools.c 2012-08-06 11:54:53.652334400 +0200 ++++ src/src/tools.c 2012-08-06 11:59:18.183993600 +0200 +@@ -18,8 +18,35 @@ + void (*ErrorCallback)() = 0; + + ++/* ++ The following code differs from vanilla NTL. ++ ++ We add a SetErrorCallbackFunction(). This sets a global callback function _function_, ++ which gets called with parameter _context_ and an error message string whenever Error() ++ gets called. ++ ++ Note that if the custom error handler *returns*, then NTL will dump the error message ++ back to stderr and abort() as it habitually does. ++ ++ -- David Harvey (2008-04-12) ++*/ ++ ++void (*ErrorCallbackFunction)(const char*, void*) = NULL; ++void *ErrorCallbackContext = NULL; ++ ++ ++void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context) ++{ ++ ErrorCallbackFunction = function; ++ ErrorCallbackContext = context; ++} ++ ++ + void Error(const char *s) + { ++ if (ErrorCallbackFunction != NULL) ++ ErrorCallbackFunction(s, ErrorCallbackContext); ++ + cerr << s << "\n"; + _ntl_abort(); + } +--- src.orig/include/NTL/tools.h 2012-08-06 11:54:52.830333000 +0200 ++++ src/include/NTL/tools.h 2012-08-06 11:59:18.143993600 +0200 +@@ -10,6 +10,7 @@ + + #include <cstdlib> + #include <cmath> ++#include <cstdio> + #include <iostream> + + #else +@@ -252,6 +253,12 @@ + char IntValToChar(long a); + + ++/* ++ This function is not present in vanilla NTL. ++ See tools.c for documentation. ++ */ ++void SetErrorCallbackFunction(void (*func)(const char *s, void *context), void *context); ++ + + void Error(const char *s); + diff --git a/dev-libs/ntl/files/ntl-6.0.0-singular.patch b/dev-libs/ntl/files/ntl-6.0.0-singular.patch new file mode 100644 index 000000000000..c172386f3102 --- /dev/null +++ b/dev-libs/ntl/files/ntl-6.0.0-singular.patch @@ -0,0 +1,12 @@ +--- 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 <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) + + + #else diff --git a/dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch new file mode 100644 index 000000000000..a586887e7647 --- /dev/null +++ b/dev-libs/ntl/files/ntl-8.1.2-sanitize-makefile.patch @@ -0,0 +1,158 @@ +diff -U 3 -dHrN ntl-8.1.2/src/DoConfig ntl-8.1.2-shared/src/DoConfig +--- ntl-8.1.2/src/DoConfig 2015-01-31 14:07:38.000000000 +0100 ++++ ntl-8.1.2-shared/src/DoConfig 2015-03-26 10:23:41.117816775 +0100 +@@ -21,14 +21,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 -U 3 -dHrN ntl-8.1.2/src/mfile ntl-8.1.2-shared/src/mfile +--- ntl-8.1.2/src/mfile 2015-01-31 14:07:38.000000000 +0100 ++++ ntl-8.1.2-shared/src/mfile 2015-03-26 10:56:50.277826975 +0100 +@@ -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 + + +@@ -313,6 +325,8 @@ + + LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) + ++.SUFFIXES: .lo ++ + + + # 'make all' does a complete make, including all setup. +@@ -321,11 +335,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 + + +@@ -369,21 +383,34 @@ + 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_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 ++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 + + .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 +@@ -397,7 +424,7 @@ + + check: + sh RemoveProg $(PROGS) +- make QuickTest ++ ${MAKE} QuickTest + ./QuickTest + sh RemoveProg QuickTest + sh TestScript +@@ -454,19 +481,18 @@ + # + ################################################################# + +-clobber: ++clobber: clean + rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c + 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 libntl*.so* + 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 + +@@ -551,4 +577,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-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/metadata.xml b/dev-libs/ntl/metadata.xml new file mode 100644 index 000000000000..480588cfc0a6 --- /dev/null +++ b/dev-libs/ntl/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci-mathematics</herd> +<herd>cpp</herd> +<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-5.5.2.ebuild b/dev-libs/ntl/ntl-5.5.2.ebuild new file mode 100644 index 000000000000..a25ddcf5969c --- /dev/null +++ b/dev-libs/ntl/ntl-5.5.2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=3 +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" +IUSE="doc static-libs test" + +RDEPEND=">=dev-libs/gmp-4.3 + >=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 .. + # enable compatibility with singular + epatch "$FILESDIR/${P}-singular.patch" + # implement a call back framework (submitted upstream) + epatch "$FILESDIR/${P}-sage-tools.patch" + # sanitize the makefile and allow the building of shared library + epatch "$FILESDIR/${P}-shared.patch" + replace-flags -O[3-9] -O2 +} + +src_configure() { + perl DoConfig \ + PREFIX="${EPREFIX}"/usr \ + CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ + AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ + NTL_STD_CXX=on NTL_GMP_LIP=on NTL_GF2X_LIB=on \ + || die "DoConfig failed" +} + +src_compile() { + # split the targets to allow parallel make to run properly + emake setup1 setup2 || die "emake setup failed" + emake setup3 || die "emake setup failed" + sh Wizard on || die "Tuning wizard failed" + if use static-libs || use test; then + emake ntl.a || die "emake static failed" + fi + local trg=so + [[ ${CHOST} == *-darwin* ]] && trg=dylib + emake shared${trg} || die "emake shared failed" +} + +src_install() { + if use static-libs; then + newlib.a ntl.a libntl.a || die "installation of static library failed" + fi + dolib.so lib*$(get_libname) || die "installation of shared library failed" + + cd .. + insinto /usr/include + doins -r include/NTL || die "installation of the headers failed" + + dodoc README + if use doc ; then + dodoc doc/*.txt || die + dohtml doc/* || die + fi +} diff --git a/dev-libs/ntl/ntl-6.0.0.ebuild b/dev-libs/ntl/ntl-6.0.0.ebuild new file mode 100644 index 000000000000..967eac65e54a --- /dev/null +++ b/dev-libs/ntl/ntl-6.0.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~x86-macos ~x64-macos" +IUSE="doc static-libs test" + +RDEPEND=" + dev-libs/gmp:0= + dev-libs/gf2x:0=" +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 .. + # enable compatibility with singular + # implement a call back framework (submitted upstream) + # sanitize the makefile and allow the building of shared library + epatch \ + "${FILESDIR}"/${PN}-6.0.0-singular.patch \ + "${FILESDIR}"/${PN}-6.0.0-sage-tools.patch \ + "${FILESDIR}"/${PN}-5.5.2-shared.patch + replace-flags -O[3-9] -O2 +} + +src_configure() { + perl DoConfig \ + PREFIX="${EPREFIX}"/usr \ + CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ + AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ + NTL_STD_CXX=on NTL_GMP_LIP=on NTL_GF2X_LIB=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 || use test; then + emake ntl.a + fi + local trg=so + [[ ${CHOST} == *-darwin* ]] && trg=dylib + emake shared${trg} +} + +src_install() { + dolib.so lib*$(get_libname) + use static-libs && newlib.a ntl.a libntl.a + + cd .. + insinto /usr/include + doins -r include/NTL + + dodoc README + if use doc ; then + dodoc doc/*.txt + dohtml doc/* + fi +} diff --git a/dev-libs/ntl/ntl-6.1.0.ebuild b/dev-libs/ntl/ntl-6.1.0.ebuild new file mode 100644 index 000000000000..dfaa592b2e3b --- /dev/null +++ b/dev-libs/ntl/ntl-6.1.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~x86-macos ~x64-macos" +IUSE="doc static-libs test" + +RDEPEND=">=dev-libs/gmp-4.3 + >=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 .. + # enable compatibility with singular + epatch "$FILESDIR/${PN}-6.0.0-singular.patch" + # implement a call back framework (submitted upstream) + epatch "$FILESDIR/${PN}-6.0.0-sage-tools.patch" + # sanitize the makefile and allow the building of shared library + epatch "$FILESDIR/${PN}-5.5.2-shared-r1.patch" + replace-flags -O[3-9] -O2 +} + +src_configure() { + perl DoConfig \ + PREFIX="${EPREFIX}"/usr \ + CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ + AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ + NTL_STD_CXX=on NTL_GMP_LIP=on NTL_GF2X_LIB=on \ + || die "DoConfig failed" +} + +src_compile() { + # split the targets to allow parallel make to run properly + emake setup1 setup2 || die "emake setup failed" + emake setup3 || die "emake setup failed" + sh Wizard on || die "Tuning wizard failed" + if use static-libs || use test; then + emake ntl.a || die "emake static failed" + fi + local trg=so + [[ ${CHOST} == *-darwin* ]] && trg=dylib + emake shared${trg} || die "emake shared failed" +} + +src_install() { + if use static-libs; then + newlib.a ntl.a libntl.a || die "installation of static library failed" + fi + dolib.so lib*$(get_libname) || die "installation of shared library failed" + + cd .. + insinto /usr/include + doins -r include/NTL || die "installation of the headers failed" + + dodoc README + if use doc ; then + dodoc doc/*.txt || die + dohtml doc/* || die + fi +} diff --git a/dev-libs/ntl/ntl-8.1.2.ebuild b/dev-libs/ntl/ntl-8.1.2.ebuild new file mode 100644 index 000000000000..b8d31490b64a --- /dev/null +++ b/dev-libs/ntl/ntl-8.1.2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~x86-macos ~x64-macos" +IUSE="doc static-libs test" + +RDEPEND=">=dev-libs/gmp-4.3 + >=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 .. + # enable compatibility with singular + epatch "$FILESDIR/${PN}-6.0.0-singular.patch" + # sanitize the makefile and allow the building of shared library + epatch "$FILESDIR/${PN}-8.1.2-sanitize-makefile.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 \ + || die "DoConfig failed" +} + +src_compile() { + # split the targets to allow parallel make to run properly + emake setup1 setup2 || die "emake setup failed" + emake setup3 || die "emake setup failed" + sh Wizard on || die "Tuning wizard failed" + if use static-libs || use test; then + emake ntl.a || die "emake static failed" + fi + local trg=so + [[ ${CHOST} == *-darwin* ]] && trg=dylib + emake shared${trg} || die "emake shared failed" +} + +src_install() { + if use static-libs; then + newlib.a ntl.a libntl.a || die "installation of static library failed" + fi + dolib.so lib*$(get_libname) || die "installation of shared library failed" + + cd .. + insinto /usr/include + doins -r include/NTL || die "installation of the headers failed" + + dodoc README + if use doc ; then + dodoc doc/*.txt || die + dohtml doc/* || die + fi +} diff --git a/dev-libs/ntl/ntl-9.0.2.ebuild b/dev-libs/ntl/ntl-9.0.2.ebuild new file mode 100644 index 000000000000..b8d31490b64a --- /dev/null +++ b/dev-libs/ntl/ntl-9.0.2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~x86-macos ~x64-macos" +IUSE="doc static-libs test" + +RDEPEND=">=dev-libs/gmp-4.3 + >=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 .. + # enable compatibility with singular + epatch "$FILESDIR/${PN}-6.0.0-singular.patch" + # sanitize the makefile and allow the building of shared library + epatch "$FILESDIR/${PN}-8.1.2-sanitize-makefile.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 \ + || die "DoConfig failed" +} + +src_compile() { + # split the targets to allow parallel make to run properly + emake setup1 setup2 || die "emake setup failed" + emake setup3 || die "emake setup failed" + sh Wizard on || die "Tuning wizard failed" + if use static-libs || use test; then + emake ntl.a || die "emake static failed" + fi + local trg=so + [[ ${CHOST} == *-darwin* ]] && trg=dylib + emake shared${trg} || die "emake shared failed" +} + +src_install() { + if use static-libs; then + newlib.a ntl.a libntl.a || die "installation of static library failed" + fi + dolib.so lib*$(get_libname) || die "installation of shared library failed" + + cd .. + insinto /usr/include + doins -r include/NTL || die "installation of the headers failed" + + dodoc README + if use doc ; then + dodoc doc/*.txt || die + dohtml doc/* || die + 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..93a744b9580f --- /dev/null +++ b/dev-libs/ntl/ntl-9.3.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~x86-macos ~x64-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 +} |