Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-biology/vaal/, sci-biology/vaal/files/
Date: Sun, 27 Dec 2015 16:34:46
Message-Id: 1451220575.a23a7df736f724ce516b19ce5648ae58be6b301b.jlec@gentoo
1 commit: a23a7df736f724ce516b19ce5648ae58be6b301b
2 Author: Ted Tanberry <ted.tanberry <AT> gmail <DOT> com>
3 AuthorDate: Sun Dec 27 12:49:35 2015 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 27 12:49:35 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a23a7df7
7
8 sci-biology/vaal: Gentoo-Bug: 568438, fix global namespace std:: clash.
9
10 Package-Manager: portage-2.2.26
11
12 .../files/vaal-46233_remove-namespace-std.patch | 911 +++++++++++++++++++++
13 sci-biology/vaal/vaal-46233-r1.ebuild | 42 +
14 2 files changed, 953 insertions(+)
15
16 diff --git a/sci-biology/vaal/files/vaal-46233_remove-namespace-std.patch b/sci-biology/vaal/files/vaal-46233_remove-namespace-std.patch
17 new file mode 100644
18 index 0000000..c3c3ec0
19 --- /dev/null
20 +++ b/sci-biology/vaal/files/vaal-46233_remove-namespace-std.patch
21 @@ -0,0 +1,911 @@
22 +Remove 'using namespace std' causing massive havoc with newly
23 +introduced std::align in GCC-5. Fix bug
24 +https://bugs.gentoo.org/show_bug.cgi?id=568438
25 +
26 +--- vaal-46233/src/efasta/EfastaTools.cc
27 ++++ vaal-46233/src/efasta/EfastaTools.cc
28 +@@ -18,6 +18,8 @@
29 + #include "math/Functions.h"
30 + #include "math/Array.h"
31 +
32 ++using std::set;
33 ++
34 + #define Err(message) \
35 + { cout << message << endl << "\nInvalid.\n" << endl; \
36 + TracebackThisProcess( ); }
37 +--- vaal-46233/src/Equiv.cc
38 ++++ vaal-46233/src/Equiv.cc
39 +@@ -9,6 +9,8 @@
40 + #include "Equiv.h"
41 + #include "Vec.h"
42 +
43 ++using std::swap;
44 ++
45 + bool equivalence_relation::equiv(int a, int b) const
46 + { if ( a == b ) return true;
47 + int c = a;
48 +--- vaal-46233/src/FastaFilestream.cc
49 ++++ vaal-46233/src/FastaFilestream.cc
50 +@@ -13,6 +13,8 @@
51 +
52 + #include <strstream>
53 +
54 ++using std::string;
55 ++
56 + template <typename vecT, typename seqT, typename convT, typename verifT>
57 + FastaFilestream<vecT,seqT,convT,verifT>::FastaFilestream( const String& filename,
58 + FastaNameParser* name_parser )
59 +--- vaal-46233/src/FastaFilestreamPreview.cc
60 ++++ vaal-46233/src/FastaFilestreamPreview.cc
61 +@@ -11,6 +11,8 @@
62 +
63 + #include <algorithm>
64 +
65 ++using std::streamoff;
66 ++
67 + FastaFilestreamPreview::FastaFilestreamPreview(istream& filestream)
68 + : max_sequence_size_(0), start_offset_(0)
69 + {
70 +--- vaal-46233/src/FastaFilestreamPreview.h
71 ++++ vaal-46233/src/FastaFilestreamPreview.h
72 +@@ -12,6 +12,8 @@
73 +
74 + #include "Vec.h"
75 +
76 ++using std::streampos;
77 ++
78 + // FastaFilestreamPreview understands just enough about the fasta
79 + // format to be able to count the number of sequences in the specified
80 + // filestream and to know where each sequence starts in that filestream.
81 +--- vaal-46233/src/Fastavector.cc
82 ++++ vaal-46233/src/Fastavector.cc
83 +@@ -14,6 +14,8 @@
84 + #include <istream>
85 + #include <string>
86 +
87 ++using std::max;
88 ++
89 + // Split this into chunks, separated by gaps ('n'), and return each chunk as a
90 + // gapless fastavector.
91 + // TODO: generalize this into a templatized STL algorithm.
92 +--- vaal-46233/src/Fastavector.h
93 ++++ vaal-46233/src/Fastavector.h
94 +@@ -24,6 +24,9 @@
95 + #include <iostream>
96 + #include <unistd.h>
97 +
98 ++using std::string;
99 ++using std::istringstream;
100 ++
101 + typedef std::tuple<String, int, int> FastaRegion;
102 +
103 + class fastaindex {
104 +--- vaal-46233/src/FetchReads.cc
105 ++++ vaal-46233/src/FetchReads.cc
106 +@@ -36,6 +36,8 @@
107 + #include "Qualvector.h"
108 + #include "random/Random.h"
109 +
110 ++using std::istringstream;
111 ++
112 + // Heuristic constants:
113 +
114 + namespace
115 +--- vaal-46233/src/feudal/BaseVec.cc
116 ++++ vaal-46233/src/feudal/BaseVec.cc
117 +@@ -21,6 +21,7 @@
118 + using std::ostream;
119 + using std::cout;
120 + using std::endl;
121 ++using std::max_element;
122 +
123 + // Cap: in a given basevector, replace any sequence of N > n identical
124 + // bases by n of the same base.
125 +--- vaal-46233/src/graph/Digraph.cc
126 ++++ vaal-46233/src/graph/Digraph.cc
127 +@@ -16,6 +16,8 @@
128 + #include "graph/Digraph.h"
129 + #include "math/Functions.h"
130 +
131 ++using std::make_pair;
132 ++
133 + Bool digraph::HasEdge( int v, int w ) const {
134 + return find( from_[v].begin(), from_[v].end(), w ) != from_[v].end();
135 + }
136 +--- vaal-46233/src/graph/DigraphTemplate.h
137 ++++ vaal-46233/src/graph/DigraphTemplate.h
138 +@@ -34,6 +34,8 @@
139 + #include "graph/Digraph.h"
140 + #include <cstddef>
141 +
142 ++using std::make_pair;
143 ++
144 + template<class E> vec<int> digraphE<E>::EdgesConnectedTo( const vec<int>& v ) const
145 + { vec<int> G = VerticesConnectedTo(v), e;
146 + for ( int x = 0; x < G.isize( ); x++ )
147 +--- vaal-46233/src/IndexedAlignmentPlusVector.cc
148 ++++ vaal-46233/src/IndexedAlignmentPlusVector.cc
149 +@@ -9,6 +9,8 @@
150 + #include "IndexedAlignmentPlusVector.h"
151 + #include "VecAlignmentPlus.h"
152 +
153 ++using std::streamoff;
154 ++
155 + // These strings are at the head of the vector and index files for verification purposes.
156 +
157 + const String VecAlignmentPlusHeaderIO::mStrVectorHeader( "alignment_plus vector V.2\n" );
158 +--- vaal-46233/src/IndexedAlignmentPlusVector.h
159 ++++ vaal-46233/src/IndexedAlignmentPlusVector.h
160 +@@ -15,6 +15,7 @@
161 +
162 + #include "Alignment.h"
163 +
164 ++using std::streampos;
165 +
166 + // This class encapsulates the header information for both vectors and indices.
167 +
168 +--- vaal-46233/src/kmers/kmer_parcels/KmerParcelsBuilder.cc
169 ++++ vaal-46233/src/kmers/kmer_parcels/KmerParcelsBuilder.cc
170 +@@ -10,6 +10,7 @@
171 + #include "kmers/KmerParcels.h"
172 + #include "system/WorklistN.h"
173 +
174 ++using std::fixed;
175 +
176 + inline String Tag(String S = "KPs") { return Date() + " (" + S + "): "; }
177 +
178 +--- vaal-46233/src/kmers/kmer_parcels/KmerParcelsClasses.h
179 ++++ vaal-46233/src/kmers/kmer_parcels/KmerParcelsClasses.h
180 +@@ -6,6 +6,9 @@
181 + // Institute is not responsible for its use, misuse, or functionality. //
182 + ///////////////////////////////////////////////////////////////////////////////
183 +
184 ++using std::hex;
185 ++using std::dec;
186 ++
187 + // ---------------------------------
188 + // NaifTimer
189 + // ---------------------------------
190 +--- vaal-46233/src/kmers/kmer_parcels/KmerParcelsStatistics.h
191 ++++ vaal-46233/src/kmers/kmer_parcels/KmerParcelsStatistics.h
192 +@@ -10,7 +10,7 @@
193 + #ifndef KMERS__KMER_PARCELS__KMER_PARCELS_STATISTICS_H
194 + #define KMERS__KMER_PARCELS__KMER_PARCELS_STATISTICS_H
195 +
196 +-
197 ++using std::map;
198 +
199 + // --------------------------------------
200 + // MapOfCounters
201 +--- vaal-46233/src/layout/ContigActualloc.h
202 ++++ vaal-46233/src/layout/ContigActualloc.h
203 +@@ -17,6 +17,8 @@
204 + #include "system/Crash.h"
205 + #include "Misc.h"
206 +
207 ++using std::set;
208 ++using std::map;
209 +
210 + //
211 + // Class contig_actualloc
212 +--- vaal-46233/src/lookup/ImperfectLookup.h
213 ++++ vaal-46233/src/lookup/ImperfectLookup.h
214 +@@ -52,6 +52,8 @@
215 + #include "lookup/AlignCollector.h"
216 + #include "solid/Solid.h"
217 +
218 ++using std::unique_ptr;
219 ++
220 + class TaskTimer;
221 +
222 +
223 +@@ -534,7 +536,7 @@
224 + aligns.resize( nqueries );
225 + }
226 +
227 +- auto_ptr<TaskTimer> t1, t2;
228 ++ unique_ptr<TaskTimer> t1, t2;
229 +
230 + if ( m_instr_level & IO_TIMER != 0 ) t1.reset( new TaskTimer() );
231 + if ( m_instr_level & CPU_TIMER != 0 ) t2.reset( new TaskTimer() );
232 +--- vaal-46233/src/lookup/LookAlign.cc
233 ++++ vaal-46233/src/lookup/LookAlign.cc
234 +@@ -29,6 +29,8 @@
235 + #include "random/Random.h"
236 + #include "system/ParsedArgs.h"
237 +
238 ++using std::istrstream;
239 ++
240 + String QUERY("QUERY");
241 +
242 + void look_align::ResetFromAlign(const align & al, const basevector & b1,
243 +--- vaal-46233/src/lookup/LookAlignFinder.h
244 ++++ vaal-46233/src/lookup/LookAlignFinder.h
245 +@@ -12,6 +12,8 @@
246 + #include "lookup/LookAlign.h"
247 + #include "Vec.h"
248 +
249 ++using std::set;
250 ++
251 + /**
252 + Class: LookAlignFinder
253 +
254 +--- vaal-46233/src/lookup/LookAlignSort.h
255 ++++ vaal-46233/src/lookup/LookAlignSort.h
256 +@@ -15,6 +15,8 @@
257 +
258 + #include <functional>
259 +
260 ++using std::set;
261 ++
262 + /// Read in look_aligns from file, sort, and load into vecs
263 + /// \param fname name of look_align text file
264 + /// \param aligns vector into which to put the alignments
265 +--- vaal-46233/src/lookup/LookupTable.h
266 ++++ vaal-46233/src/lookup/LookupTable.h
267 +@@ -18,6 +18,8 @@
268 +
269 + #include <set>
270 +
271 ++using std::set;
272 ++
273 + typedef pair<unsigned int, unsigned int> LocSeq;
274 +
275 + ///
276 +--- vaal-46233/src/lookup/QueryLookupTableCore.cc
277 ++++ vaal-46233/src/lookup/QueryLookupTableCore.cc
278 +@@ -456,6 +456,9 @@
279 + #include "system/ParsedArgs.h"
280 + #include "system/file/FileReader.h"
281 +
282 ++using std::istrstream;
283 ++using std::less_equal;
284 ++
285 + #define ABORT(MSG) \
286 + { out << MSG << " Abort." << endl << endl; \
287 + exit(1); }
288 +--- vaal-46233/src/lookup/ShortQueryLookup.cc
289 ++++ vaal-46233/src/lookup/ShortQueryLookup.cc
290 +@@ -32,6 +32,8 @@
291 + #include "lookup/AlignCollector.h"
292 + #include "lookup/ImperfectLookup.h"
293 +
294 ++using std::ios_base;
295 ++
296 + // Run an alignment processing chain: seqs -> look -> receiver -> aligns
297 + // That is, look turns seqs into hits, which receiver accepts
298 + // and turns into alignments which are passed to aligns. The
299 +--- vaal-46233/src/Map.h
300 ++++ vaal-46233/src/Map.h
301 +@@ -21,7 +21,7 @@
302 + #include <map>
303 + #include <ext/hash_map>
304 + using namespace __gnu_cxx;
305 +-
306 ++using std::map;
307 +
308 + ///Return true if k is a key in map m
309 + template<class Key, class Value, typename Cmp>
310 +--- vaal-46233/src/math/Array.h
311 ++++ vaal-46233/src/math/Array.h
312 +@@ -12,6 +12,9 @@
313 + #include "CoreTools.h"
314 + #include "Vec.h"
315 +
316 ++using std::map;
317 ++using std::fill;
318 ++
319 + // ==============================================================================
320 + // A fixed-size simple c-style 2D array that allocates faster than vec< vec<T> >
321 + // The elements are uninitialized.
322 +--- vaal-46233/src/math/Functions.cc
323 ++++ vaal-46233/src/math/Functions.cc
324 +@@ -10,8 +10,8 @@
325 + #include "STLExtensions.h"
326 + #include "math/Functions.h"
327 +
328 +-
329 +-
330 ++using std::isfinite;
331 ++using std::make_pair;
332 +
333 + /* CombineNormalDistribution Filipe Ribeiro 2009-06-22
334 + *
335 +--- vaal-46233/src/math/Functions.h
336 ++++ vaal-46233/src/math/Functions.h
337 +@@ -14,6 +14,10 @@
338 + #include <cmath>
339 + #include <numeric>
340 +
341 ++using std::min;
342 ++using std::cerr;
343 ++using std::swap;
344 ++
345 + // ===========================================================================
346 + //
347 + // Min functions
348 +--- vaal-46233/src/math/HoInterval.cc
349 ++++ vaal-46233/src/math/HoInterval.cc
350 +@@ -10,6 +10,8 @@
351 + #include "math/HoInterval.h"
352 + #include "STLExtensions.h"
353 +
354 ++using std::make_pair;
355 ++
356 + bool ho_interval::Merge(const ho_interval & o) {
357 + if (!Meets(*this,o)) return false;
358 + *this = Span(*this, o);
359 +--- vaal-46233/src/math/HoInterval.h
360 ++++ vaal-46233/src/math/HoInterval.h
361 +@@ -14,6 +14,8 @@
362 + #include "feudal/MasterVec.h"
363 + #include "feudal/SerfVec.h"
364 +
365 ++using std::max;
366 ++
367 + /// Class: ho_interval
368 + /// A half-open interval [a, b).
369 + class ho_interval {
370 +--- vaal-46233/src/PackAlign.h
371 ++++ vaal-46233/src/PackAlign.h
372 +@@ -133,6 +133,8 @@
373 + #include "pairwise_aligners/Mutmer.h"
374 + #include "feudal/BinaryStream.h"
375 +
376 ++using std::make_pair;
377 ++
378 + const int Bits2 = 3, Bits3 = 7, Bits4 = 15, Bits10 = 1023, Bits12 = 4095,
379 + Bits16 = 65535;
380 +
381 +--- vaal-46233/src/pairwise_aligners/MakeAlignsMethod.cc
382 ++++ vaal-46233/src/pairwise_aligners/MakeAlignsMethod.cc
383 +@@ -19,6 +19,9 @@
384 + #include "pairwise_aligners/AlignFromMutmers.h"
385 + #include "pairwise_aligners/SmithWatBandedA.h"
386 +
387 ++using std::map;
388 ++using std::set;
389 ++
390 + // If there's a perfect match of length at least perf but we produced no proper
391 + // alignment, use banded Smith-Waterman to create one.
392 +
393 +--- vaal-46233/src/pairwise_aligners/MatchList.cc
394 ++++ vaal-46233/src/pairwise_aligners/MatchList.cc
395 +@@ -9,6 +9,8 @@
396 +
397 + #include "pairwise_aligners/MatchList.h"
398 +
399 ++using std::max;
400 ++
401 + bool MatchList::FindMatchInSorted( const int id1, const Match& newMatch ) const
402 + {
403 + const vec<Match>& sortedMatches = m_sortedMatches[id1];
404 +--- vaal-46233/src/pairwise_aligners/SuffixTree.h
405 ++++ vaal-46233/src/pairwise_aligners/SuffixTree.h
406 +@@ -23,6 +23,8 @@
407 + #include <list>
408 + #include <string>
409 +
410 ++using std::list;
411 ++
412 + /**
413 + * Implementation of a suffix tree for basevectors.
414 + * This is a data structure for exact (sub)string matching.
415 +--- vaal-46233/src/paths/AlignHyperKmerPath.cc
416 ++++ vaal-46233/src/paths/AlignHyperKmerPath.cc
417 +@@ -23,6 +23,9 @@
418 + #include "paths/KmerBaseBroker.h"
419 + #include "paths/KmerPath.h"
420 +
421 ++using std::ostringstream;
422 ++using std::set;
423 ++
424 + // Function: AlignHyperKmerPath
425 + //
426 + // AlignHyperKmerPath takes a HyperKmerPath h, whose KmerPath edges are assumed
427 +--- vaal-46233/src/paths/AlignSeqsToHyper.cc
428 ++++ vaal-46233/src/paths/AlignSeqsToHyper.cc
429 +@@ -26,6 +26,7 @@
430 + #include "paths/ReadsToPathsCoreX.h"
431 + #include "paths/SeqOnHyper.h"
432 +
433 ++using std::multimap;
434 +
435 + // Local class: simple_align
436 + //
437 +--- vaal-46233/src/paths/HyperKmerPath.cc
438 ++++ vaal-46233/src/paths/HyperKmerPath.cc
439 +@@ -19,6 +19,8 @@
440 + #include "paths/HyperKmerPath.h"
441 + #include "paths/KmerBaseBroker.h"
442 +
443 ++using std::ostrstream;
444 ++using std::ends;
445 +
446 + void HyperKmerPath::ReduceLoops( )
447 + { for ( int v = 0; v < N( ); v++ )
448 +--- vaal-46233/src/paths/KmerBaseBroker.h
449 ++++ vaal-46233/src/paths/KmerBaseBroker.h
450 +@@ -20,6 +20,8 @@
451 + #include <algorithm> // for set_union
452 + #include <map>
453 +
454 ++using std::map;
455 ++
456 + /**
457 + Class: KmerBaseBrokerTemplate
458 +
459 +--- vaal-46233/src/paths/KmerPath.h
460 ++++ vaal-46233/src/paths/KmerPath.h
461 +@@ -22,6 +22,8 @@
462 + #include "HashSimple.h"
463 + #include "graph/Digraph.h"
464 +
465 ++using std::make_pair;
466 ++
467 + class KmerPathLoc; // forward declaration
468 +
469 + /**
470 +--- vaal-46233/src/paths/KmerPathInterval.h
471 ++++ vaal-46233/src/paths/KmerPathInterval.h
472 +@@ -8,6 +8,8 @@
473 + #include "CommonSemanticTypes.h"
474 + #include "feudal/BinaryStreamTraits.h"
475 +
476 ++using std::max;
477 ++
478 + // Portability note: endianness
479 + // The implementations here would need to be changed for big endian architectures.
480 +
481 +@@ -285,6 +287,12 @@
482 + Models <tagged read path interval>.
483 + */
484 + // TODO: potentially dangerous truncation of index by PathId, ReadId
485 ++template<class TAG>
486 ++void Contains( const vec<TAG>& segs, kmer_id_t index, vec<longlong>& answer, bool append = false, int cap = -1 );
487 ++
488 ++template<class TAG>
489 ++void Contains( const vec<TAG>& segs, KmerPathInterval rpi, vec<longlong>& answer, bool append = false, int cap = -1 );
490 ++
491 + class tagged_rpint {
492 +
493 + public: /* PUBLIC METHODS */
494 +@@ -362,11 +370,11 @@
495 +
496 + template<class TAG>
497 + friend void Contains( const vec<TAG>& segs, kmer_id_t index,
498 +- vec<longlong>& answer, bool append = false, int cap = -1 );
499 ++ vec<longlong>& answer, bool append, int cap );
500 +
501 + template<class TAG>
502 + friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi,
503 +- vec<longlong>& answer, bool append = false, int cap = -1 );
504 ++ vec<longlong>& answer, bool append, int cap );
505 +
506 + template<class TAG>
507 + friend longlong Instance( const vec<TAG>& segs, kmer_id_t k );
508 +@@ -489,11 +497,11 @@
509 +
510 + template<class TAG>
511 + friend void Contains( const vec<TAG>& segs, kmer_id_t index,
512 +- vec<longlong>& answer, bool append = false, int cap = -1 );
513 ++ vec<longlong>& answer, bool append, int cap );
514 +
515 + template<class TAG>
516 + friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi,
517 +- vec<longlong>& answer, bool append = false, int cap = -1 );
518 ++ vec<longlong>& answer, bool append, int cap );
519 +
520 + template<class TAG>
521 + friend longlong Instance( const vec<TAG>& segs, kmer_id_t k );
522 +@@ -620,11 +628,11 @@
523 +
524 + template<class TAG>
525 + friend void Contains( const vec<TAG>& segs, kmer_id_t index,
526 +- vec<longlong>& answer, bool append = false, int cap = -1 );
527 ++ vec<longlong>& answer, bool append, int cap );
528 +
529 + template<class TAG>
530 + friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi,
531 +- vec<longlong>& answer, bool append = false, int cap = -1 );
532 ++ vec<longlong>& answer, bool append, int cap );
533 +
534 + template<class TAG>
535 + friend kmer_id_t Instance( const vec<TAG>& segs, kmer_id_t k );
536 +--- vaal-46233/src/paths/ReadsToPathsCoreX.cc
537 ++++ vaal-46233/src/paths/ReadsToPathsCoreX.cc
538 +@@ -20,6 +20,8 @@
539 + #include "paths/MakeAlignsPathsParallelX.h"
540 + #include "paths/ReadsToPathsCoreX.h"
541 +
542 ++using std::map;
543 ++
544 + static inline
545 + String Tag(String S = "RTPCX") { return Date() + " (" + S + "): "; }
546 +
547 +--- vaal-46233/src/paths/SuperBaseVector.h
548 ++++ vaal-46233/src/paths/SuperBaseVector.h
549 +@@ -10,6 +10,8 @@
550 + #include <numeric>
551 + #include <functional>
552 +
553 ++using std::mem_fun_ref;
554 ++
555 + /// A simple class which holds a series of basevectors with
556 + /// (possibly negative) gaps between them. This is what a
557 + /// KmerPath logically maps to in sequence space. The function
558 +--- vaal-46233/src/polymorphism/VAAL2.cc
559 ++++ vaal-46233/src/polymorphism/VAAL2.cc
560 +@@ -42,7 +42,7 @@
561 + #include "feudal/BinaryStream.h"
562 + #include "feudal/VirtualMasterVec.h"
563 +
564 +-using namespace std;
565 ++
566 +
567 + // Trim reads so that they contain only kmers in the unipaths.
568 +
569 +--- vaal-46233/src/polymorphism/VAAL3.cc
570 ++++ vaal-46233/src/polymorphism/VAAL3.cc
571 +@@ -29,6 +29,8 @@
572 + #include "polymorphism/VAALTools.h"
573 + #include "solexa/SolexaTools.h"
574 +
575 ++using std::ostringstream;
576 ++
577 + int main( int argc, char *argv[] )
578 + {
579 + RunTime( );
580 +--- vaal-46233/src/PrintAlignment.h
581 ++++ vaal-46233/src/PrintAlignment.h
582 +@@ -14,6 +14,8 @@
583 + #include "CoreTools.h"
584 + #include "Qualvector.h"
585 +
586 ++using std::ostringstream;
587 ++
588 + void PrintBlanks( ostream& out, int n );
589 +
590 + template<class BASEVEC>
591 +--- vaal-46233/src/Qualvector.cc
592 ++++ vaal-46233/src/Qualvector.cc
593 +@@ -10,6 +10,8 @@
594 + #include "FastIfstream.h"
595 + #include "Qualvector.h"
596 +
597 ++using std::istrstream;
598 ++
599 + /// \file
600 + /// \ingroup grp_quals
601 + /// \copydoc Qualvector.h
602 +--- vaal-46233/src/SeqInterval.cc
603 ++++ vaal-46233/src/SeqInterval.cc
604 +@@ -9,6 +9,8 @@
605 + #include "SeqInterval.h"
606 + #include "Vec.h"
607 +
608 ++using std::max;
609 ++using std::min;
610 +
611 + /*
612 + * seq_interval
613 +--- vaal-46233/src/SeqInterval.h
614 ++++ vaal-46233/src/SeqInterval.h
615 +@@ -14,7 +14,9 @@
616 + #include <algorithm>
617 + #include <iostream>
618 +
619 +-using namespace std;
620 ++using std::binary_function;
621 ++using std::ostream;
622 ++using std::istream;
623 +
624 + /*
625 + * class seq_interval
626 +--- vaal-46233/src/Set.h
627 ++++ vaal-46233/src/Set.h
628 +@@ -16,7 +16,7 @@
629 + #include <set>
630 + #include "CoreTools.h"
631 +
632 +-using namespace std;
633 ++using std::set;
634 +
635 + template<class T> bool Member( const set<T>& the_set, const T& value )
636 + { return the_set.find(value) != the_set.end( ); } // Breaks cxx
637 +--- vaal-46233/src/ShortVector.h
638 ++++ vaal-46233/src/ShortVector.h
639 +@@ -14,6 +14,8 @@
640 + #include "system/Types.h"
641 + #include "feudal/BinaryStream.h"
642 +
643 ++using std::uninitialized_fill_n;
644 ++
645 + // ================================================================================
646 + //
647 + // A shortvector holds a list of up to 255 things of any type T.
648 +--- vaal-46233/src/solexa/FourBase2.h
649 ++++ vaal-46233/src/solexa/FourBase2.h
650 +@@ -15,6 +15,10 @@
651 + #include "feudal/MasterVec.h"
652 + #include "feudal/SerfVec.h"
653 +
654 ++using std::max_element;
655 ++using std::min_element;
656 ++using std::accumulate;
657 ++
658 + class four_base2 {
659 +
660 + public:
661 +--- vaal-46233/src/solexa/FourBase.cc
662 ++++ vaal-46233/src/solexa/FourBase.cc
663 +@@ -9,6 +9,9 @@
664 +
665 + #include "solexa/FourBase.h"
666 +
667 ++using std::string;
668 ++using std::istringstream;
669 ++
670 + int four_base::Call( ) const
671 + {
672 + int result = 0;
673 +--- vaal-46233/src/solexa/FourBase.h
674 ++++ vaal-46233/src/solexa/FourBase.h
675 +@@ -16,6 +16,8 @@
676 + #include "feudal/MasterVec.h"
677 + #include "feudal/SerfVec.h"
678 +
679 ++using std::max;
680 ++
681 + /*
682 + Class: four_base
683 +
684 +--- vaal-46233/src/solexa/SolexaMetrics.h
685 ++++ vaal-46233/src/solexa/SolexaMetrics.h
686 +@@ -42,6 +42,8 @@
687 + #include "CommonSemanticTypes.h"
688 + #include <map>
689 +
690 ++using std::map;
691 ++
692 + /// Definition of general macros.
693 +
694 + class solexa_metric_db {
695 +--- vaal-46233/src/solexa/SolexaTools.cc
696 ++++ vaal-46233/src/solexa/SolexaTools.cc
697 +@@ -20,6 +20,8 @@
698 + #include "FastaFileset.h"
699 + #include "util/BaitMap.h"
700 +
701 ++using std::ostringstream;
702 ++
703 + void SolexaPredictorParameters::SetFromFile(const String & fname) {
704 + Ifstream(is, fname);
705 + String params = Slurp(is);
706 +--- vaal-46233/src/STLExtensions.h
707 ++++ vaal-46233/src/STLExtensions.h
708 +@@ -9,7 +9,7 @@
709 + #ifndef STLEXTENSIONS_H
710 + #define STLEXTENSIONS_H
711 +
712 +-using namespace std;
713 ++
714 +
715 + #include <functional>
716 + #include <vector>
717 +@@ -21,6 +21,13 @@
718 + #include "feudal/BinaryStream.h"
719 + #include "system/StaticAssert.h"
720 +
721 ++using std::binary_function;
722 ++using std::unary_function;
723 ++using std::pair;
724 ++using std::bitset;
725 ++using std::vector;
726 ++using std::ostream;
727 ++
728 + /// minimum<T> is a function object.
729 + ///
730 + /// If f is an object of class minimum<T> and x and y are objects of
731 +--- vaal-46233/src/system/ParsedArgs.cc
732 ++++ vaal-46233/src/system/ParsedArgs.cc
733 +@@ -26,6 +26,9 @@
734 + #include "system/HostName.h"
735 + #include "system/UseGDB.h"
736 +
737 ++using std::istrstream;
738 ++using std::mem_fun_ref;
739 ++
740 + #ifndef FatalErr
741 + #define FatalErr(message) { cout << message << endl << endl; exit(-1); }
742 + #endif
743 +--- vaal-46233/src/system/ParsedArgs.h
744 ++++ vaal-46233/src/system/ParsedArgs.h
745 +@@ -97,6 +97,8 @@
746 + #include "TokenizeString.h"
747 + #include "ParseSet.h"
748 +
749 ++using std::stringstream;
750 ++
751 + class parsed_arg_help {
752 +
753 + public:
754 +--- vaal-46233/src/system/ProcBuf.cc
755 ++++ vaal-46233/src/system/ProcBuf.cc
756 +@@ -15,6 +15,8 @@
757 + #include <sys/wait.h>
758 + #include <unistd.h>
759 +
760 ++using std::ios_base;
761 ++
762 + namespace
763 + {
764 + size_t const BUFFER_SIZE = 8192;
765 +--- vaal-46233/src/system/RunTime.cc
766 ++++ vaal-46233/src/system/RunTime.cc
767 +@@ -41,6 +41,10 @@
768 + #include <unwind.h>
769 + #endif
770 +
771 ++using std::strstream;
772 ++using std::hex;
773 ++using std::setw;
774 ++
775 + /// ===========================================================================
776 + ///
777 + /// ReturnAddress(i), where 0 <= i <= 100: get the return address. The
778 +--- vaal-46233/src/system/RunTime.h
779 ++++ vaal-46233/src/system/RunTime.h
780 +@@ -14,6 +14,8 @@
781 + #include "system/Exit.h"
782 + #include "system/Types.h"
783 +
784 ++using std::ostream;
785 ++
786 + typedef void ArachneSignalHandler(int, siginfo_t*, void*);
787 +
788 + void arachne_signal_handler( int signal_number, siginfo_t* info, void* context,
789 +--- vaal-46233/src/system/System.cc
790 ++++ vaal-46233/src/system/System.cc
791 +@@ -35,6 +35,11 @@
792 +
793 + #include <dirent.h>
794 +
795 ++using std::istringstream;
796 ++using std::istream_iterator;
797 ++using std::ostrstream;
798 ++using std::ends;
799 ++
800 + int SystemInternal( String command, const char *shell )
801 + {
802 + flush(cout);
803 +--- vaal-46233/src/system/System.h
804 ++++ vaal-46233/src/system/System.h
805 +@@ -21,6 +21,17 @@
806 + #include "system/Exit.h"
807 + #include "system/file/TempFile.h"
808 +
809 ++using std::vector;
810 ++using std::ostream;
811 ++using std::ofstream;
812 ++using std::cout;
813 ++using std::flush;
814 ++using std::endl;
815 ++using std::istream;
816 ++using std::ifstream;
817 ++using std::ios;
818 ++using std::setprecision;
819 ++
820 + #ifndef InputErr
821 + #define InputErr(message) \
822 + { cout << "\nFatal error at " << Date( ) << ": " << message << endl; \
823 +--- vaal-46233/src/system/TraceVal.h
824 ++++ vaal-46233/src/system/TraceVal.h
825 +@@ -24,6 +24,9 @@
826 + #include "system/Types.h"
827 + #include "system/Assert.h"
828 +
829 ++using std::cout;
830 ++using std::endl;
831 ++
832 + // Macros: Tracing macros
833 + // TRACEVAL_ON - undefine if you're not doing tracing
834 + // TRACEVAL_STOP_TRACING_COPIES -- call before an operation that shuffles
835 +--- vaal-46233/src/system/Types.h
836 ++++ vaal-46233/src/system/Types.h
837 +@@ -14,7 +14,7 @@
838 + #include <cstdlib>
839 + #include <netinet/in.h>
840 +
841 +-using namespace std;
842 ++
843 +
844 + // This assumes that all suns run Solaris...
845 + #if __sun == 1
846 +--- vaal-46233/src/util/BaitMap.cc
847 ++++ vaal-46233/src/util/BaitMap.cc
848 +@@ -236,7 +236,7 @@
849 + bool BaitMap::write(String file_name)
850 + {
851 + std::ofstream out(file_name.c_str());
852 +- ForceAssert(out);
853 ++ ForceAssert(static_cast<bool>(out));
854 +
855 + for (unsigned int i = 0; i < this->size(); i++)
856 + {
857 +@@ -250,7 +250,7 @@
858 + }
859 +
860 + out.close();
861 +- ForceAssert(out);
862 ++ ForceAssert(static_cast<bool>(out));
863 +
864 + return true;
865 + }
866 +@@ -260,7 +260,7 @@
867 + bool BaitMap::write_names(String file_name)
868 + {
869 + std::ofstream out(file_name.c_str());
870 +- ForceAssert(out);
871 ++ ForceAssert(static_cast<bool>(out));
872 +
873 + for (unsigned int i = 0; i < this->size(); i++)
874 + {
875 +@@ -268,7 +268,7 @@
876 + }
877 +
878 + out.close();
879 +- ForceAssert(out);
880 ++ ForceAssert(static_cast<bool>(out));
881 +
882 + return true;
883 + }
884 +--- vaal-46233/src/util/BaitMap.h
885 ++++ vaal-46233/src/util/BaitMap.h
886 +@@ -20,6 +20,8 @@
887 +
888 + #include <map>
889 +
890 ++using std::map;
891 ++
892 + class BaitMap
893 + {
894 + public:
895 +--- vaal-46233/src/util/Qualb.cc
896 ++++ vaal-46233/src/util/Qualb.cc
897 +@@ -10,6 +10,8 @@
898 + #include "FastIfstream.h"
899 + #include "Qualvector.h"
900 +
901 ++using std::istrstream;
902 ++
903 + int main( int argc, char *argv[] )
904 + {
905 + RunTime( );
906 +--- vaal-46233/src/Vec.h
907 ++++ vaal-46233/src/Vec.h
908 +@@ -48,6 +48,14 @@
909 + #include "Compare.h"
910 + #include "system/file/FileReader.h"
911 +
912 ++using std::initializer_list;
913 ++using std::numeric_limits;
914 ++using std::ostream_iterator;
915 ++using std::less;
916 ++using std::equal_to;
917 ++using std::setfill;
918 ++using std::setw;
919 ++
920 + /////////////////////////////////////////////////////////////////////////////
921 + //
922 + // vec Class Declaration and Template Definitions
923 +--- vaal-46233/src/VecUtilities.h
924 ++++ vaal-46233/src/VecUtilities.h
925 +@@ -37,6 +37,7 @@
926 + #include "Vec.h"
927 + #include <cstddef>
928 +
929 ++using std::greater;
930 +
931 + /////////////////////////////////////////////////////////////////////////////
932 + //
933
934 diff --git a/sci-biology/vaal/vaal-46233-r1.ebuild b/sci-biology/vaal/vaal-46233-r1.ebuild
935 new file mode 100644
936 index 0000000..20b3bf0
937 --- /dev/null
938 +++ b/sci-biology/vaal/vaal-46233-r1.ebuild
939 @@ -0,0 +1,42 @@
940 +# Copyright 1999-2015 Gentoo Foundation
941 +# Distributed under the terms of the GNU General Public License v2
942 +# $Id$
943 +
944 +EAPI=6
945 +
946 +inherit autotools
947 +
948 +DESCRIPTION="Algorithm for detecting SNPs, indels, and other polymorphisms"
949 +HOMEPAGE="http://www.broadinstitute.org/science/programs/genome-biology/crd/"
950 +SRC_URI="
951 + ftp://ftp.broad.mit.edu/pub/crd/VAAL/latest_source_code/${P}.tar.gz
952 + ftp://ftp.broad.mit.edu/pub/crd/VAAL/VAAL_manual.doc"
953 +
954 +LICENSE="Whitehead-MIT"
955 +SLOT="0"
956 +KEYWORDS="~amd64"
957 +IUSE="openmp"
958 +
959 +DEPEND=">=dev-libs/boost-1.41.0-r3"
960 +RDEPEND="${DEPEND}"
961 +
962 +DOCS=( "${DISTDIR}/VAAL_manual.doc" )
963 +PATCHES=( "${FILESDIR}/${P}_remove-namespace-std.patch" )
964 +
965 +src_prepare() {
966 + sed \
967 + -e '/COPYING/d' \
968 + -i src/Makefile.am || die
969 +
970 + sed \
971 + -e 's:-ggdb::g' \
972 + -e '/AC_OPENMP_CEHCK/d' \
973 + -i configure.ac || die
974 + default
975 + eautoreconf
976 +}
977 +
978 +src_configure() {
979 + econf \
980 + $(use_enable openmp)
981 +}