mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 00:28:09 -07:00
Revert "dev-libs/ntl: Clean old"
This reverts commit 532a9b6c9b.
Version still required
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
DIST ntl-5.5.2.tar.gz 707247 SHA256 ef7fe7c8b60ec6e05b2a279caad0081263f7fb68b7360120846644cde726ff56 SHA512 44892e00051ca743b1184c9ae30e62c8e2605edaa394358979ff990a535993a6f282d882871ca9ebb3c632971f806c41d9b8024c8fb2cc6fa0d22bc26c66db06 WHIRLPOOL 4587463c4b52be721a7feb164fab73341af97c6f451c0bb2fbf675503c8a5262a5d7615d628e97f082dde23ce49db0f0b314c625dae0526bb1abdfc88732896f
|
||||
DIST ntl-6.1.0.tar.gz 715439 SHA256 e16c30ceef1d47e94b8a37a8c4a1fb58729b8f8449c648e2a96280a3eecf9b6f SHA512 8c013bd4a250c8e29d57864585492be1f392c84356959d8100d5c45b420e411e5cd677524e2d50bbe265dda4c364185395780ba5d8490f6ac46da73c6a9728de WHIRLPOOL cf2a48cfe33cb58d8bda35d4a18d57a20ae23f2ba53f0f757d1bacc58ffa0bfdfd38363db38996e2e4069f5e3f2ad6a3ae9a859437a93404308512652190c765
|
||||
DIST ntl-9.3.0.tar.gz 888710 SHA256 8f31508a9176b3fc843f08468b1632017f2450677bfd5147ead5136e0f24b68f SHA512 dfb4ac7a66aaddcf5d0d0c9fcaff253b0196a9d9f727788127dd18e131528fe60dedf8bfb864503225fc5796987aec9c7019b74e0fc12cd12c20aa33a9cf9d7d WHIRLPOOL a1f7cf573d49a277f0b2f1d50d18e66ef83a54430c517fd5d3c75e800216b706e8b5ff10e6ed2dc02b6eb4f9290671b249c67f1937cced96ac987055aaa3ab99
|
||||
|
||||
53
dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch
Normal file
53
dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch
Normal file
@@ -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();
|
||||
}
|
||||
166
dev-libs/ntl/files/ntl-5.5.2-shared.patch
Normal file
166
dev-libs/ntl/files/ntl-5.5.2-shared.patch
Normal file
@@ -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
|
||||
12
dev-libs/ntl/files/ntl-5.5.2-singular.patch
Normal file
12
dev-libs/ntl/files/ntl-5.5.2-singular.patch
Normal file
@@ -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
|
||||
@@ -1,9 +1,9 @@
|
||||
<?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">
|
||||
<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
|
||||
|
||||
75
dev-libs/ntl/ntl-5.5.2.ebuild
Normal file
75
dev-libs/ntl/ntl-5.5.2.ebuild
Normal file
@@ -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
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# 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"
|
||||
@@ -15,8 +14,7 @@ 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:0=
|
||||
RDEPEND=">=dev-libs/gmp-4.3
|
||||
>=dev-libs/gf2x-0.9"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/perl"
|
||||
@@ -26,7 +24,7 @@ S="${WORKDIR}/${P}/src"
|
||||
src_prepare() {
|
||||
# fix parallel make
|
||||
sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
|
||||
cd .. || die
|
||||
cd ..
|
||||
# enable compatibility with singular
|
||||
epatch "$FILESDIR/${PN}-6.0.0-singular.patch"
|
||||
# implement a call back framework (submitted upstream)
|
||||
@@ -48,30 +46,30 @@ src_configure() {
|
||||
|
||||
src_compile() {
|
||||
# split the targets to allow parallel make to run properly
|
||||
emake setup1 setup2
|
||||
emake setup3
|
||||
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
|
||||
emake ntl.a || die "emake static failed"
|
||||
fi
|
||||
local trg=so
|
||||
[[ ${CHOST} == *-darwin* ]] && trg=dylib
|
||||
emake shared${trg}
|
||||
emake shared${trg} || die "emake shared failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use static-libs; then
|
||||
newlib.a ntl.a libntl.a
|
||||
newlib.a ntl.a libntl.a || die "installation of static library failed"
|
||||
fi
|
||||
dolib.so lib*$(get_libname)
|
||||
dolib.so lib*$(get_libname) || die "installation of shared library failed"
|
||||
|
||||
cd .. || die
|
||||
cd ..
|
||||
insinto /usr/include
|
||||
doins -r include/NTL
|
||||
doins -r include/NTL || die "installation of the headers failed"
|
||||
|
||||
dodoc README
|
||||
if use doc ; then
|
||||
dodoc doc/*.txt
|
||||
dohtml doc/*
|
||||
dodoc doc/*.txt || die
|
||||
dohtml doc/* || die
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user