Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/ntl/, dev-libs/ntl/files/
Date: Sun, 20 Sep 2015 11:32:05
Message-Id: 1442748711.fbec1fd4628a54d93cb2fdb98b548c83ec7ea751.jlec@gentoo
1 commit: fbec1fd4628a54d93cb2fdb98b548c83ec7ea751
2 Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 20 11:31:02 2015 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 20 11:31:51 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbec1fd4
7
8 Revert "dev-libs/ntl: Clean old"
9
10 This reverts commit 532a9b6c9bdc1a4011d9733c679a5b67cd0fd5c1.
11
12 Version still required
13
14 dev-libs/ntl/Manifest | 1 +
15 dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch | 53 +++++++
16 dev-libs/ntl/files/ntl-5.5.2-shared.patch | 166 +++++++++++++++++++++
17 dev-libs/ntl/files/ntl-5.5.2-singular.patch | 12 ++
18 dev-libs/ntl/metadata.xml | 6 +-
19 .../ntl/{ntl-6.1.0.ebuild => ntl-5.5.2.ebuild} | 38 +++--
20 dev-libs/ntl/ntl-6.1.0.ebuild | 28 ++--
21 7 files changed, 266 insertions(+), 38 deletions(-)
22
23 diff --git a/dev-libs/ntl/Manifest b/dev-libs/ntl/Manifest
24 index a8c8131..bb34f48 100644
25 --- a/dev-libs/ntl/Manifest
26 +++ b/dev-libs/ntl/Manifest
27 @@ -1,2 +1,3 @@
28 +DIST ntl-5.5.2.tar.gz 707247 SHA256 ef7fe7c8b60ec6e05b2a279caad0081263f7fb68b7360120846644cde726ff56 SHA512 44892e00051ca743b1184c9ae30e62c8e2605edaa394358979ff990a535993a6f282d882871ca9ebb3c632971f806c41d9b8024c8fb2cc6fa0d22bc26c66db06 WHIRLPOOL 4587463c4b52be721a7feb164fab73341af97c6f451c0bb2fbf675503c8a5262a5d7615d628e97f082dde23ce49db0f0b314c625dae0526bb1abdfc88732896f
29 DIST ntl-6.1.0.tar.gz 715439 SHA256 e16c30ceef1d47e94b8a37a8c4a1fb58729b8f8449c648e2a96280a3eecf9b6f SHA512 8c013bd4a250c8e29d57864585492be1f392c84356959d8100d5c45b420e411e5cd677524e2d50bbe265dda4c364185395780ba5d8490f6ac46da73c6a9728de WHIRLPOOL cf2a48cfe33cb58d8bda35d4a18d57a20ae23f2ba53f0f757d1bacc58ffa0bfdfd38363db38996e2e4069f5e3f2ad6a3ae9a859437a93404308512652190c765
30 DIST ntl-9.3.0.tar.gz 888710 SHA256 8f31508a9176b3fc843f08468b1632017f2450677bfd5147ead5136e0f24b68f SHA512 dfb4ac7a66aaddcf5d0d0c9fcaff253b0196a9d9f727788127dd18e131528fe60dedf8bfb864503225fc5796987aec9c7019b74e0fc12cd12c20aa33a9cf9d7d WHIRLPOOL a1f7cf573d49a277f0b2f1d50d18e66ef83a54430c517fd5d3c75e800216b706e8b5ff10e6ed2dc02b6eb4f9290671b249c67f1937cced96ac987055aaa3ab99
31
32 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
33 new file mode 100644
34 index 0000000..fafa973
35 --- /dev/null
36 +++ b/dev-libs/ntl/files/ntl-5.5.2-sage-tools.patch
37 @@ -0,0 +1,53 @@
38 +--- include/NTL/tools.h.orig 2008-05-06 22:14:06.000000000 +1200
39 ++++ include/NTL/tools.h 2008-05-06 22:14:23.000000000 +1200
40 +@@ -249,6 +249,12 @@
41 + char IntValToChar(long a);
42 +
43 +
44 ++/*
45 ++ This function is not present in vanilla NTL
46 ++ See tools.c for documentation.
47 ++ */
48 ++void SetErrorCallbackFunction(void (*func)(const char *s, void *context), void *context);
49 ++
50 +
51 + void Error(const char *s);
52 +
53 +--- src/tools.c.orig 2008-05-06 22:15:32.000000000 +1200
54 ++++ src/tools.c 2008-05-06 22:15:45.000000000 +1200
55 +@@ -8,8 +8,35 @@
56 + NTL_START_IMPL
57 +
58 +
59 ++/*
60 ++ The following code differs from vanilla NTL
61 ++
62 ++ We add a SetErrorCallbackFunction(). This sets a global callback function _function_,
63 ++ which gets called with parameter _context_ and an error message string whenever Error()
64 ++ gets called.
65 ++
66 ++ Note that if the custom error handler *returns*, then NTL will dump the error message
67 ++ back to stderr and abort() as it habitually does.
68 ++
69 ++ -- David Harvey (2008-04-12)
70 ++*/
71 ++
72 ++void (*ErrorCallbackFunction)(const char*, void*) = NULL;
73 ++void *ErrorCallbackContext = NULL;
74 ++
75 ++
76 ++void SetErrorCallbackFunction(void (*function)(const char*, void*), void *context)
77 ++{
78 ++ ErrorCallbackFunction = function;
79 ++ ErrorCallbackContext = context;
80 ++}
81 ++
82 ++
83 + void Error(const char *s)
84 + {
85 ++ if (ErrorCallbackFunction != NULL)
86 ++ ErrorCallbackFunction(s, ErrorCallbackContext);
87 ++
88 + cerr << s << "\n";
89 + abort();
90 + }
91
92 diff --git a/dev-libs/ntl/files/ntl-5.5.2-shared.patch b/dev-libs/ntl/files/ntl-5.5.2-shared.patch
93 new file mode 100644
94 index 0000000..1ddd745
95 --- /dev/null
96 +++ b/dev-libs/ntl/files/ntl-5.5.2-shared.patch
97 @@ -0,0 +1,166 @@
98 +--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100
99 ++++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100
100 +@@ -25,14 +25,16 @@
101 + 'LDFLAGS_CXX' => '$(LDFLAGS)',
102 + 'LDLIBS' => '-lm',
103 + 'LDLIBS_CXX' => '$(LDLIBS)',
104 ++'PICFLAG' => '-fPIC',
105 + 'CPPFLAGS' => '',
106 +
107 +-'DEF_PREFIX' => '/usr/local',
108 ++'DEF_PREFIX' => '/usr',
109 +
110 + 'PREFIX' => '$(DEF_PREFIX)',
111 + 'LIBDIR' => '$(PREFIX)/lib',
112 + 'INCLUDEDIR' => '$(PREFIX)/include',
113 + 'DOCDIR' => '$(PREFIX)/share/doc',
114 ++'SHMAKE' => 'non-gld',
115 +
116 + 'GMP_PREFIX' => '$(DEF_PREFIX)',
117 + 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
118 +@@ -87,11 +89,6 @@
119 +
120 + foreach $arg (@ARGV) {
121 +
122 +- if ($arg =~ '-h|help|-help|--help') {
123 +- system("more ../doc/config.txt");
124 +- exit;
125 +- }
126 +-
127 + if (($name, $val) = ($arg =~ /(.*?)=(.*)/)) {
128 +
129 + if (exists($MakeFlag{$name}) && ($val =~ 'on|off')) {
130 +
131 +
132 +
133 +--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100
134 ++++ src/mfile 2009-08-10 20:31:36.000000000 +0100
135 +@@ -141,6 +146,16 @@
136 + WIZARD=@{WIZARD}
137 + # Set to off if you want to bypass the wizard; otherwise, set to on.
138 +
139 ++###############################################################
140 ++#
141 ++# New addition for shared library building. With gcc you need to
142 ++# choose the Position Indepent Code flag. You have a choice of
143 ++# -fpic better code but in rare case not available (ppc)
144 ++# -fPIC slightly slower code but guaranted to work anywhere.
145 ++#
146 ++###############################################################
147 ++
148 ++PICFLAG=@{PICFLAG}
149 +
150 + #################################################################
151 + #
152 +@@ -173,6 +188,8 @@
153 +
154 + OBJ=$(O19)
155 +
156 ++SHOBJ=$(subst .o,.lo,$(OBJ))
157 ++
158 + # library source files
159 +
160 +
161 +@@ -320,7 +356,7 @@
162 + LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
163 + LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX)
164 +
165 +-
166 ++.SUFFIXES: .lo
167 +
168 + # 'make all' does a complete make, including all setup.
169 + # It also creates the file 'all', which means you should
170 +@@ -328,11 +364,11 @@
171 + # again.
172 +
173 + all:
174 +- make setup1
175 +- make setup2
176 +- make setup3
177 +- make setup4
178 +- make ntl.a
179 ++ $(MAKE) setup1
180 ++ $(MAKE) setup2
181 ++ $(MAKE) setup3
182 ++ $(MAKE) setup4
183 ++ $(MAKE) ntl.a
184 + touch all
185 +
186 +
187 +@@ -378,18 +414,31 @@
188 + lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
189 + $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
190 +
191 ++lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
192 ++ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_INCDIR) lip.c -o lip.lo
193 ++
194 ++
195 ++
196 + ctools.o: ctools.c
197 + $(LCOMP) $(COMPILE) ctools.c
198 +
199 ++ctools.lo: ctools.c
200 ++ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
201 ++
202 +
203 + GetTime.o: GetTime.c
204 + $(LCOMP) $(COMPILE) GetTime.c
205 +
206 +-
207 ++GetTime.lo: GetTime.c
208 ++ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
209 +
210 + .c.o:
211 + $(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $<
212 +
213 ++.c.lo:
214 ++ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
215 ++
216 ++
217 + .c:
218 + @{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT
219 + @{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR
220 +@@ -403,7 +452,7 @@
221 +
222 + check:
223 + sh RemoveProg $(PROGS)
224 +- make QuickTest
225 ++ $(MAKE) QuickTest
226 + ./QuickTest
227 + sh RemoveProg QuickTest
228 + sh TestScript
229 +@@ -460,19 +509,18 @@
230 + #
231 + #################################################################
232 +
233 +-clobber:
234 ++clobber: clean
235 + rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c
236 + rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h
237 +- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
238 +- rm -f *.o
239 +- rm -rf small
240 ++ sh RemoveProg $(PROGS)
241 ++ rm -f libntl*.so*
242 + rm -f cfileout mfileout
243 + rm -rf .libs *.lo libntl.la
244 + rm -f all
245 +
246 + clean:
247 + sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
248 +- rm -f *.o
249 ++ rm -f *.o *.lo
250 + rm -rf small
251 + @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
252 +
253 +@@ -549,3 +597,10 @@
254 +
255 +
256 +
257 ++sharedso: DIRNAME $(SHOBJ)
258 ++ $(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)
259 ++ ln -s lib`cat DIRNAME`.so libntl.so
260 ++
261 ++shareddylib: DIRNAME $(SHOBJ)
262 ++ $(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)
263 ++ ln -s lib`cat DIRNAME`.dylib libntl.dylib
264
265 diff --git a/dev-libs/ntl/files/ntl-5.5.2-singular.patch b/dev-libs/ntl/files/ntl-5.5.2-singular.patch
266 new file mode 100644
267 index 0000000..9f0d131
268 --- /dev/null
269 +++ b/dev-libs/ntl/files/ntl-5.5.2-singular.patch
270 @@ -0,0 +1,12 @@
271 +--- include/NTL/new.h.orig 2008-05-06 21:56:16.000000000 +1200
272 ++++ include/NTL/new.h 2008-05-06 21:56:33.000000000 +1200
273 +@@ -12,7 +12,8 @@
274 +
275 + #include <new>
276 +
277 +-#define NTL_NEW_OP new (std::nothrow)
278 ++// uncommenting std::nothrow makes this ntl work properly with Singular
279 ++#define NTL_NEW_OP new //(std::nothrow)
280 +
281 +
282 + #else
283
284 diff --git a/dev-libs/ntl/metadata.xml b/dev-libs/ntl/metadata.xml
285 index b3a0b3a..480588c 100644
286 --- a/dev-libs/ntl/metadata.xml
287 +++ b/dev-libs/ntl/metadata.xml
288 @@ -1,9 +1,9 @@
289 <?xml version="1.0" encoding="UTF-8"?>
290 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
291 <pkgmetadata>
292 - <herd>sci-mathematics</herd>
293 - <herd>cpp</herd>
294 - <longdescription lang="en">
295 +<herd>sci-mathematics</herd>
296 +<herd>cpp</herd>
297 +<longdescription lang="en">
298 NTL is a high-performance, portable C++ library providing data
299 structures and algorithms for manipulating signed, arbitrary length
300 integers, and for vectors, matrices, and polynomials over the
301
302 diff --git a/dev-libs/ntl/ntl-6.1.0.ebuild b/dev-libs/ntl/ntl-5.5.2.ebuild
303 similarity index 64%
304 copy from dev-libs/ntl/ntl-6.1.0.ebuild
305 copy to dev-libs/ntl/ntl-5.5.2.ebuild
306 index 09dfcc9..a25ddcf 100644
307 --- a/dev-libs/ntl/ntl-6.1.0.ebuild
308 +++ b/dev-libs/ntl/ntl-5.5.2.ebuild
309 @@ -1,9 +1,8 @@
310 -# Copyright 1999-2015 Gentoo Foundation
311 +# Copyright 1999-2011 Gentoo Foundation
312 # Distributed under the terms of the GNU General Public License v2
313 # $Id$
314
315 -EAPI=5
316 -
317 +EAPI=3
318 inherit toolchain-funcs eutils multilib flag-o-matic
319
320 DESCRIPTION="High-performance and portable Number Theory C++ library"
321 @@ -12,11 +11,10 @@ SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
322
323 LICENSE="GPL-2"
324 SLOT="0"
325 -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
326 +KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
327 IUSE="doc static-libs test"
328
329 -RDEPEND="
330 - >=dev-libs/gmp-4.3:0=
331 +RDEPEND=">=dev-libs/gmp-4.3
332 >=dev-libs/gf2x-0.9"
333 DEPEND="${RDEPEND}
334 dev-lang/perl"
335 @@ -26,13 +24,13 @@ S="${WORKDIR}/${P}/src"
336 src_prepare() {
337 # fix parallel make
338 sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
339 - cd .. || die
340 + cd ..
341 # enable compatibility with singular
342 - epatch "$FILESDIR/${PN}-6.0.0-singular.patch"
343 + epatch "$FILESDIR/${P}-singular.patch"
344 # implement a call back framework (submitted upstream)
345 - epatch "$FILESDIR/${PN}-6.0.0-sage-tools.patch"
346 + epatch "$FILESDIR/${P}-sage-tools.patch"
347 # sanitize the makefile and allow the building of shared library
348 - epatch "$FILESDIR/${PN}-5.5.2-shared-r1.patch"
349 + epatch "$FILESDIR/${P}-shared.patch"
350 replace-flags -O[3-9] -O2
351 }
352
353 @@ -48,30 +46,30 @@ src_configure() {
354
355 src_compile() {
356 # split the targets to allow parallel make to run properly
357 - emake setup1 setup2
358 - emake setup3
359 + emake setup1 setup2 || die "emake setup failed"
360 + emake setup3 || die "emake setup failed"
361 sh Wizard on || die "Tuning wizard failed"
362 if use static-libs || use test; then
363 - emake ntl.a
364 + emake ntl.a || die "emake static failed"
365 fi
366 local trg=so
367 [[ ${CHOST} == *-darwin* ]] && trg=dylib
368 - emake shared${trg}
369 + emake shared${trg} || die "emake shared failed"
370 }
371
372 src_install() {
373 if use static-libs; then
374 - newlib.a ntl.a libntl.a
375 + newlib.a ntl.a libntl.a || die "installation of static library failed"
376 fi
377 - dolib.so lib*$(get_libname)
378 + dolib.so lib*$(get_libname) || die "installation of shared library failed"
379
380 - cd .. || die
381 + cd ..
382 insinto /usr/include
383 - doins -r include/NTL
384 + doins -r include/NTL || die "installation of the headers failed"
385
386 dodoc README
387 if use doc ; then
388 - dodoc doc/*.txt
389 - dohtml doc/*
390 + dodoc doc/*.txt || die
391 + dohtml doc/* || die
392 fi
393 }
394
395 diff --git a/dev-libs/ntl/ntl-6.1.0.ebuild b/dev-libs/ntl/ntl-6.1.0.ebuild
396 index 09dfcc9..dfaa592 100644
397 --- a/dev-libs/ntl/ntl-6.1.0.ebuild
398 +++ b/dev-libs/ntl/ntl-6.1.0.ebuild
399 @@ -1,9 +1,8 @@
400 -# Copyright 1999-2015 Gentoo Foundation
401 +# Copyright 1999-2014 Gentoo Foundation
402 # Distributed under the terms of the GNU General Public License v2
403 # $Id$
404
405 EAPI=5
406 -
407 inherit toolchain-funcs eutils multilib flag-o-matic
408
409 DESCRIPTION="High-performance and portable Number Theory C++ library"
410 @@ -15,8 +14,7 @@ SLOT="0"
411 KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
412 IUSE="doc static-libs test"
413
414 -RDEPEND="
415 - >=dev-libs/gmp-4.3:0=
416 +RDEPEND=">=dev-libs/gmp-4.3
417 >=dev-libs/gf2x-0.9"
418 DEPEND="${RDEPEND}
419 dev-lang/perl"
420 @@ -26,7 +24,7 @@ S="${WORKDIR}/${P}/src"
421 src_prepare() {
422 # fix parallel make
423 sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
424 - cd .. || die
425 + cd ..
426 # enable compatibility with singular
427 epatch "$FILESDIR/${PN}-6.0.0-singular.patch"
428 # implement a call back framework (submitted upstream)
429 @@ -48,30 +46,30 @@ src_configure() {
430
431 src_compile() {
432 # split the targets to allow parallel make to run properly
433 - emake setup1 setup2
434 - emake setup3
435 + emake setup1 setup2 || die "emake setup failed"
436 + emake setup3 || die "emake setup failed"
437 sh Wizard on || die "Tuning wizard failed"
438 if use static-libs || use test; then
439 - emake ntl.a
440 + emake ntl.a || die "emake static failed"
441 fi
442 local trg=so
443 [[ ${CHOST} == *-darwin* ]] && trg=dylib
444 - emake shared${trg}
445 + emake shared${trg} || die "emake shared failed"
446 }
447
448 src_install() {
449 if use static-libs; then
450 - newlib.a ntl.a libntl.a
451 + newlib.a ntl.a libntl.a || die "installation of static library failed"
452 fi
453 - dolib.so lib*$(get_libname)
454 + dolib.so lib*$(get_libname) || die "installation of shared library failed"
455
456 - cd .. || die
457 + cd ..
458 insinto /usr/include
459 - doins -r include/NTL
460 + doins -r include/NTL || die "installation of the headers failed"
461
462 dodoc README
463 if use doc ; then
464 - dodoc doc/*.txt
465 - dohtml doc/*
466 + dodoc doc/*.txt || die
467 + dohtml doc/* || die
468 fi
469 }