diff options
author | David Seifert <soap@gentoo.org> | 2020-11-01 19:36:21 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2020-11-01 19:36:21 +0100 |
commit | 053ec438e912e15f1a98959c59d4f08903d31138 (patch) | |
tree | 07465fcfb58dded0b04f2db8fe400cf9a4fcb489 /sci-biology/lagan | |
parent | sci-biology/seaview: Remove old 4.5.4 (diff) | |
download | gentoo-053ec438e912e15f1a98959c59d4f08903d31138.tar.gz gentoo-053ec438e912e15f1a98959c59d4f08903d31138.tar.bz2 gentoo-053ec438e912e15f1a98959c59d4f08903d31138.zip |
sci-biology/lagan: Port to EAPI 7
* Fix building against GCC 10 / -fno-common
* Fix building against C99 / -O0
* Fix broken build system
* Import patches from Debian
Closes: https://bugs.gentoo.org/685736
Closes: https://bugs.gentoo.org/688700
Closes: https://bugs.gentoo.org/707404
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-biology/lagan')
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch | 258 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch | 49 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch | 24 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-fix-c++14.patch | 473 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-gcc-10.patch | 27 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch | 25 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-gcc-9.patch | 25 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-gcc4.3.patch | 23 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-makefile.patch (renamed from sci-biology/lagan/files/lagan-2.0-flags.patch) | 109 | ||||
-rw-r--r-- | sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch | 63 | ||||
-rw-r--r-- | sci-biology/lagan/lagan-2.0-r3.ebuild | 71 | ||||
-rw-r--r-- | sci-biology/lagan/lagan-2.0-r4.ebuild | 67 |
12 files changed, 550 insertions, 664 deletions
diff --git a/sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch b/sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch new file mode 100644 index 000000000000..2c9d88111aee --- /dev/null +++ b/sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch @@ -0,0 +1,258 @@ +--- a/src/fchaos.c ++++ b/src/fchaos.c +@@ -985,7 +985,7 @@ + SLremove(mylist, tbf->mysles[i]); + } + +-inline int CHmatchscore(unsigned char a, unsigned char b) { ++static inline int CHmatchscore(unsigned char a, unsigned char b) { + return substmatrix[a][b]; + /* + if (translated) +--- a/src/multial.c ++++ b/src/multial.c +@@ -59,16 +59,16 @@ + int normf; + int normprev; + +-inline int ismatch(char a, char b) { ++static inline int ismatch(char a, char b) { + return (a == b); + } + +-inline int isGap(align* ali, int seqn, int loc) { ++static inline int isGap(align* ali, int seqn, int loc) { + int i = !((ali->algn[loc] >> seqn) & 1); + return i; + } + +-inline int scoreLocal(int which, align* ali, int loc) { ++static inline int scoreLocal(int which, align* ali, int loc) { + int i, lets = 0; + for (i=0; i < 4; i++) + lets += ali->cnts[i][loc]; +@@ -83,7 +83,7 @@ + return lets+ali->cnts[CNTS_GS][loc] * gapcont; + } + +-inline hll* reverseHLL(hll* tbr) { ++static inline hll* reverseHLL(hll* tbr) { + hll *nn, *prev=0; + while (tbr) { + nn = tbr->next; +@@ -171,7 +171,7 @@ + return res; + } + +-inline void reverse (long long int* a, int length) { ++static inline void reverse (long long int* a, int length) { + long long int lft; + int i; + for (i=0; i < length/2; i++) { +@@ -409,7 +409,7 @@ + */ + } + +-inline int scoreGap(int numgs, int numgc, int numge, int numseq) { ++static inline int scoreGap(int numgs, int numgc, int numge, int numseq) { + return (MIN2(numgc, numseq-numgc) * gapcont) + + (MIN2(numgs, numseq-numgs) * gapstart) + + (MIN2(numge, numseq-numge) * gapend); +@@ -493,7 +493,7 @@ + fclose (file); + } + +-inline int chmatchscore (unsigned char a, unsigned char b, int substmatrix[256][256]) { ++static inline int chmatchscore (unsigned char a, unsigned char b, int substmatrix[256][256]) { + return substmatrix[a][b]; + } + +@@ -539,14 +539,14 @@ + // printcache(); + } + +-inline int v (int y){ ++static inline int v (int y){ + if (y >= 0 && y <= MAX_SEQ) return y; + fprintf(stderr, "Got %d in v\n", y); + assert (0); + return 0; + } + +-inline int matchscore (align*a, int ai, align *b, int bi){ ++static inline int matchscore (align*a, int ai, align *b, int bi){ + + return + matchcache[v(a->cnts[0][ai] + b->cnts[0][bi]) | +@@ -559,30 +559,30 @@ + (v(a->numseq + b->numseq - (a->cnts[CNTS_CB][ai] + b->cnts[CNTS_CB][bi])) << 18)]; + } + +-inline int scoreOpp (align *other, int ow, int oppnum){ ++static inline int scoreOpp (align *other, int ow, int oppnum){ + return matchcache[v(other->cnts[0][ow]) | + (v(other->cnts[1][ow]) << 6) | + (v(other->cnts[2][ow]) << 12) | + (v(other->cnts[3][ow]) << 18)]; + } + +-inline int endGap0 (align* a, int ai, align* b, int bi){ ++static inline int endGap0 (align* a, int ai, align* b, int bi){ + return gapcache[(v(a->cnts[CNTS_GE][ai]+b->cnts[CNTS_GE][bi])<<12) | + (v(a->numseq + b->numseq-(b->cnts[CNTS_CB][bi]+a->cnts[CNTS_CB][ai])) << 18)]; + } + +-inline int endGap1 (align* a, int ai, align* b, int bi){ ++static inline int endGap1 (align* a, int ai, align* b, int bi){ + + return gapcache[(v((b->numseq - b->cnts[CNTS_GS][bi] - b->cnts[CNTS_GC][bi]) + a->cnts[CNTS_GE][ai]) << 12) | + (v(a->numseq + b->numseq - (b->cnts[CNTS_CB][bi]+a->cnts[CNTS_CB][ai])) << 18)]; + } + +-inline int endGap2 (align* a, int ai, align* b, int bi){ ++static inline int endGap2 (align* a, int ai, align* b, int bi){ + return gapcache[(v((a->numseq - a->cnts[CNTS_GS][ai] - a->cnts[CNTS_GC][ai]) + b->cnts[CNTS_GE][bi])<<12) | + (v(a->numseq + b->numseq - (b->cnts[CNTS_CB][bi]+a->cnts[CNTS_CB][ai])) << 18)]; + } + +-inline int contGap(align* ali, int myw, align* other, int ow, int *sopp) { ++static inline int contGap(align* ali, int myw, align* other, int ow, int *sopp) { + return gapcache[(v(other->cnts[CNTS_GS][ow])) | + (v(ali->numseq + other->cnts[CNTS_GC][ow]) << 6) | + (v(other->cnts[CNTS_GE][ow]) << 12) | +@@ -590,7 +590,7 @@ + sopp[ow]; + } + +-inline int openGap(align* ali, int w, align* other, int ow, int *sopp, char *desc) { ++static inline int openGap(align* ali, int w, align* other, int ow, int *sopp, char *desc) { + int alopen, pen, sav, i; + + alopen = ali->cnts[CNTS_GC][w] + ali->cnts[CNTS_GE][w]; +--- a/src/order.c ++++ b/src/order.c +@@ -454,11 +454,11 @@ + } + + +-inline int ismatch(char a, char b) { ++static inline int ismatch(char a, char b) { + return a == b; + } + +-inline int matchscore (unsigned char a, unsigned char b) { ++static inline int matchscore (unsigned char a, unsigned char b) { + return substmatrix[a][b]; + /* + +--- a/src/utils/cstat.c ++++ b/src/utils/cstat.c +@@ -121,7 +121,7 @@ + return res; + } + +-inline int getScore (align* a, int i){ ++static inline int getScore (align* a, int i){ + return + ((a->cnts[0][i] * (a->cnts[0][i] - 1)) + + (a->cnts[1][i] * (a->cnts[1][i] - 1)) + +--- a/src/utils/getbounds.c ++++ b/src/utils/getbounds.c +@@ -6,8 +6,8 @@ + + #define EXPAND 2 + +-inline int max (int a, int b){ if (a > b) return a; return b; } +-inline int min (int a, int b){ if (a < b) return a; return b; } ++static inline int max (int a, int b){ if (a > b) return a; return b; } ++static inline int min (int a, int b){ if (a < b) return a; return b; } + + int getLength (char *filename){ + FILE *file; +--- a/src/utils/scorealign.c ++++ b/src/utils/scorealign.c +@@ -18,17 +18,17 @@ + int matchscore[256][256]; + int gapopen = -1500, gapcont = -50; + +-inline int min (int a, int b){ ++static inline int min (int a, int b){ + if (a < b) return a; + return b; + } + +-inline int max (int a, int b){ ++static inline int max (int a, int b){ + if (a > b) return a; + return b; + } + +-inline int scoreMatch (char c, char d){ ++static inline int scoreMatch (char c, char d){ + if (c == '-' && d == '-') return 0; + if (c == '-' || d == '-') return gapcont; + return matchscore[(unsigned char) c][(unsigned char) d]; +@@ -235,7 +235,7 @@ + } + } + +-inline int issymbol (char ch){ ++static inline int issymbol (char ch){ + return ch == 'A' || ch == 'C' || ch == 'G' || ch == 'T' || ch == 'N' || ch == '.' || ch == '-'; + } + +--- a/src/utils/scorecontigs.c ++++ b/src/utils/scorecontigs.c +@@ -133,7 +133,7 @@ + return res; + } + +-inline int getstate (char c, char d){ ++static inline int getstate (char c, char d){ + if (c == '-' || d == '-') return 2; + if (c == 'N' || d == 'N') return 3; + return c == d; +@@ -235,7 +235,7 @@ + return r; + } + +-inline int getdata (rangelist **ranges, int *offs, int j, int i){ ++static inline int getdata (rangelist **ranges, int *offs, int j, int i){ + i -= offs[j]; + if (i >= 0 && i < ranges[j]->seqlen) + return ranges[j]->score[i]; +@@ -243,14 +243,14 @@ + } + + +-inline int match (rangelist **ranges, int numContigs, int i, int j, int *offs){ ++static inline int match (rangelist **ranges, int numContigs, int i, int j, int *offs){ + int k; + for (k = 0; k < numContigs; k++) + if ((getdata (ranges, offs, k, i) != 0) != (getdata (ranges, offs, k, j) != 0)) return 0; + return 1; + } + +-inline int allzeroes (rangelist **ranges, int numContigs, int pos, int *offs){ ++static inline int allzeroes (rangelist **ranges, int numContigs, int pos, int *offs){ + int i; + + for (i = 0; i < numContigs; i++) +@@ -258,7 +258,7 @@ + return 1; + } + +-inline void print (int start, int end, int *score, int numContigs){ ++static inline void print (int start, int end, int *score, int numContigs){ + int j; + + printf ("(%7d %7d)", start, end); +@@ -303,7 +303,7 @@ + free (pattern); + } + +-inline double scoregap (int gaplen){ ++static inline double scoregap (int gaplen){ + if (gaplen == 0) return 0; + //return (gaplen - 1) * -1 - 50; + return (log (gaplen) / log (10) + 1) * scoreGapOpen; diff --git a/sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch b/sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch new file mode 100644 index 000000000000..945120b1fc47 --- /dev/null +++ b/sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch @@ -0,0 +1,49 @@ +Author: Steffen Moeller +Last-Update: 2018-09-07 15:08:19 +0200 +Description: Fix build issue + +Index: lagan/src/glocal/rightinfluence.cpp +=================================================================== +--- lagan.orig/src/glocal/rightinfluence.cpp ++++ lagan/src/glocal/rightinfluence.cpp +@@ -1,6 +1,6 @@ + #include <rightinfluence.h> + +-Fragment origin, end; ++static Fragment originFrag, endFrag; + + // Sets the first default owner of the whole region + void initRI(RI *RightInfluence, long long int scoreIndex) { +@@ -13,22 +13,22 @@ void initRI(RI *RightInfluence, long lon + } + + // will lose to anyone +- origin.seq1End = 0; origin.seq2End = 0; +- origin.seq1Start = 0; origin.seq2Start = 0; ++ originFrag.seq1End = 0; originFrag.seq2End = 0; ++ originFrag.seq1Start = 0; originFrag.seq2Start = 0; + + // hack to aid winner selection +- origin.score = -1; +- end.score = -2; +- origin.totalScore = end.totalScore = 0; ++ originFrag.score = -1; ++ endFrag.score = -2; ++ originFrag.totalScore = endFrag.totalScore = 0; + + // will win against anyone +- end.seq1End = 0; end.seq2End = 0; +- end.seq1Start = 0; end.seq2Start = 0; ++ endFrag.seq1End = 0; endFrag.seq2End = 0; ++ endFrag.seq1Start = 0; endFrag.seq2Start = 0; + +- origin.back = NULL; ++ originFrag.back = NULL; + +- RightInfluence->act[-INF] = &origin; +- RightInfluence->act[+INF] = &end; ++ RightInfluence->act[-INF] = &originFrag; ++ RightInfluence->act[+INF] = &endFrag; + } + + diff --git a/sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch b/sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch new file mode 100644 index 000000000000..075753a924c9 --- /dev/null +++ b/sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch @@ -0,0 +1,24 @@ +Author: Andreas Tille <tille@debian.org> +LastChanged: Fri, 15 Nov 2013 10:31:20 +0100 +Description: Prevent conflicting getline by simply renaming it + +--- a/src/anchors.c ++++ b/src/anchors.c +@@ -225,7 +225,7 @@ char* rolltonum(char* str) { + return &str[i]; + } + +-int getline(FILE* infile, hll* tt) { ++int anchors_getline(FILE* infile, hll* tt) { + char temp[1024]; + char* help; + int z, h; +@@ -248,7 +248,7 @@ hll* parseCHAOS(FILE* infile, int* totnu + *totnum = 0; + while(!feof(infile)) { + tt = (hll*) malloc(sizeof(hll)); +- while (!feof(infile) && !getline(infile, tt)) ++ while (!feof(infile) && !anchors_getline(infile, tt)) + ; + if (feof(infile)) break; + if (gapfreechunks) { diff --git a/sci-biology/lagan/files/lagan-2.0-fix-c++14.patch b/sci-biology/lagan/files/lagan-2.0-fix-c++14.patch deleted file mode 100644 index 9865f2756c5a..000000000000 --- a/sci-biology/lagan/files/lagan-2.0-fix-c++14.patch +++ /dev/null @@ -1,473 +0,0 @@ -Fix building with C++14, which errors out due to namespace collisions with std::end -in C++14 mode, due to crappy 'using namespace std' declared everywhere. -See also: https://bugs.gentoo.org/show_bug.cgi?id=594148 - ---- a/src/ancseq.cpp -+++ b/src/ancseq.cpp -@@ -30,7 +30,6 @@ - #include <stdlib.h> - #include <stdio.h> - --using namespace std; - - #include "util.cpp" - #include "faindex.cpp" ---- a/src/ancseqrest.cpp -+++ b/src/ancseqrest.cpp -@@ -31,7 +31,6 @@ - #include <stdlib.h> - #include <stdio.h> - --using namespace std; - - #define fastaRowLength 50 - typedef char* pchar; ---- a/src/cutmfa.cpp -+++ b/src/cutmfa.cpp -@@ -45,7 +45,6 @@ - #include <stdlib.h> - #include <stdio.h> - --using namespace std; - - // TODO refactor in classes and normal make project - ---- a/src/glocal/glocal.cpp -+++ b/src/glocal/glocal.cpp -@@ -7,9 +7,9 @@ - } - - //vectors that would be needed globally --vector<Fragment> fragments; --vector<Point>startPoints; --vector<Point>endPoints; -+std::vector<Fragment> fragments; -+std::vector<Point>startPoints; -+std::vector<Point>endPoints; - long long int numFragments; - InterPoint inter; - -@@ -19,7 +19,7 @@ - RI RI_regions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; - LI LI_regions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; - --vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; -+std::vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; - - Name allNames; - ---- a/src/glocal/io.cpp -+++ b/src/glocal/io.cpp -@@ -3,9 +3,9 @@ - #include<io.h> - #include<algorithm> - --extern vector <Fragment> fragments; --extern vector <Point> startPoints; --extern vector <Point> endPoints; -+extern std::vector <Fragment> fragments; -+extern std::vector <Point> startPoints; -+extern std::vector <Point> endPoints; - extern Name allNames; - - bool PointCompare(const Point &f1, const Point &f2) { -@@ -223,8 +223,8 @@ - startPoints.push_back(startPoint); - endPoints.push_back(endPoint); - } -- sort(startPoints.begin(), startPoints.end(), PointCompare); -- sort(endPoints.begin(), endPoints.end(), PointCompare); -+ std::sort(startPoints.begin(), startPoints.end(), PointCompare); -+ std::sort(endPoints.begin(), endPoints.end(), PointCompare); - } - - ---- a/src/glocal/leftinfluence.cpp -+++ b/src/glocal/leftinfluence.cpp -@@ -154,8 +154,8 @@ - - if (second->score == -1) { return TRUE; } - -- dummy.seq1Start = max(first->seq1End, second->seq1End) + 2; -- dummy.seq2Start = max(first->getSeq2End(LeftInfluence->reflectFlag), second->getSeq2End(LeftInfluence->reflectFlag)) + 1; -+ dummy.seq1Start = std::max(first->seq1End, second->seq1End) + 2; -+ dummy.seq2Start = std::max(first->getSeq2End(LeftInfluence->reflectFlag), second->getSeq2End(LeftInfluence->reflectFlag)) + 1; - - if (first->getSeq2End(LeftInfluence->reflectFlag) > second->getSeq2End(LeftInfluence->reflectFlag)) { - dummy.nameIter = first->nameIter; -@@ -444,7 +444,7 @@ - temp.seq1 = col - diag; - temp.seq2 = col; - -- pair<Point,LI*> pairp(temp, LeftInfluence); -+ std::pair<Point,LI*> pairp(temp, LeftInfluence); - tempinter = inter.insert(pairp); - - colInter->second = tempinter; ---- a/src/glocal/leftinfluence.h -+++ b/src/glocal/leftinfluence.h -@@ -39,15 +39,15 @@ - - - --typedef list<Fragment*> Owner; --typedef map <long long int ,Owner::iterator,longlongCompare2> CBound; -+typedef std::list<Fragment*> Owner; -+typedef std::map <long long int ,Owner::iterator,longlongCompare2> CBound; - --typedef multimap <Point ,struct LI *,paircomp> InterPoint; -+typedef std::multimap <Point ,struct LI *,paircomp> InterPoint; - --typedef map <long long int ,InterPoint::iterator,longlongCompare2> CInter; --typedef map <long long int,Owner::iterator,longlongCompare2> DBound; -+typedef std::map <long long int ,InterPoint::iterator,longlongCompare2> CInter; -+typedef std::map <long long int,Owner::iterator,longlongCompare2> DBound; - --typedef map <long long int,InterPoint::iterator,longlongCompare2> DInter; -+typedef std::map <long long int,InterPoint::iterator,longlongCompare2> DInter; - - - ---- a/src/glocal/rightinfluence.h -+++ b/src/glocal/rightinfluence.h -@@ -17,7 +17,7 @@ - }; - - --typedef map<const long long int , Fragment*,longlongCompare> Active; -+typedef std::map<const long long int , Fragment*,longlongCompare> Active; - - typedef struct RI { - //List of active regions ---- a/src/glocal/score.cpp -+++ b/src/glocal/score.cpp -@@ -4,7 +4,7 @@ - #include<rightinfluence.h> - #include<fstream> - --extern vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; -+extern std::vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; - - - float Score::getScore(Fragment *up, Fragment * down) { -@@ -36,7 +36,7 @@ - - - void initScoreFunctionPointers(char * scoreFileName) { -- ifstream SFP; -+ std::ifstream SFP; - char line[255]; - - SFP.open(scoreFileName); ---- a/src/glocal/structs.h -+++ b/src/glocal/structs.h -@@ -12,7 +12,6 @@ - #include <list> - #include <string.h> - --using namespace std; - - #define RIGHT 0 - #define LEFT 1 -@@ -49,7 +48,7 @@ - }; - - --typedef map<const char*,long long int ,ltstr> Name; -+typedef std::map<const char*,long long int ,ltstr> Name; - - - typedef struct Fragment { ---- a/src/lagan2mfa.cpp -+++ b/src/lagan2mfa.cpp -@@ -6,7 +6,6 @@ - #include <stdlib.h> - #include <stdio.h> - --using namespace std; - - // TODO refactor in classes and normal make project - ---- a/src/makecons.cpp -+++ b/src/makecons.cpp -@@ -18,7 +18,6 @@ - #include <ctype.h> - #include <time.h> - --using namespace std; - - #define fastaRowLength 50 - #define bufSize 2000 ---- a/src/utils/Glue.cpp -+++ b/src/utils/Glue.cpp -@@ -170,7 +170,7 @@ - } - - void printCoordinates (int seq, int begin, int end){ -- cout << seqs[seq].getID() << ":" << getSeqCoord(seq, begin) << "-" << getSeqCoord(seq, end) << " "; -+ std::cout << seqs[seq].getID() << ":" << getSeqCoord(seq, begin) << "-" << getSeqCoord(seq, end) << " "; - } - - int printRegion (int begin, int end){ -@@ -183,7 +183,7 @@ - score += rescoreRegion (seqs[i], seqs[j], begin, end); - } - } -- cout << score << endl; -+ std::cout << score << std::endl; - return score; - } - -@@ -223,7 +223,7 @@ - } - } - -- cout << "= score=" << score << endl; -+ std::cout << "= score=" << score << std::endl; - } - - int countLets (SafeVector<char> &data){ -@@ -355,7 +355,7 @@ - FILE* outfile; - - if (argc < 2 || argc > 3){ -- cerr << "Usage: Glue align.mfa \n" << endl; -+ std::cerr << "Usage: Glue align.mfa \n" << std::endl; - exit (1); - } - -@@ -375,7 +375,7 @@ - SafeVector<int> merged1label, merged2label; - int begin1 = 1, end1 = 1; - -- ifstream data (argv[1]); -+ std::ifstream data (argv[1]); - int alignNum = 0; - strand.push_back ('?'); // nothing for alignNum 0 - -@@ -452,7 +452,7 @@ - SafeVector<char> temp1 (begin1 - 1, 'N'); - SafeVector<char> temp2 (begin1 - 1, '-'); - -- for (int i = 0; i < min ((int) temp2.size(), CNTG_BRK_N); i++) -+ for (int i = 0; i < std::min ((int) temp2.size(), CNTG_BRK_N); i++) - temp2[i] = 'N'; - - merged1 = merge (temp1, merged1); -@@ -471,12 +471,12 @@ - if (isalpha(merged2[j])) pos2++; - - if (merged1label[j] == i){ -- min1 = min (min1, pos1); -- max1 = max (max1, pos1); -+ min1 = std::min (min1, pos1); -+ max1 = std::max (max1, pos1); - } - if (merged2label[j] == i){ -- min2 = min (min2, pos2); -- max2 = max (max2, pos2); -+ min2 = std::min (min2, pos2); -+ max2 = std::max (max2, pos2); - } - } - -@@ -489,6 +489,6 @@ - fprintf (outfile, "%d %d %d 0 0 0 0 %c 0 %d %d\n", i, min1, max1, strand[i], min2, max2); - } - -- printMFA (cout, merged1, string ("first"), 60); -- printMFA (cout, merged2, string ("second"), 60); -+ printMFA (std::cout, merged1, std::string ("first"), 60); -+ printMFA (std::cout, merged2, std::string ("second"), 60); - } ---- a/src/utils/MultiSequence.h -+++ b/src/utils/MultiSequence.h -@@ -12,7 +12,6 @@ - #include "Sequence.h" - #include "SafeVector.h" - --using namespace std; - - class MultiSequence { - private: -@@ -54,10 +53,10 @@ - - // Read in all of the Sequences in an MFA file and append them to the - // existing MultiSequence object. -- void addRawFromMFA (const string& filename){ -+ void addRawFromMFA (const std::string& filename){ - - // open up file for reading -- ifstream infile (filename.c_str()); -+ std::ifstream infile (filename.c_str()); - - // check for error - assert (!infile.fail()); -@@ -75,7 +74,7 @@ - - // Read in all of the Sequences in an MFA file and append them to the - // existing MultiSequence object. -- void addRawFromMFA (ifstream &infile){ -+ void addRawFromMFA (std::ifstream &infile){ - - // check for error - assert (!infile.fail()); -@@ -89,7 +88,7 @@ - } - - // Writes sequences to outfile in XMFA format. -- void writeToXMFA (ostream &outfile, int numColumns) const { -+ void writeToXMFA (std::ostream &outfile, int numColumns) const { - for (int i = 0; i < (int) sequences.size(); ++i){ - sequences[i].writeToXMFA (outfile, numColumns); - } ---- a/src/utils/Output.h -+++ b/src/utils/Output.h -@@ -2,18 +2,18 @@ - #define OUTPUT_H - - // print reversed string in MFA format --void printMFA (ostream &outfile, SafeVector<char> &data, string comment, int numColumns){ -+void printMFA (std::ostream &outfile, SafeVector<char> &data, std::string comment, int numColumns){ - - int charsWritten = 0; - -- outfile << ">" << comment << endl; -+ outfile << ">" << comment << std::endl; - for (int i = 0; i < (int) data.size(); i++){ - outfile << data[i]; - charsWritten++; -- if (charsWritten % numColumns == 0) outfile << endl; -+ if (charsWritten % numColumns == 0) outfile << std::endl; - } - -- if (charsWritten % numColumns != 0) outfile << endl; -+ if (charsWritten % numColumns != 0) outfile << std::endl; - } - - ---- a/src/utils/SafeVector.h -+++ b/src/utils/SafeVector.h -@@ -10,7 +10,6 @@ - #include <assert.h> - #include <vector> - --using namespace std; - - // class derived from the STL std::vector - template<class TYPE> -@@ -19,9 +18,9 @@ - - // miscellaneous constructors - SafeVector () {} -- SafeVector (size_t size) : vector<TYPE>(size) {} -- SafeVector (size_t size, const TYPE &value) : vector<TYPE>(size, value) {} -- SafeVector (const SafeVector &source) : vector<TYPE>(source) {} -+ SafeVector (size_t size) : std::vector<TYPE>(size) {} -+ SafeVector (size_t size, const TYPE &value) : std::vector<TYPE>(size, value) {} -+ SafeVector (const SafeVector &source) : std::vector<TYPE>(source) {} - - #ifdef ENABLE_CHECKS - ---- a/src/utils/Sequence.h -+++ b/src/utils/Sequence.h -@@ -8,15 +8,14 @@ - #include <string> - #include "SafeVector.h" - --using namespace std; - - class Sequence { - - private: - - // Read header of MFA/XMFA file. -- bool readHeader (ifstream &infile, bool &isXMFA){ -- string header; -+ bool readHeader (std::ifstream &infile, bool &isXMFA){ -+ std::string header; - - while (true){ - -@@ -24,7 +23,7 @@ - if (infile.fail() || infile.eof()) return false; - - // get new header line -- getline (infile, header); -+ std::getline (infile, header); - - // check that header line is not empty - if (header.length() != 0) break; -@@ -64,7 +63,7 @@ - int startCoord; // sequence position of first character - int endCoord; // sequence position of last character - char direction; // + or - -- string comment; // comments -+ std::string comment; // comments - - public: - -@@ -77,7 +76,7 @@ - } - - // Constructor. Reads in a sequence from the input file. -- Sequence (ifstream &infile){ -+ Sequence (std::ifstream &infile){ - - bool isXMFA = true; - -@@ -147,7 +146,7 @@ - } - - // Constructor. Gets sequence from array data. -- Sequence (SafeVector<char> data, string comment) : data(data), comment(comment) { -+ Sequence (SafeVector<char> data, std::string comment) : data(data), comment(comment) { - length = data.size() - 1; - id = 0; - startCoord = 1; -@@ -165,7 +164,7 @@ - return temp; - } - -- const string getComment () const { -+ const std::string getComment () const { - return comment; - } - -@@ -197,9 +196,9 @@ - const int getEndCoord () const { assert (isValid); return endCoord; } - - // Print XMFA header only. -- void writeXMFAHeader (ostream &outfile) const { -+ void writeXMFAHeader (std::ostream &outfile) const { - assert (isValid); -- outfile << '>' << id << ':' << startCoord << '-' << endCoord << ' ' << direction << ' ' << comment << endl; -+ outfile << '>' << id << ':' << startCoord << '-' << endCoord << ' ' << direction << ' ' << comment << std::endl; - } - - // Return sequence ID. -@@ -209,20 +208,20 @@ - void setID (int id) { assert (isValid); this->id = id; } - - // Writes sequence to XMFA format. -- void writeToXMFA (ostream &outfile, int numColumns) const { -+ void writeToXMFA (std::ostream &outfile, int numColumns) const { - - assert (isValid); - - // print XMFA header -- outfile << ">" << comment << endl; -+ outfile << ">" << comment << std::endl; - // outfile << '>' << id << ':' << startCoord << '-' << endCoord << ' ' << direction << ' ' << comment << endl; - - // print character data - for (int i = 1; i <= length; ++i){ - outfile << data[i]; -- if (i % numColumns == 0) outfile << endl; -+ if (i % numColumns == 0) outfile << std::endl; - } -- if (length % numColumns != 0) outfile << endl; -+ if (length % numColumns != 0) outfile << std::endl; - } - }; - diff --git a/sci-biology/lagan/files/lagan-2.0-gcc-10.patch b/sci-biology/lagan/files/lagan-2.0-gcc-10.patch new file mode 100644 index 000000000000..bd9824cf2ed0 --- /dev/null +++ b/sci-biology/lagan/files/lagan-2.0-gcc-10.patch @@ -0,0 +1,27 @@ +Description: Add patch to build with GCC-10 +Bug-Debian: https://bugs.debian.org/957415 +Author: Nilesh Patra <npatra974@gmail.com> +Date: Fri Apr 17 21:13:21 2020 +0530 + +--- a/src/fchaos.c ++++ b/src/fchaos.c +@@ -29,7 +29,7 @@ + int offset; + } match; + +-extern int indeces[256]; ++int indeces[256]; + + + void remElem(LList* tbf, int i); +--- a/src/thrtrie.h ++++ b/src/thrtrie.h +@@ -2,7 +2,7 @@ + #define MAX_DEGEN 2 + + +-int indeces[256]; ++extern int indeces[256]; + + typedef struct PrevHits { + int* inds1; diff --git a/sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch b/sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch new file mode 100644 index 000000000000..3d7ed780445f --- /dev/null +++ b/sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch @@ -0,0 +1,25 @@ +Author: Andreas Tille <tille@debian.org> +LastChanged: Fri, 15 Nov 2013 10:31:20 +0100 +Description: Fix some includes to build using gcc-4.8 + +--- a/src/utils/Glue.cpp ++++ b/src/utils/Glue.cpp +@@ -6,6 +6,7 @@ + #include <fstream> + #include <iostream> + #include <algorithm> ++#include <string.h> + + #define NUCLEOTIDE_MATRIX_FILE "nucmatrix.txt" + #define MAX_LINE_LENGTH 1024 +--- a/src/glocal/score.cpp ++++ b/src/glocal/score.cpp +@@ -2,7 +2,7 @@ + #include<score.h> + #include<leftinfluence.h> + #include<rightinfluence.h> +-#include<fstream.h> ++#include<fstream> + + extern vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; + diff --git a/sci-biology/lagan/files/lagan-2.0-gcc-9.patch b/sci-biology/lagan/files/lagan-2.0-gcc-9.patch new file mode 100644 index 000000000000..6ea30e57a854 --- /dev/null +++ b/sci-biology/lagan/files/lagan-2.0-gcc-9.patch @@ -0,0 +1,25 @@ +# Two patches to bring lagan up to speed with gcc-9 +Index: lagan/src/fchaos.c +=================================================================== +--- lagan.orig/src/fchaos.c ++++ lagan/src/fchaos.c +@@ -430,7 +430,7 @@ int chain(LList* second, int off2, LList + int tc =0; + int wc = 0; + +-inline void findPrev(LList* curr, int position, int offset, float baseval) { ++void findPrev(LList* curr, int position, int offset, float baseval) { + int j,k; + LList* temp; + sle* iterator; +Index: lagan/src/filebuffer.c +=================================================================== +--- lagan.orig/src/filebuffer.c ++++ lagan/src/filebuffer.c +@@ -1,5 +1,6 @@ + #include "filebuffer.h" + #include <stdlib.h> ++#include <ctype.h> + #include <string.h> + #include <stdio.h> + #include <assert.h> diff --git a/sci-biology/lagan/files/lagan-2.0-gcc4.3.patch b/sci-biology/lagan/files/lagan-2.0-gcc4.3.patch deleted file mode 100644 index a4b1d6808e2f..000000000000 --- a/sci-biology/lagan/files/lagan-2.0-gcc4.3.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -durr lagan20-orig/src/glocal/score.cpp lagan20/src/glocal/score.cpp ---- lagan20-orig/src/glocal/score.cpp 2009-02-04 15:25:57.698333297 +0000 -+++ lagan20/src/glocal/score.cpp 2009-02-04 15:27:23.894092890 +0000 -@@ -2,7 +2,7 @@ - #include<score.h> - #include<leftinfluence.h> - #include<rightinfluence.h> --#include<fstream.h> -+#include<fstream> - - extern vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)]; - -diff -durr lagan20-orig/src/utils/Glue.cpp lagan20/src/utils/Glue.cpp ---- lagan20-orig/src/utils/Glue.cpp 2009-02-04 15:25:57.702333182 +0000 -+++ lagan20/src/utils/Glue.cpp 2009-02-04 15:27:04.190822654 +0000 -@@ -1,6 +1,7 @@ - #include "MultiSequence.h" - #include "SafeVector.h" - #include "Output.h" -+#include <string.h> - #include <math.h> - #include <assert.h> - #include <fstream> diff --git a/sci-biology/lagan/files/lagan-2.0-flags.patch b/sci-biology/lagan/files/lagan-2.0-makefile.patch index e324ef64c4c6..1bef6721ab9b 100644 --- a/sci-biology/lagan/files/lagan-2.0-flags.patch +++ b/sci-biology/lagan/files/lagan-2.0-makefile.patch @@ -1,107 +1,120 @@ -diff --git a/Makefile b/Makefile -index fbbbe79..a1d449b 100644 --- a/Makefile +++ b/Makefile -@@ -1,5 +1,5 @@ +@@ -1,5 +1,8 @@ all: - (cd src; $(MAKE)) + $(MAKE) -C src clean: rm -f chaos anchors order glocal utils/bin2bl mlagan utils/cstat utils/bin2mf utils/rc *~ utils/contigorder utils/getbounds utils/cextract utils/seqmerge utils/getlength utils/getoverlap utils/*~ utils/scorealign utils/scorecontigs mlagan.purify utils/getcontigpos utils/fa2xfa utils/Glue utils/dotplot utils/overlay - (cd src; $(MAKE) clean) -diff --git a/src/Makefile b/src/Makefile -index 7f6b6fd..dd6309b 100644 +- (cd src; $(MAKE) clean) ++ $(MAKE) -C src clean ++ ++check: all ++ (LAGAN_DIR="." ./mlagan -h || true) | grep -q version && echo "[ok]" || echo "[fail]" +--- a/src/glocal/Makefile ++++ b/src/glocal/Makefile +@@ -1,19 +1,13 @@ +-CC = g++ +-OPTFLAGS = +-CFLAGS = $(OPTFLAGS) -O3 +-CLINKER = g++ +-# LIBDIR = -L/usr/local/lib ++CXXFLAGS += -Wno-deprecated ++CPPFLAGS += -I./ ++ + MLIB = -lm +-INCDIR = -I./ + TRGT_DIR = ../.. + TRGT = glocal + OBJECTS = glocal.o io.o rightinfluence.o leftinfluence.o score.o + +-.cpp.o: +- $(CC) -Wno-deprecated $(CFLAGS) $(INCDIR) -c $*.cpp +- + $(TRGT): $(OBJECTS) +- $(CLINKER) $(OPTFLAGS) $(OBJECTS) -o $(TRGT_DIR)/$(TRGT) $(MLIB) ++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) -o $(TRGT_DIR)/$(TRGT) $(MLIB) + + clean : + rm -f *.o ./*~ *~ core --- a/src/Makefile +++ b/src/Makefile -@@ -4,51 +4,51 @@ CFLAGS = -O3 # -Wall -W +@@ -1,54 +1,51 @@ +-CC = gcc $(CFLAGS) +-CPP = g++ $(CFLAGS) +-CFLAGS = -O3 # -Wall -W TRGT_DIR = .. all: ../anchors ../chaos ../order ../mlagan ../prolagan ../utils/bin2mf ../utils/bin2bl ../utils/cextract ../utils/cstat ../utils/contigorder ../utils/getbounds ../utils/getlength ../utils/getoverlap ../utils/rc ../utils/seqmerge ../utils/scorealign ../utils/scorecontigs ../utils/getcontigpos ../utils/fa2xfa ../utils/Glue ../utils/dotplot ../utils/overlay - (cd glocal; $(MAKE)) -+ $(MAKE) -C glocal ++ (cd glocal && $(MAKE)) clean: rm -f *.o *~ utils/*~ mlagan.purify core - (cd glocal; $(MAKE) clean) +- (cd glocal; $(MAKE) clean) ++ (cd glocal && $(MAKE) clean) ../anchors: anchors.c skiplist.c - $(CC) -o $(TRGT_DIR)/anchors anchors.c skiplist.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/anchors anchors.c skiplist.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/anchors anchors.c skiplist.c ../chaos: fchaos.c thrtrie.c skiplist.c global.c translate.c mempage.c filebuffer.c - $(CC) -o $(TRGT_DIR)/chaos fchaos.c thrtrie.c skiplist.c global.c translate.c filebuffer.c -lm -DCHAOS__FLAG -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/chaos fchaos.c thrtrie.c skiplist.c global.c translate.c filebuffer.c -lm -DCHAOS__FLAG ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/chaos fchaos.c thrtrie.c skiplist.c global.c translate.c filebuffer.c -lm -DCHAOS__FLAG ../order: order.c diagmatrix.c filebuffer.c - $(CC) -o $(TRGT_DIR)/order order.c diagmatrix.c filebuffer.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/order order.c diagmatrix.c filebuffer.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/order order.c diagmatrix.c filebuffer.c ../mlagan: mlagan.c diagmatrix.c multial.c skiplist.c filebuffer.c - $(CC) -o $(TRGT_DIR)/mlagan mlagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/mlagan mlagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/mlagan mlagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG ../prolagan: prolagan.c diagmatrix.c multial.c skiplist.c filebuffer.c - $(CC) -o $(TRGT_DIR)/prolagan prolagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/prolagan prolagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/prolagan prolagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG ../utils/bin2mf: utils/bin2mf.c - $(CC) -o $(TRGT_DIR)/utils/bin2mf utils/bin2mf.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/bin2mf utils/bin2mf.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/bin2mf utils/bin2mf.c ../utils/bin2bl: utils/bin2bl.c - $(CC) -o $(TRGT_DIR)/utils/bin2bl utils/bin2bl.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/bin2bl utils/bin2bl.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/bin2bl utils/bin2bl.c ../utils/cextract: utils/cextract.c - $(CC) -o $(TRGT_DIR)/utils/cextract utils/cextract.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/cextract utils/cextract.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/cextract utils/cextract.c ../utils/cstat: utils/cstat.c - $(CC) -o $(TRGT_DIR)/utils/cstat utils/cstat.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/cstat utils/cstat.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/cstat utils/cstat.c ../utils/contigorder: utils/contigorder.c - $(CC) -o $(TRGT_DIR)/utils/contigorder utils/contigorder.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/contigorder utils/contigorder.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/contigorder utils/contigorder.c ../utils/getbounds: utils/getbounds.c - $(CC) -o $(TRGT_DIR)/utils/getbounds utils/getbounds.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getbounds utils/getbounds.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getbounds utils/getbounds.c ../utils/getcontigpos: utils/getcontigpos.c - $(CC) -o $(TRGT_DIR)/utils/getcontigpos utils/getcontigpos.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getcontigpos utils/getcontigpos.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getcontigpos utils/getcontigpos.c ../utils/getlength: utils/getlength.c - $(CC) -o $(TRGT_DIR)/utils/getlength utils/getlength.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getlength utils/getlength.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getlength utils/getlength.c ../utils/getoverlap: utils/getoverlap.c - $(CC) -o $(TRGT_DIR)/utils/getoverlap utils/getoverlap.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getoverlap utils/getoverlap.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getoverlap utils/getoverlap.c ../utils/rc: utils/rc.c - $(CC) -o $(TRGT_DIR)/utils/rc utils/rc.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/rc utils/rc.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/rc utils/rc.c ../utils/seqmerge: utils/seqmerge.c - $(CC) -o $(TRGT_DIR)/utils/seqmerge utils/seqmerge.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/seqmerge utils/seqmerge.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/seqmerge utils/seqmerge.c ../utils/scorealign: utils/scorealign.c - $(CC) -o $(TRGT_DIR)/utils/scorealign utils/scorealign.c -lm -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/scorealign utils/scorealign.c -lm ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/scorealign utils/scorealign.c -lm ../utils/scorecontigs: utils/scorecontigs.c - $(CC) -o $(TRGT_DIR)/utils/scorecontigs utils/scorecontigs.c -lm -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/scorecontigs utils/scorecontigs.c -lm ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/scorecontigs utils/scorecontigs.c -lm ../utils/fa2xfa: utils/fa2xfa.c - $(CC) -o $(TRGT_DIR)/utils/fa2xfa utils/fa2xfa.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/fa2xfa utils/fa2xfa.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/fa2xfa utils/fa2xfa.c ../utils/overlay: utils/overlay.c - $(CC) -o $(TRGT_DIR)/utils/overlay utils/overlay.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/overlay utils/overlay.c ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/overlay utils/overlay.c ../utils/Glue: utils/Glue.cpp - $(CPP) -o $(TRGT_DIR)/utils/Glue utils/Glue.cpp -+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/Glue utils/Glue.cpp ++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/Glue utils/Glue.cpp ../utils/dotplot: utils/dotplot.cpp - $(CPP) -o $(TRGT_DIR)/utils/dotplot utils/dotplot.cpp -+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/dotplot utils/dotplot.cpp -diff --git a/src/glocal/Makefile b/src/glocal/Makefile -index ce1421a..b82507f 100755 ---- a/src/glocal/Makefile -+++ b/src/glocal/Makefile -@@ -10,10 +10,10 @@ TRGT = glocal - OBJECTS = glocal.o io.o rightinfluence.o leftinfluence.o score.o - - .cpp.o: -- $(CC) -Wno-deprecated $(CFLAGS) $(INCDIR) -c $*.cpp -+ $(CXX) $(CXXFLAGS) $(INCDIR) -c $*.cpp - - $(TRGT): $(OBJECTS) -- $(CLINKER) $(OPTFLAGS) $(OBJECTS) -o $(TRGT_DIR)/$(TRGT) $(MLIB) -+ $(CXX) $(LDFLAGS) $(OBJECTS) -o $(TRGT_DIR)/$(TRGT) $(MLIB) - - clean : - rm -f *.o ./*~ *~ core ++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/dotplot utils/dotplot.cpp diff --git a/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch b/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch index 4ba4ce49d770..29db043d5f34 100644 --- a/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch +++ b/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch @@ -1,69 +1,34 @@ -Fix QA warnings due to implicit declarations: -* filebuffer.c:123:34: warning: implicit declaration of function ‘toupper’ [-Wimplicit-function-declaration] -* temp[i] = (strchr (alphabet, toupper ((char) i)) != 0) ? - ---- a/src/filebuffer.c -+++ b/src/filebuffer.c -@@ -3,6 +3,7 @@ - #include <string.h> - #include <stdio.h> - #include <assert.h> -+#include <ctype.h> - - #ifdef CHAOS__FLAG - char* alphabet = "ATCGNPCMHDEKRQSILVFYWX*"; --- a/src/mlagan.c +++ b/src/mlagan.c -@@ -934,6 +934,7 @@ - return k; +@@ -46,6 +46,7 @@ + return 1; } +int printXMFAAlign(FILE* outfile, align* myalign); - int main(int argc, char** argv) { - FileBuffer seqfile; + void usage(void) { + printf("mlagan seqfile_1 seqfile_2 [... seqfile_%d] [-parameters]\n\n", --- a/src/order.c +++ b/src/order.c -@@ -398,6 +398,9 @@ - free(ends); - } +@@ -28,6 +28,8 @@ + + align* makeAlign(dmat* mydm, char* seq1, char* seq2); +int printMFAAlign(char* seq1, char* seq2, align* myalign, char* n1, char* n2); +int printXMFAAlign(char* seq1, char* seq2, align* myalign, char* n1, char* n2); -+ - void doAlign(dmat* mydm, seq* seq1, seq* seq2) { - align *a = (align*) makeAlign(mydm, seq1->lets, seq2->lets); - // printf("into printing\n"); + + char* alpha = "ATCGN."; + --- a/src/prolagan.c +++ b/src/prolagan.c -@@ -949,6 +949,7 @@ - return k; +@@ -49,6 +49,7 @@ + return 1; } +int printXMFAAlign(FILE* outfile, align* myalign); - int main(int argc, char** argv) { - FileBuffer seqfile; ---- a/src/utils/contigorder.c -+++ b/src/utils/contigorder.c -@@ -12,7 +12,7 @@ - int dummy, i; - - if (!(file = fopen (filename, "r"))){ -- fprintf (stderr, "contigorder: Error opening file: %s\n"); -+ fprintf (stderr, "contigorder: Error opening file: %s\n", filename); - exit (1); - } - -@@ -49,7 +49,7 @@ - } - - if (!(file = fopen (filename, "r"))){ -- fprintf (stderr, "contigorder: Error opening file: %s\n"); -+ fprintf (stderr, "contigorder: Error opening file: %s\n", filename); - exit (1); - } - + void usage(void) { + printf("mlagan seqfile_1 seqfile_2 [... seqfile_%d] [-parameters]\n\n", --- a/src/utils/cstat.c +++ b/src/utils/cstat.c @@ -3,6 +3,7 @@ diff --git a/sci-biology/lagan/lagan-2.0-r3.ebuild b/sci-biology/lagan/lagan-2.0-r3.ebuild deleted file mode 100644 index e326331e09fb..000000000000 --- a/sci-biology/lagan/lagan-2.0-r3.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit toolchain-funcs - -MY_P="lagan20" - -DESCRIPTION="The LAGAN suite of tools for whole-genome multiple alignment of genomic DNA" -HOMEPAGE="http://lagan.stanford.edu/lagan_web/index.shtml" -SRC_URI="http://lagan.stanford.edu/lagan_web/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -IUSE="" -KEYWORDS="~amd64 ~x86" - -RDEPEND="dev-lang/perl" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/${PN}-2.0-flags.patch" - "${FILESDIR}/${PN}-2.0-gcc4.3.patch" - "${FILESDIR}/${PN}-2.0-fix-c++14.patch" - "${FILESDIR}/${PN}-2.0-qa-implicit-declarations.patch" -) - -src_prepare() { - sed -i "/use Getopt::Long;/ i use lib \"/usr/$(get_libdir)/${PN}/lib\";" "${S}/supermap.pl" || die - # NB: Testing with glibc-2.10 has uncovered a bug in src/utils/Sequence.h - # where libc getline is erroneously used instead of own getline - sed -i 's/getline/my_getline/' "${S}"/src/{anchors.c,glocal/io.cpp} || die - - default -} - -src_compile() { - emake \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - CXXFLAGS="${CXXFLAGS}" \ - CFLAGS="${CFLAGS}" -} - -src_install() { - newbin lagan.pl lagan - newbin slagan.pl slagan - dobin mlagan - rm -f lagan.pl slagan.pl utils/Utils.pm || die - - insinto /usr/$(get_libdir)/${PN}/lib - doins Utils.pm - - exeinto /usr/$(get_libdir)/${PN}/utils - doexe utils/* - - exeinto /usr/$(get_libdir)/${PN} - doexe *.pl anchors chaos glocal order prolagan - - insinto /usr/$(get_libdir)/${PN} - doins *.txt - - dosym /usr/$(get_libdir)/${PN}/supermap.pl /usr/bin/supermap - - echo "LAGAN_DIR=\"/usr/$(get_libdir)/${PN}\"" > 99${PN} || die - doenvd 99${PN} - - dodoc Readmes/README.* -} diff --git a/sci-biology/lagan/lagan-2.0-r4.ebuild b/sci-biology/lagan/lagan-2.0-r4.ebuild new file mode 100644 index 000000000000..4582d8f1078e --- /dev/null +++ b/sci-biology/lagan/lagan-2.0-r4.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +MY_P="lagan20" + +DESCRIPTION="The LAGAN suite of tools for whole-genome multiple alignment of genomic DNA" +HOMEPAGE="http://lagan.stanford.edu/lagan_web/index.shtml" +SRC_URI="http://lagan.stanford.edu/lagan_web/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-lang/perl" + +S="${WORKDIR}/${MY_P}" +PATCHES=( + "${FILESDIR}"/${P}-makefile.patch + "${FILESDIR}"/${P}-conflicting-getline.patch + "${FILESDIR}"/${P}-gcc-4.8.patch + "${FILESDIR}"/${P}-ambiguous-end.patch + "${FILESDIR}"/${P}-gcc-9.patch + "${FILESDIR}"/${P}-gcc-10.patch + "${FILESDIR}"/${P}-C99-static-inline.patch + "${FILESDIR}"/${P}-qa-implicit-declarations.patch +) + +src_prepare() { + default + sed -i "/use Getopt::Long;/ i use lib \"/usr/$(get_libdir)/lagan/lib\";" \ + supermap.pl || die +} + +src_configure() { + tc-export CC CXX +} + +src_install() { + newbin lagan.pl lagan + newbin slagan.pl slagan + dobin mlagan + rm lagan.pl slagan.pl utils/Utils.pm || die + + insinto /usr/$(get_libdir)/lagan/lib + doins Utils.pm + + exeinto /usr/$(get_libdir)/lagan/utils + doexe utils/* + + exeinto /usr/$(get_libdir)/lagan + doexe *.pl anchors chaos glocal order prolagan + + insinto /usr/$(get_libdir)/lagan + doins *.txt + + dosym ../$(get_libdir)/lagan/supermap.pl /usr/bin/supermap + + newenvd - 99lagan <<- _EOF_ + LAGAN_DIR="${EPREFIX}/usr/$(get_libdir)/lagan" + _EOF_ + + dodoc Readmes/README.* +} |