diff options
author | Kacper Kowalik <xarthisius@gentoo.org> | 2010-10-15 07:15:15 +0000 |
---|---|---|
committer | Kacper Kowalik <xarthisius@gentoo.org> | 2010-10-15 07:15:15 +0000 |
commit | f08f7c735d3ec7c8f41a3b102d40818970a0ab88 (patch) | |
tree | 4d6dece39612bd74fa87e30847340b97e47bc3d0 | |
parent | Automated update of use.local.desc (diff) | |
download | historical-f08f7c735d3ec7c8f41a3b102d40818970a0ab88.tar.gz historical-f08f7c735d3ec7c8f41a3b102d40818970a0ab88.tar.bz2 historical-f08f7c735d3ec7c8f41a3b102d40818970a0ab88.zip |
Fix buffer overflows wrt bug 341089. Thanks to Diego for the report. Fix implicit function declarations. Drop old.
Package-Manager: portage-2.2_rc92/cvs/Linux x86_64
-rw-r--r-- | sci-biology/vienna-rna/ChangeLog | 13 | ||||
-rw-r--r-- | sci-biology/vienna-rna/Manifest | 19 | ||||
-rw-r--r-- | sci-biology/vienna-rna/files/vienna-rna-1.7.2-disable-gd.patch | 16 | ||||
-rw-r--r-- | sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.3.patch | 79 | ||||
-rw-r--r-- | sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.4.patch | 331 | ||||
-rw-r--r-- | sci-biology/vienna-rna/files/vienna-rna-1.8.4-implicits.patch | 47 | ||||
-rw-r--r-- | sci-biology/vienna-rna/files/vienna-rna-1.8.4-overflows.patch | 26 | ||||
-rw-r--r-- | sci-biology/vienna-rna/vienna-rna-1.8.4-r2.ebuild (renamed from sci-biology/vienna-rna/vienna-rna-1.8.4.ebuild) | 27 |
8 files changed, 102 insertions, 456 deletions
diff --git a/sci-biology/vienna-rna/ChangeLog b/sci-biology/vienna-rna/ChangeLog index ff9e7e0d3b26..03349a499abf 100644 --- a/sci-biology/vienna-rna/ChangeLog +++ b/sci-biology/vienna-rna/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sci-biology/vienna-rna # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-biology/vienna-rna/ChangeLog,v 1.33 2010/07/15 09:11:27 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-biology/vienna-rna/ChangeLog,v 1.34 2010/10/15 07:15:15 xarthisius Exp $ + +*vienna-rna-1.8.4-r2 (15 Oct 2010) + + 15 Oct 2010; Kacper Kowalik <xarthisius@gentoo.org> + -files/vienna-rna-1.7.2-disable-gd.patch, + -files/vienna-rna-1.7.2-gcc4.3.patch, + -files/vienna-rna-1.7.2-gcc4.4.patch, -vienna-rna-1.8.4.ebuild, + +vienna-rna-1.8.4-r2.ebuild, +files/vienna-rna-1.8.4-implicits.patch, + +files/vienna-rna-1.8.4-overflows.patch: + Fix buffer overflows wrt bug 341089. Thanks to Diego for the report. Fix + implicit function declarations. Drop old. 15 Jul 2010; Christian Faulhammer <fauli@gentoo.org> vienna-rna-1.8.4-r1.ebuild: diff --git a/sci-biology/vienna-rna/Manifest b/sci-biology/vienna-rna/Manifest index 36ae1a547e6d..efa90b66bec9 100644 --- a/sci-biology/vienna-rna/Manifest +++ b/sci-biology/vienna-rna/Manifest @@ -1,24 +1,13 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX vienna-rna-1.6.5-c-fixes.patch 728 RMD160 5f427bb976200f58599b1878ca7273844b21aac0 SHA1 7089237c787d780d53b92c4c38ba73ec60b81218 SHA256 49955a6244eb3be73f8d2472f3a4f9b8d1f8f92ba11327961b901a2c1f1e24d8 AUX vienna-rna-1.7.2-LDFLAGS.patch 978 RMD160 ab19413ba9c5468e7d755c0eb979462d00112cb0 SHA1 5f29863572d3c16fa7616ee7aa0d2e140d94c497 SHA256 0c7db17c7a1a8a075e26f6b98b19c84a3f98f9ecdaa06755e4e426fcb1b8ce8c -AUX vienna-rna-1.7.2-disable-gd.patch 662 RMD160 3a4017911729aec9dca467242ac5570c05dc1b71 SHA1 5795bdc2ee5e14242f122f590239d77acd8ff3b2 SHA256 48e90848aa061c7339eea4966cb5e47831213af447272c20628d3b43c1fe0d6f -AUX vienna-rna-1.7.2-gcc4.3.patch 2738 RMD160 c559c768b8c4e9b92f9bdbd66f5e3ff12ba5e5df SHA1 d1c1f8b9fa8109ad58613db53c72d8ae921990ce SHA256 234374db06aacef6cf7856fcb61642c501d8b03cd5bd579c167e1455774f5610 -AUX vienna-rna-1.7.2-gcc4.4.patch 8935 RMD160 134d76cd6fd3a5988b099dad902e65c49c5607bd SHA1 bc1b6d1012a6078fd641f135655ea1eb1e072b28 SHA256 70a9624a5ee0272fb3e558de0a55479f33307e0abca6532df1ca38c734055a82 AUX vienna-rna-1.8.3-disable-gd.patch 655 RMD160 e918a233e1f1c8f3bee8c721ca793dcde60b2bcb SHA1 97a6f785187ffb9005696a8fa10207b66065b5b0 SHA256 f84d41142fd7368d809895b2feec057ed69d0022c6bfb2b521c7491295e56990 AUX vienna-rna-1.8.3-gcc4.3.patch 2825 RMD160 564b0904d3442e1a835478c405771b288593668c SHA1 876fd2872300191131681d965b0b5f1a2c1cbe8d SHA256 1bea24f0fb851f8ec54973c14eaebbd0c27658b05c6a670557b45a883f0b1d57 AUX vienna-rna-1.8.4-bindir.patch 351 RMD160 e12b774a2c8224ed85785f9e3994a48b3d8b89e6 SHA1 b45dc4691ae3b4ef205261ff0aae47a065be248a SHA256 ed37f36fcaf0db8bcae83e7de7cbcea44617671f691ad430b65e2931575b1749 +AUX vienna-rna-1.8.4-implicits.patch 1163 RMD160 489b9a557c7cae23da0491ba7f5f8728a3832f10 SHA1 4cb39153f57bec07d38aead97fc20cd29828e54e SHA256 f49e60dc866e7844fea32e90b9e91ceb0b06cf937f52781179938519e618cf1a AUX vienna-rna-1.8.4-jobserver-fix.patch 681 RMD160 c72649a57ece3d511cc18f2cac47c7ab103c258d SHA1 0c5e67318c826f12553cf8cb807c3061c1e70574 SHA256 bec5248214ba303d85afda03e663f84061258cd06f2f50773011251299a42b84 +AUX vienna-rna-1.8.4-overflows.patch 740 RMD160 ec5f8a0f22eb7ddc845d515cd7896e90d31ecdbd SHA1 084eea746bf2ae44775063397baa2f9314a05bde SHA256 cd977c5acfca05890768893ab5e18fca5fee167dac341e0edd16bc4fd7cd2a08 DIST ViennaRNA-1.8.4.tar.gz 1397733 RMD160 29939511e560d898164c21d2452316b0a3a6771e SHA1 6e3a0751849f1b43d4751ce64670a21a3718f040 SHA256 90a5408d05f7dd35031a527d1823607daa8fc8f394b438fb072be78afc7174b7 EBUILD vienna-rna-1.8.4-r1.ebuild 2442 RMD160 1cf550fbdd5ccad33d78c80dd28daee9d7ca26a7 SHA1 f4f38670188a33cb1573bf9212fcad74e780eb87 SHA256 c50070023678a5ac1d8564a7c3ea1c42e27490ecf10478854ec1bab8697ca1b6 -EBUILD vienna-rna-1.8.4.ebuild 2405 RMD160 e88691d4b23d2f8e6856022b692b74522fa5a78d SHA1 25cc55c648d39c0fce9cabd381ebe0603f1a3d14 SHA256 c78a85279314697f399e067da5138fffb279027feb80e3d8b504f8c64798f5ac -MISC ChangeLog 5016 RMD160 d23a7207558f8682121c0bb9a74125bbdb3fc0a8 SHA1 2fc4695e47a70b76f2617233ccfa74478f636504 SHA256 956d2a9f914dd6311ca9bfc2936e43bb35271e7671ccd43248dd2b12aec5558c +EBUILD vienna-rna-1.8.4-r2.ebuild 2286 RMD160 47f68939f61cdd3075d1ee568c26b16893924e31 SHA1 8cfccd0b55f7607d78276f5e6b5d150757cb205c SHA256 a7ccbaa4dcbf73dc0c687e270a3dc0f7c6134c94adbd05cebf76f7d638a6529f +MISC ChangeLog 5496 RMD160 28716bb03cf7b94d00722f5413a90e3a42f926e3 SHA1 684c288fe75cdc1f326e9794505a21f0c279af50 SHA256 ec04f3254f744ab1b3dd8f57d10c4448e6a69b9260447afa78189feac57c7a7f MISC metadata.xml 1210 RMD160 41d50f7af8428b196c4ef855b68dcb657588bb34 SHA1 08f8e1aa88086fd9a3f5fa03fa46c31e12a3f776 SHA256 9c8b3f60f6098accff7c67f26ea07cb5b57e9ed8eae5d3d03949f1718ab6517e ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.15 (GNU/Linux) - -iEYEARECAAYFAkw+0TIACgkQNQqtfCuFnePfXQCeIOHiTSlsuxEWz0t2j3BqHD6h -oPkAoJsOQePSFIBcWLB3vmM4yf1z2ZYb -=gF8T ------END PGP SIGNATURE----- diff --git a/sci-biology/vienna-rna/files/vienna-rna-1.7.2-disable-gd.patch b/sci-biology/vienna-rna/files/vienna-rna-1.7.2-disable-gd.patch deleted file mode 100644 index 6b3bdefa6875..000000000000 --- a/sci-biology/vienna-rna/files/vienna-rna-1.7.2-disable-gd.patch +++ /dev/null @@ -1,16 +0,0 @@ -# unfortunately, vienna-rna's build system is a little broken and sometimes detects -# gd in RNAforested but then realizes in g2 that it can't actually build it -# resulting in unresolved symbols. - -diff -Naur ViennaRNA-1.7.2/RNAforester/configure.in ViennaRNA-1.7.2.new/RNAforester/configure.in ---- ViennaRNA-1.7.2/RNAforester/configure.in 2006-01-19 10:26:09.000000000 -0500 -+++ ViennaRNA-1.7.2.new/RNAforester/configure.in 2008-10-06 14:08:56.000000000 -0400 -@@ -31,7 +31,7 @@ - CPPFLAGS=["-Ig2-0.70/src/ -Lg2-0.70/ ${CPPFLAGS}"] - - --AC_CHECK_LIB(gd,gdImageLine,,) -+dnl AC_CHECK_LIB(gd,gdImageLine,,) - - dnl Checks for header files. - AC_HEADER_STDC diff --git a/sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.3.patch b/sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.3.patch deleted file mode 100644 index 4f5bd37f3a77..000000000000 --- a/sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.3.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -Naur ViennaRNA-1.7/Cluster/AS_main.c ViennaRNA-1.7.new/Cluster/AS_main.c ---- ViennaRNA-1.7/Cluster/AS_main.c 2001-04-05 04:36:41.000000000 -0400 -+++ ViennaRNA-1.7.new/Cluster/AS_main.c 2008-08-28 10:53:11.000000000 -0400 -@@ -1,5 +1,6 @@ - #include <stdio.h> - #include <string.h> -+#include <stdlib.h> - #include "distance_matrix.h" - #include "statgeom.h" - #include "split.h" -diff -Naur ViennaRNA-1.7/Cluster/statgeom.c ViennaRNA-1.7.new/Cluster/statgeom.c ---- ViennaRNA-1.7/Cluster/statgeom.c 2001-04-05 04:36:41.000000000 -0400 -+++ ViennaRNA-1.7.new/Cluster/statgeom.c 2008-08-28 10:53:11.000000000 -0400 -@@ -7,6 +7,7 @@ - #include <stdio.h> - #include <strings.h> - #include <ctype.h> -+#include <stdlib.h> - #include "utils.h" - #include "PS3D.h" - #include "distance_matrix.h" -diff -Naur ViennaRNA-1.7/Cluster/treeplot.c ViennaRNA-1.7.new/Cluster/treeplot.c ---- ViennaRNA-1.7/Cluster/treeplot.c 2001-04-05 04:36:41.000000000 -0400 -+++ ViennaRNA-1.7.new/Cluster/treeplot.c 2008-08-28 10:53:11.000000000 -0400 -@@ -1,6 +1,7 @@ - #include <stdio.h> - #include <string.h> - #include <math.h> -+#include <stdlib.h> - #include "distance_matrix.h" - #include "utils.h" - -diff -Naur ViennaRNA-1.7/RNAforester/src/main.cpp ViennaRNA-1.7.new/RNAforester/src/main.cpp ---- ViennaRNA-1.7/RNAforester/src/main.cpp 2005-08-05 10:14:10.000000000 -0400 -+++ ViennaRNA-1.7.new/RNAforester/src/main.cpp 2008-08-28 10:53:11.000000000 -0400 -@@ -19,6 +19,8 @@ - #include <list> - #include <sstream> - #include <string> -+#include <cstring> -+#include <climits> - #include <map> - - //#include <sys/timeb.h>
-diff -Naur ViennaRNA-1.7/RNAforester/src/ppforestbase.h ViennaRNA-1.7.new/RNAforester/src/ppforestbase.h ---- ViennaRNA-1.7/RNAforester/src/ppforestbase.h 2006-05-08 07:49:33.000000000 -0400 -+++ ViennaRNA-1.7.new/RNAforester/src/ppforestbase.h 2008-08-28 10:53:11.000000000 -0400 -@@ -16,6 +16,7 @@ - - #include <algorithm> - #include <cassert> -+#include <cstring> - - #include "misc.h" - #include "types.h" -diff -Naur ViennaRNA-1.7/RNAforester/src/rna_algebra.h ViennaRNA-1.7.new/RNAforester/src/rna_algebra.h ---- ViennaRNA-1.7/RNAforester/src/rna_algebra.h 2004-09-01 17:55:22.000000000 -0400 -+++ ViennaRNA-1.7.new/RNAforester/src/rna_algebra.h 2008-08-28 10:53:11.000000000 -0400 -@@ -3,6 +3,8 @@ -
- #include <assert.h> - #include <algorithm> -+#include <cstring> -+#include <climits> - - #include "algebra.h" - #include "debug.h" -diff -Naur ViennaRNA-1.7/Readseq/ureadseq.c ViennaRNA-1.7.new/Readseq/ureadseq.c ---- ViennaRNA-1.7/Readseq/ureadseq.c 2002-11-27 06:23:56.000000000 -0500 -+++ ViennaRNA-1.7.new/Readseq/ureadseq.c 2008-08-28 10:53:11.000000000 -0400 -@@ -16,7 +16,7 @@ - * - */ - -- -+#include <stdlib.h> - #include <stdio.h> - #include <ctype.h> - #include <string.h> diff --git a/sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.4.patch b/sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.4.patch deleted file mode 100644 index 3ba7e636ccfa..000000000000 --- a/sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.4.patch +++ /dev/null @@ -1,331 +0,0 @@ -diff -ur ViennaRNA-1.7.2.orig/Kinfold/main.c ViennaRNA-1.7.2/Kinfold/main.c ---- ViennaRNA-1.7.2.orig/Kinfold/main.c 2006-11-24 10:13:55.000000000 +0200 -+++ ViennaRNA-1.7.2/Kinfold/main.c 2009-07-30 11:27:39.000000000 +0300 -@@ -27,7 +27,7 @@ - /* PRIVAT FUNCTIONS */ - static void ini_energy_model(void); - static void read_data(void); --static char *getline(FILE *fp); -+static char *v_getline(FILE *fp); - static void clean_up(void); - - /**/ -@@ -133,7 +133,7 @@ - /* - read sequence - */ -- ctmp = getline(stdin); -+ ctmp = v_getline(stdin); - len = strlen(ctmp); - GAV.farbe = (char *)calloc(len+1, sizeof(char)); - assert(GAV.farbe != NULL); -@@ -153,7 +153,7 @@ - read start structure - */ - if (GTV.start) { -- ctmp = getline(stdin); -+ ctmp = v_getline(stdin); - len = strlen(ctmp); - sscanf(ctmp, "%s", GAV.startform); - -@@ -174,7 +174,7 @@ - */ - if (GTV.stop) { - s = GAV.stopform; -- while (( ctmp = getline(stdin))) { -+ while (( ctmp = v_getline(stdin))) { - *s = (char *)calloc(GSV.len+1, sizeof(char)); - sscanf(ctmp, "%s", *s); - -@@ -207,7 +207,7 @@ - } - - /**/ --static char *getline(FILE *fp) { -+static char *v_getline(FILE *fp) { - char s[512], *line, *cp; - - line = NULL; -diff -ur ViennaRNA-1.7.2.orig/Readseq/ureadseq.c ViennaRNA-1.7.2/Readseq/ureadseq.c ---- ViennaRNA-1.7.2.orig/Readseq/ureadseq.c 2002-11-27 13:23:56.000000000 +0200 -+++ ViennaRNA-1.7.2/Readseq/ureadseq.c 2009-07-30 11:29:35.000000000 +0300 -@@ -136,12 +136,12 @@ - } - } - --Local void getline(struct ReadSeqVars *V) -+Local void v_getline(struct ReadSeqVars *V) - { - readline(V->f, V->s, &V->linestart); - } - --Local void ungetline(struct ReadSeqVars *V) -+Local void unv_getline(struct ReadSeqVars *V) - { - fseek(V->f, V->linestart, 0); - } -@@ -215,7 +215,7 @@ - - if (addfirst) addseq(V->s, V); - do { -- getline(V); -+ v_getline(V); - V->done = feof(V->f); - V->done |= (*endTest)( &addend, &ungetend, V); - if (V->addit && (addend || !V->done) && (strlen(V->s) > margin)) { -@@ -226,7 +226,7 @@ - if (V->choice == kListSequences) addinfo(V->seqid, V); - else { - V->allDone = (V->nseq >= V->choice); -- if (V->allDone && ungetend) ungetline(V); -+ if (V->allDone && ungetend) unv_getline(V); - } - } - -@@ -246,7 +246,7 @@ - - while (!V->allDone) { - do { -- getline(V); -+ v_getline(V); - for (si= V->s; *si != 0 && *si < ' '; si++) *si= ' '; /* drop controls */ - if (*si == 0) *V->s= 0; /* chop line to empty */ - } while (! (feof(V->f) || ((*V->s != 0) && (*V->s != ';') ) )); -@@ -272,13 +272,13 @@ - { /* ? only 1 seq/file ? */ - - while (!V->allDone) { -- getline(V); -+ v_getline(V); - if (strstr(V->s,"; DNA sequence ") == V->s) - strcpy(V->seqid, (V->s)+16); - else - strcpy(V->seqid, (V->s)+1); - while ((!feof(V->f)) && (*V->s == ';')) { -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - else readLoop(0, true, endStrider, V); -@@ -298,16 +298,16 @@ - - while (!V->allDone) { - while (! (feof(V->f) || strstr(V->s,"ENTRY") || strstr(V->s,"SEQUENCE")) ) -- getline(V); -+ v_getline(V); - strcpy(V->seqid, (V->s)+16); - while (! (feof(V->f) || strstr(V->s,"SEQUENCE") == V->s)) -- getline(V); -+ v_getline(V); - readLoop(0, false, endPIR, V); - - if (!V->allDone) { - while (! (feof(V->f) || ((*V->s != 0) - && (strstr( V->s,"ENTRY") == V->s)))) -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - } -@@ -327,13 +327,13 @@ - while (!V->allDone) { - strcpy(V->seqid, (V->s)+12); - while (! (feof(V->f) || strstr(V->s,"ORIGIN") == V->s)) -- getline(V); -+ v_getline(V); - readLoop(0, false, endGB, V); - - if (!V->allDone) { - while (! (feof(V->f) || ((*V->s != 0) - && (strstr( V->s,"LOCUS") == V->s)))) -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - } -@@ -364,11 +364,11 @@ - { - while (!V->allDone) { - strcpy(V->seqid, (V->s)+4); -- getline(V); /*skip title-junk line*/ -+ v_getline(V); /*skip title-junk line*/ - readLoop(0, false, endNBRF, V); - if (!V->allDone) { - while (!(feof(V->f) || (*V->s != 0 && *V->s == '>'))) -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - } -@@ -390,7 +390,7 @@ - readLoop(0, false, endPearson, V); - if (!V->allDone) { - while (!(feof(V->f) || ((*V->s != 0) && (*V->s == '>')))) -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - } -@@ -410,14 +410,14 @@ - while (!V->allDone) { - strcpy(V->seqid, (V->s)+5); - do { -- getline(V); -+ v_getline(V); - } while (!(feof(V->f) | (strstr(V->s,"SQ ") == V->s))); - - readLoop(0, false, endEMBL, V); - if (!V->allDone) { - while (!(feof(V->f) | - ((*V->s != '\0') & (strstr(V->s,"ID ") == V->s)))) -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - } -@@ -437,13 +437,13 @@ - /*! 1st string is Zuker's Fortran format */ - - while (!V->allDone) { -- getline(V); /*s == "seqLen seqid string..."*/ -+ v_getline(V); /*s == "seqLen seqid string..."*/ - strcpy(V->seqid, (V->s)+6); - readLoop(0, false, endZuker, V); - if (!V->allDone) { - while (!(feof(V->f) | - ((*V->s != '\0') & (*V->s == '(')))) -- getline(V); -+ v_getline(V); - } - if (feof(V->f)) V->allDone = true; - } -@@ -486,7 +486,7 @@ - do { - addseq(V->s, V); - V->done = feof(V->f); -- getline(V); -+ v_getline(V); - } while (!V->done); - if (V->choice == kListSequences) addinfo(V->seqid, V); - V->allDone = true; -@@ -498,7 +498,7 @@ - /* - 10nov91: Reading GCG files casued duplication of last line when - EOF followed that line !!! -- fix: getline now sets *V->s = 0 -+ fix: v_getline now sets *V->s = 0 - */ - char *si; - -@@ -512,7 +512,7 @@ - else if (si = strstr(V->seqid,"..")) *si = 0; - do { - V->done = feof(V->f); -- getline(V); -+ v_getline(V); - if (!V->done) addseq((V->s), V); - } while (!V->done); - if (V->choice == kListSequences) addinfo(V->seqid, V); -@@ -531,7 +531,7 @@ - if (V->addit) V->seqlen = 0; - rewind(V->f); V->nseq= 0; - do { -- getline(V); -+ v_getline(V); - V->done = feof(V->f); - - if (V->done && !(*V->s)) break; -@@ -614,7 +614,7 @@ - if (V->addit) V->seqlen = 0; - rewind(V->f); V->nseq= 0; - do { -- getline(V); -+ v_getline(V); - V->done = feof(V->f); - - if (V->done && !(*V->s)) break; -@@ -685,7 +685,7 @@ - domatch= (V->matchchar > 0); - - do { -- getline(V); -+ v_getline(V); - V->done = feof(V->f); - - if (V->done && !(*V->s)) break; -@@ -766,7 +766,7 @@ - /* rewind(V->f); V->nseq= 0; << do in caller !*/ - indata= true; /* call here after we find "matrix" */ - do { -- getline(V); -+ v_getline(V); - V->done = feof(V->f); - - if (V->done && !(*V->s)) break; -@@ -851,7 +851,7 @@ - /* fprintf(stderr,"Phylip-ileaf: topnseq=%d topseqlen=%d\n",V->topnseq, V->topseqlen); */ - - do { -- getline(V); -+ v_getline(V); - V->done = feof(V->f); - - if (V->done && !(*V->s)) break; -@@ -904,7 +904,7 @@ - while (isdigit(*si)) si++; - skipwhitespace(si); - V->topseqlen= atol(si); -- getline(V); -+ v_getline(V); - while (!V->allDone) { - V->seqlencount= 0; - strncpy(V->seqid, (V->s), 10); -@@ -935,10 +935,10 @@ - V->err = eFileNotFound; - else { - -- for (l = skiplines_; l > 0; l--) getline( V); -+ for (l = skiplines_; l > 0; l--) v_getline( V); - - do { -- getline( V); -+ v_getline( V); - for (l= strlen(V->s); (l > 0) && (V->s[l] == ' '); l--) ; - } while ((l == 0) && !feof(V->f)); - -@@ -963,7 +963,7 @@ - char *cp; - /* rewind(V->f); V->nseq= 0; ?? assume it is at top ?? skiplines ... */ - while (!done) { -- getline( V); -+ v_getline( V); - tolowerstr( V->s); - if (strstr( V->s, "matrix")) done= true; - if (strstr( V->s, "interleav")) interleaved= true; -@@ -995,7 +995,7 @@ - break; - - case kFitch : -- strcpy(V->seqid, V->s); getline(V); -+ strcpy(V->seqid, V->s); v_getline(V); - readFitch(V); - break; - -@@ -1003,7 +1003,7 @@ - do { - gotuw = (strstr(V->s,"..") != NULL); - if (gotuw) readUWGCG(V); -- getline(V); -+ v_getline(V); - } while (!(feof(V->f) || V->allDone)); - break; - } -diff -ur ViennaRNA-1.7.2.orig/RNAforester/src/rnafuncs.cpp ViennaRNA-1.7.2/RNAforester/src/rnafuncs.cpp ---- ViennaRNA-1.7.2.orig/RNAforester/src/rnafuncs.cpp 2005-08-05 13:52:50.000000000 +0300 -+++ ViennaRNA-1.7.2/RNAforester/src/rnafuncs.cpp 2009-07-30 11:26:47.000000000 +0300 -@@ -1,3 +1,5 @@ -+#include <cstdio> -+ - #include <algorithm> - #include <cctype> - #include <iomanip> diff --git a/sci-biology/vienna-rna/files/vienna-rna-1.8.4-implicits.patch b/sci-biology/vienna-rna/files/vienna-rna-1.8.4-implicits.patch new file mode 100644 index 000000000000..e6a3b87456a5 --- /dev/null +++ b/sci-biology/vienna-rna/files/vienna-rna-1.8.4-implicits.patch @@ -0,0 +1,47 @@ +Fix implicit function declarations and attempt to free non-heap obj + +--- lib/subopt.c ++++ lib/subopt.c +@@ -80,12 +80,12 @@ + #include <string.h> + #include <math.h> + #include "fold.h" ++#include "cofold.h" + #include "utils.h" + #include "energy_par.h" + #include "fold_vars.h" + #include "pair_mat.h" + #include "list.h" +-#include "subopt.h" + #include "params.h" + + #define true 1 +--- Progs/RNAfold.c ++++ Progs/RNAfold.c +@@ -20,6 +20,7 @@ + #include "MEA.h" + extern void read_parameter_file(const char fname[]); + extern plist * stackProb(double cutoff); ++extern void init_pf_circ_fold(int length); + + /*@unused@*/ + static char UNUSED rcsid[] = "$Id: vienna-rna-1.8.4-implicits.patch,v 1.1 2010/10/15 07:15:15 xarthisius Exp $"; +--- Cluster/AS_main.c ++++ Cluster/AS_main.c +@@ -1,6 +1,7 @@ + #include <stdio.h> + #include <string.h> + #include <stdlib.h> ++#include <unistd.h> + #include "distance_matrix.h" + #include "statgeom.h" + #include "split.h" +@@ -226,7 +227,7 @@ + for(j=0;j<nn[i];j++) free(ss[i][j]); + free(ss[i]); + } +- free(ss); ++ // free(ss); // attempt to free a non-heap object ‘ss’ + } + else { + printf_taxa_list(); diff --git a/sci-biology/vienna-rna/files/vienna-rna-1.8.4-overflows.patch b/sci-biology/vienna-rna/files/vienna-rna-1.8.4-overflows.patch new file mode 100644 index 000000000000..fcaa5f9a53b6 --- /dev/null +++ b/sci-biology/vienna-rna/files/vienna-rna-1.8.4-overflows.patch @@ -0,0 +1,26 @@ +Fix buffer overflows + +http://bugs.gentoo.org/show_bug.cgi?id=341089 + +--- Readseq/ureadseq.c ++++ Readseq/ureadseq.c +@@ -1579,7 +1579,7 @@ + + short linesout = 0, seqtype = kNucleic; + long i, j, l, l1, ibase; +- char idword[31], endstr[10]; ++ char idword[31], endstr[15]; + char seqnamestore[128], *seqname = seqnamestore; + char s[kMaxseqwidth], *cp; + char nameform[10], numform[10], nocountsymbols[10]; +--- lib/part_func_up.c ++++ lib/part_func_up.c +@@ -1438,7 +1438,7 @@ + PUBLIC int plot_free_pu_out(pu_out* res, interact *pint, char *ofile, char *head) { + int size,s,i,len; + double dG_u; +- char nan[4], *time, startl[2], dg[10];; ++ char nan[4], *time, startl[3], dg[10];; + FILE *wastl; + + wastl = fopen(ofile,"a"); diff --git a/sci-biology/vienna-rna/vienna-rna-1.8.4.ebuild b/sci-biology/vienna-rna/vienna-rna-1.8.4-r2.ebuild index c01e44f59139..0fffa5e85e05 100644 --- a/sci-biology/vienna-rna/vienna-rna-1.8.4.ebuild +++ b/sci-biology/vienna-rna/vienna-rna-1.8.4-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-biology/vienna-rna/vienna-rna-1.8.4.ebuild,v 1.4 2010/04/03 21:41:51 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-biology/vienna-rna/vienna-rna-1.8.4-r2.ebuild,v 1.1 2010/10/15 07:15:15 xarthisius Exp $ EAPI="2" @@ -13,7 +13,7 @@ SRC_URI="http://www.tbi.univie.ac.at/~ivo/RNA/ViennaRNA-${PV}.tar.gz" SLOT="0" IUSE="" -KEYWORDS="amd64 ~ppc x86" +KEYWORDS="~amd64 ~ppc ~x86" DEPEND="dev-lang/perl media-libs/gd" @@ -27,6 +27,9 @@ PATCHES=( "${FILESDIR}"/${PN}-1.8.3-gcc4.3.patch "${FILESDIR}"/${PN}-1.8.3-disable-gd.patch "${FILESDIR}"/${P}-jobserver-fix.patch + "${FILESDIR}"/${P}-bindir.patch + "${FILESDIR}"/${P}-overflows.patch + "${FILESDIR}"/${P}-implicits.patch ) src_prepare() { @@ -39,7 +42,7 @@ src_prepare() { } src_configure() { - econf --with-cluster || die "Configuration failed." + econf --with-cluster sed -e "s:LIBDIR = /usr/lib:LIBDIR = ${D}/usr/$(get_libdir):" \ -e "s:INCDIR = /usr/include:INCDIR = ${D}/usr/include:" \ -i RNAforester/g2-0.70/Makefile \ @@ -50,7 +53,7 @@ src_configure() { src_compile() { emake clean || die - emake || die "Compilation failed." + emake || die emake -C Readseq || die "Failed to compile readseq." # TODO: Add (optional?) support for the NCBI toolkit. } @@ -61,16 +64,12 @@ src_test() { } src_install() { - make install DESTDIR="${D}" || die "Installation failed." - dodoc AUTHORS ChangeLog NEWS README THANKS \ - || die "Failed to install documentation." - newbin Readseq/readseq readseq-vienna \ - || die "Installing readseq failed." - dodoc Readseq/Readseq.help || die \ - "Readseq Documentation installation failed." - newdoc Readseq/Readme README.readseq && \ - newdoc Readseq/Formats Formats.readseq \ - || die "Installing readseq Readme failed." + emake DESTDIR="${D}" install || die + dodoc AUTHORS ChangeLog NEWS README THANKS || die + newbin Readseq/readseq readseq-vienna || die + dodoc Readseq/Readseq.help || die + newdoc Readseq/Readme README.readseq || die + newdoc Readseq/Formats Formats.readseq || die # remove perlocal.pod to avoid file collisions (see #240358) fixlocalpod || die "Failed to remove perlocal.pod" |