mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
sci-biology/treeviewx: Import debian patchset for wxgtk-3.0 support
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=563970 Package-Manager: portage-2.2.23 Signed-off-by: Justin Lecher <jlec@gentoo.org>
This commit is contained in:
@@ -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);
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
30
sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch
Normal file
30
sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch
Normal file
@@ -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)
|
||||
@@ -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__
|
||||
78
sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch
Normal file
78
sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch
Normal file
@@ -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);
|
||||
@@ -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;
|
||||
@@ -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();
|
||||
40
sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild
Normal file
40
sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user