summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-biology/treeviewx/files/treeviewx-0.5.1-70_choose_tree.patch12
-rw-r--r--sci-biology/treeviewx/files/treeviewx-0.5.1-fix_loading_crash.patch40
-rw-r--r--sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch30
-rw-r--r--sci-biology/treeviewx/files/treeviewx-0.5.1-treeview-xpm-not-xbm.patch16
-rw-r--r--sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch78
-rw-r--r--sci-biology/treeviewx/files/treeviewx-0.5.1-wxstring-maxlen.patch34
-rw-r--r--sci-biology/treeviewx/files/treeviewx-gcc-3.4.patch73
-rw-r--r--sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild40
8 files changed, 250 insertions, 73 deletions
diff --git a/sci-biology/treeviewx/files/treeviewx-0.5.1-70_choose_tree.patch b/sci-biology/treeviewx/files/treeviewx-0.5.1-70_choose_tree.patch
new file mode 100644
index 000000000000..ed5aa43e23c3
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-70_choose_tree.patch
@@ -0,0 +1,12 @@
+## 70_choose_tree.dpatch by William Alexander Grant <william.grant@ubuntu.com.au>
+--- tv-0.5.orig/tview.cpp
++++ tv-0.5/tview.cpp
+@@ -209,7 +209,7 @@
+ wxT("SVG vector picture files (*.svg)|*.svg"),
+ wxSAVE|wxOVERWRITE_PROMPT);
+
+- if (dialog.ShowModal() == wxID_OK)
++ if ((dialog.ShowModal() == wxID_OK) && (p.GetNumTrees() != 0))
+ {
+ wxSVGFileDC pictureDC (dialog.GetPath(), 600, 650) ;
+ OnDraw (&pictureDC);
diff --git a/sci-biology/treeviewx/files/treeviewx-0.5.1-fix_loading_crash.patch b/sci-biology/treeviewx/files/treeviewx-0.5.1-fix_loading_crash.patch
new file mode 100644
index 000000000000..c136539726a3
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-fix_loading_crash.patch
@@ -0,0 +1,40 @@
+Bug: http://code.google.com/p/treeviewx/issues/detail?id=1
+Description: fix crash on loading tree file.
+Author: Tim Booth
+--- tv-0.5.orig/tview.cpp
++++ tv-0.5/tview.cpp
+@@ -278,7 +278,7 @@
+ char buf[256];
+ strcpy (buf, p->GetLabel().c_str());
+ wchar_t wbuf[256];
+- mbstowcs (wbuf, buf, size_t(wbuf));
++ mbstowcs (wbuf, buf, 256);
+ s << wbuf;
+ #else
+ s << p->GetLabel().c_str();
+@@ -563,7 +563,7 @@
+ char buf[256];
+ strcpy (buf, t.GetName().c_str());
+ wchar_t wbuf[256];
+- mbstowcs (wbuf, buf, size_t(wbuf));
++ mbstowcs (wbuf, buf, 256);
+ txt << wbuf;
+ #else
+ txt << t.GetName().c_str();
+@@ -712,7 +712,7 @@
+ char buf[256];
+ strcpy (buf, p.GetIthTreeName(i).c_str());
+ wchar_t wbuf[256];
+- mbstowcs (wbuf, buf, size_t(wbuf));
++ mbstowcs (wbuf, buf, 256);
+
+ std::wstring tname = wbuf;
+
+@@ -1046,6 +1046,7 @@
+ void MyCanvas::OnSize(wxSizeEvent& event)
+ {
+ Resize ();
++ Refresh();
+ event.Skip();
+ }
+
diff --git a/sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch b/sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch
new file mode 100644
index 000000000000..67a62179bb87
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch
@@ -0,0 +1,30 @@
+Author: Olly Betts <olly@survex.com>
+Description: Update configure.in to match what it must have said when configure was generated.
+ One thing I should probably explain about the patch as my change may
+ seem odd otherwise - upstream's configure.in says "USE_SVG=0" but the
+ generated configure says "USE_SVG=1", so I've simply updated
+ configure.in to match what it must have said when configure was
+ generated.
+Forwarded: no
+--- tv-0.5.orig/configure.in
++++ tv-0.5/configure.in
+@@ -66,7 +66,9 @@
+ case "$wx_version" in
+ 2.4.*) WX_SVG_LIB=[`$WX_CONFIG --basename`_dcsvg-`echo ${wx_version} | sed -e "s:\.[0-9]\{1,\}$::"`]
+ ;;
+- *) WX_SVG_LIB=[`$WX_CONFIG --basename`_svg-`echo ${wx_version} | sed -e "s:\.[0-9]\{1,\}$::"`]
++ 2.*) WX_SVG_LIB=[`$WX_CONFIG --basename`_svg-`echo ${wx_version} | sed -e "s:\.[0-9]\{1,\}$::"`]
++ ;;
++ *) WX_SVG_LIB=
+ ;;
+ esac
+
+@@ -76,7 +78,7 @@
+
+ if test "$USE_SVG" = 1 ; then
+ CXXFLAGS="$CXXFLAGS -DUSE_SVG"
+- LIBS="$LIBS -l$WX_SVG_LIB"
++ test -n "$WX_SVG_LIB" && LIBS="$LIBS -l$WX_SVG_LIB"
+ fi
+
+ AC_OUTPUT(Makefile ncl-2.0/Makefile ncl-2.0/src/Makefile TreeLib/Makefile tv.spec)
diff --git a/sci-biology/treeviewx/files/treeviewx-0.5.1-treeview-xpm-not-xbm.patch b/sci-biology/treeviewx/files/treeviewx-0.5.1-treeview-xpm-not-xbm.patch
new file mode 100644
index 000000000000..a57ae19aaf26
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-treeview-xpm-not-xbm.patch
@@ -0,0 +1,16 @@
+Description: Fix the extension of the icon
+Author: Olly Betts <olly@survex.com>
+Last-Update: 2014-06-21
+Forwarded: http://code.google.com/p/treeviewx/issues/detail?id=4
+
+--- tv-0.5.orig/tv.cpp
++++ tv-0.5/tv.cpp
+@@ -215,7 +215,7 @@
+ frame->SetIcon(wxIcon("app")); // use the name of the icon in the resource file
+ #endif
+ #if defined(__WXGTK__) || defined(__WXMOTIF__)
+- frame->SetIcon(wxIcon(wxT("bitmaps/treeview.xbm")));
++ frame->SetIcon(wxIcon(wxT("/usr/share/pixmaps/treeviewx.xpm")));
+ #endif
+
+ #ifdef __WXMAC__
diff --git a/sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch b/sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch
new file mode 100644
index 000000000000..b1db5749990c
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch
@@ -0,0 +1,78 @@
+ tv.cpp | 4 ++--
+ tview.cpp | 12 ++++++++----
+ 2 files changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/tv.cpp b/tv.cpp
+old mode 100755
+new mode 100644
+index 1abe90b..0df45a8
+--- a/tv.cpp
++++ b/tv.cpp
+@@ -163,9 +163,9 @@ bool MyApp::OnInit(void)
+ {
+ // Optional command line argument is name of file to open
+ #if wxUSE_UNICODE
+- wchar_t *InputFile = NULL;
++ const wchar_t *InputFile = NULL;
+ #else
+- char *InputFile = NULL;
++ const char *InputFile = NULL;
+ #endif
+ // Read input/output files
+ if (argc > 1)
+diff --git a/tview.cpp b/tview.cpp
+old mode 100755
+new mode 100644
+index 93972c3..4b2d593
+--- a/tview.cpp
++++ b/tview.cpp
+@@ -62,9 +62,13 @@
+ #ifdef __WXMSW__
+ #else
+ #ifdef USE_SVG
++#if wxMAJOR_VERSION >= 3
++ #include <wx/dcsvg.h>
++#else
+ #include <wx/svg/dcsvg.h>
+ #endif
+ #endif
++#endif
+
+ // GUI interface
+ #include "tv.h"
+@@ -186,7 +190,7 @@ void TView::OnSavePicture (wxCommandEvent& WXUNUSED(event))
+ wxFrame *f = GetMainFrame();
+ wxFileDialog dialog((wxWindow *)f, wxT("Save Picture as"), wxT(""),
+ pictureFileName, wxT("Enhanced metafile (*.emf)|*.emf"),
+- wxSAVE|wxOVERWRITE_PROMPT);
++ wxFD_SAVE|wxFD_OVERWRITE_PROMPT);
+
+ if (dialog.ShowModal() == wxID_OK)
+ {
+@@ -206,7 +210,7 @@ void TView::OnSavePicture (wxCommandEvent& WXUNUSED(event))
+ #endif
+ wxFileDialog dialog((wxWindow *)f, wxT("Save Picture as"), wxT(""),
+ pictureFileName, wxT("SVG vector picture files (*.svg)|*.svg"),
+- wxSAVE|wxOVERWRITE_PROMPT);
++ wxFD_SAVE|wxFD_OVERWRITE_PROMPT);
+
+ if (dialog.ShowModal() == wxID_OK)
+ {
+@@ -361,7 +365,7 @@ bool TView::OnClose(bool deleteWindow)
+
+ // Clear the canvas in case we're in single-window mode,
+ // and the canvas stays.
+-#if (wxMINOR_VERSION > 4) // from 2.5 Clear is deprecated
++#if (wxMAJOR_VERSION >= 3 || wxMINOR_VERSION > 4) // from 2.5 Clear is deprecated
+ canvas->ClearBackground();
+ #else
+ canvas->Clear();
+@@ -686,7 +690,7 @@ void TView::OnLeafFont (wxCommandEvent& WXUNUSED(event))
+ wxFontData data;
+ data.SetInitialFont (LeafFont);
+
+-#ifdef __WXMAC__
++#if wxMAJOR_VERSION >= 3 || defined __WXMAC__
+ wxFontDialog dialog((wxWindow *)GetFrame(), data);
+ #else
+ wxFontDialog dialog((wxWindow *)GetMainFrame(), &data);
diff --git a/sci-biology/treeviewx/files/treeviewx-0.5.1-wxstring-maxlen.patch b/sci-biology/treeviewx/files/treeviewx-0.5.1-wxstring-maxlen.patch
new file mode 100644
index 000000000000..2c5179f778ca
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-wxstring-maxlen.patch
@@ -0,0 +1,34 @@
+Description: Remove wxSTRING_MAXLEN (removed in wx3.0) and incomp. definition.
+ The definition wxSTRING_MAXLEN was removed from the public API of wxWidgets.
+ Its meaning was basically "take all the string", whenever a string length was
+ expected. The missing definition didn't raise a compilation error because
+ TreeLib's treedrawer.h contained a fall-back definition, which is however
+ incompatible with the original definition of wxWidgets and therefore is
+ interpreted by wxWidgets as a number representing the real string length.
+ This patch gets rid of the dangerous fall-back definition and of all of its
+ uses by using alternative wxString constructors that achieve the same
+ behavior.
+Author: Martin Steghöfer <martin@steghoefer.eu>
+Last-Update: Sun, 10 Aug 2014 14:06:42 +0200
+Bug-Debian: http://bugs.debian.org/751255
+
+--- tv-0.5.orig/TreeLib/treedrawer.cpp
++++ tv-0.5/TreeLib/treedrawer.cpp
+@@ -245,7 +245,7 @@
+ // error in gcc, which is probably a gcc bug
+ {
+ wxCoord w, h, descent;
+- wxString s (formatedString.c_str(), wxSTRING_MAXLEN);
++ wxString s (formatedString.c_str());
+ pt.x += dc->GetCharWidth();
+ pt.y -= dc->GetCharHeight()/2;
+ dc->DrawText (s, (int)pt.x, (int)pt.y);
+@@ -566,7 +566,7 @@
+
+ #if USE_WXWINDOWS
+ wxCoord w, h;
+- wxString s (buf, wxSTRING_MAXLEN);
++ wxString s (buf);
+ dc->GetTextExtent (s, &w, &h);
+ int x = (int)pt2.x;
+ int y = (int)pt2.y;
diff --git a/sci-biology/treeviewx/files/treeviewx-gcc-3.4.patch b/sci-biology/treeviewx/files/treeviewx-gcc-3.4.patch
deleted file mode 100644
index 9d64fabb6a9b..000000000000
--- a/sci-biology/treeviewx/files/treeviewx-gcc-3.4.patch
+++ /dev/null
@@ -1,73 +0,0 @@
---- TreeLib/nodeiterator.h.old 2002-02-24 15:37:17.000000000 -0500
-+++ TreeLib/nodeiterator.h 2005-02-27 14:23:30.971981368 -0500
-@@ -128,34 +128,34 @@
-
- template <class N> N *PreorderIterator<N>::begin ()
- {
-- cur = root;
-- return cur;
-+ this->cur = this->root;
-+ return this->cur;
- }
-
- template <class N> N *PreorderIterator<N>::next ()
- {
-- if (cur->GetChild())
-+ if (this->cur->GetChild())
- {
-- stk.push (cur);
-- N *p = (N *)(cur->GetChild());
-- cur = p;
-+ this->stk.push (this->cur);
-+ N *p = (N *)(this->cur->GetChild());
-+ this->cur = p;
- }
- else
- {
-- while (!stk.empty() && (cur->GetSibling() == NULL))
-+ while (!this->stk.empty() && (this->cur->GetSibling() == NULL))
- {
-- cur = stk.top();
-- stk.pop();
-+ this->cur = this->stk.top();
-+ this->stk.pop();
- }
-- if (stk.empty())
-- cur = NULL;
-+ if (this->stk.empty())
-+ this->cur = NULL;
- else
- {
-- N *p = (N *)(cur->GetSibling());
-- cur = p;
-+ N *p = (N *)(this->cur->GetSibling());
-+ this->cur = p;
- }
- }
-- return cur;
-+ return this->cur;
- }
-
-
---- TreeLib/profile.h.old 2002-12-10 06:37:57.000000000 -0500
-+++ TreeLib/profile.h 2005-02-27 14:27:51.205419872 -0500
-@@ -77,7 +77,7 @@
- #include <ctime>
- #endif
-
--
-+using namespace std;
-
- /**
- *@typedef std::map <std::string, int, std::less<std::string> > LabelMap;
---- TreeLib/treedrawer.cpp.old 2003-08-22 06:47:28.000000000 -0400
-+++ TreeLib/treedrawer.cpp 2005-02-27 14:26:19.279394752 -0500
-@@ -406,7 +406,7 @@
- if (q->IsLeaf())
- {
- double d = q->GetPathLength() - mMaxPathLength;
-- mUltrametric = (std::fabs(d) <= 0.0001);
-+ mUltrametric = (fabs(d) <= 0.0001);
- // cout << mMaxPathLength << ":" << q->GetPathLength() << " " << d << endl;
- }
- q = u.next();
diff --git a/sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild b/sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild
new file mode 100644
index 000000000000..99fe49d602da
--- /dev/null
+++ b/sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER=3.0
+
+inherit autotools eutils wxwidgets
+
+DESCRIPTION="A phylogenetic tree viewer"
+HOMEPAGE="http://darwin.zoology.gla.ac.uk/~rpage/treeviewx/"
+SRC_URI="http://darwin.zoology.gla.ac.uk/~rpage/${PN}/download/0.5/tv-${PV}.tar.gz"
+LICENSE="GPL-2"
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE=""
+
+DEPEND="x11-libs/wxGTK:${WX_GTK_VER}[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/tv-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-wxt.patch
+ "${FILESDIR}"/${P}-gcc4.3.patch
+ "${FILESDIR}"/${P}-70_choose_tree.patch
+ "${FILESDIR}"/${P}-fix_loading_crash.patch
+ "${FILESDIR}"/${P}-wx30.patch
+ "${FILESDIR}"/${P}-svg.patch
+ "${FILESDIR}"/${P}-treeview-xpm-not-xbm.patch
+ "${FILESDIR}"/${P}-wxstring-maxlen.patch
+ )
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ mv configure.{in,ac} || die
+ eautoreconf
+}