summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKacper Kowalik <xarthisius@gentoo.org>2010-10-15 07:15:15 +0000
committerKacper Kowalik <xarthisius@gentoo.org>2010-10-15 07:15:15 +0000
commitf08f7c735d3ec7c8f41a3b102d40818970a0ab88 (patch)
tree4d6dece39612bd74fa87e30847340b97e47bc3d0 /sci-biology/vienna-rna
parentAutomated update of use.local.desc (diff)
downloadhistorical-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
Diffstat (limited to 'sci-biology/vienna-rna')
-rw-r--r--sci-biology/vienna-rna/ChangeLog13
-rw-r--r--sci-biology/vienna-rna/Manifest19
-rw-r--r--sci-biology/vienna-rna/files/vienna-rna-1.7.2-disable-gd.patch16
-rw-r--r--sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.3.patch79
-rw-r--r--sci-biology/vienna-rna/files/vienna-rna-1.7.2-gcc4.4.patch331
-rw-r--r--sci-biology/vienna-rna/files/vienna-rna-1.8.4-implicits.patch47
-rw-r--r--sci-biology/vienna-rna/files/vienna-rna-1.8.4-overflows.patch26
-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"