From f7f14ed9a6fd3fabc6f01c792ef2afecefaeb84e Mon Sep 17 00:00:00 2001 From: Justin Lecher Date: Sun, 25 Oct 2015 10:07:05 +0100 Subject: 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 --- .../files/treeviewx-0.5.1-70_choose_tree.patch | 12 ++++ .../files/treeviewx-0.5.1-fix_loading_crash.patch | 40 +++++++++++ .../treeviewx/files/treeviewx-0.5.1-svg.patch | 30 +++++++++ .../treeviewx-0.5.1-treeview-xpm-not-xbm.patch | 16 +++++ .../treeviewx/files/treeviewx-0.5.1-wx30.patch | 78 ++++++++++++++++++++++ .../files/treeviewx-0.5.1-wxstring-maxlen.patch | 34 ++++++++++ .../treeviewx/files/treeviewx-gcc-3.4.patch | 73 -------------------- sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild | 40 +++++++++++ 8 files changed, 250 insertions(+), 73 deletions(-) create mode 100644 sci-biology/treeviewx/files/treeviewx-0.5.1-70_choose_tree.patch create mode 100644 sci-biology/treeviewx/files/treeviewx-0.5.1-fix_loading_crash.patch create mode 100644 sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch create mode 100644 sci-biology/treeviewx/files/treeviewx-0.5.1-treeview-xpm-not-xbm.patch create mode 100644 sci-biology/treeviewx/files/treeviewx-0.5.1-wx30.patch create mode 100644 sci-biology/treeviewx/files/treeviewx-0.5.1-wxstring-maxlen.patch delete mode 100644 sci-biology/treeviewx/files/treeviewx-gcc-3.4.patch create mode 100644 sci-biology/treeviewx/treeviewx-0.5.1-r3.ebuild (limited to 'sci-biology') 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 +--- 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 +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 +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 ++#else + #include + #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 +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 N *PreorderIterator::begin () - { -- cur = root; -- return cur; -+ this->cur = this->root; -+ return this->cur; - } - - template N *PreorderIterator::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 - #endif - -- -+using namespace std; - - /** - *@typedef std::map > 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 +} -- cgit v1.2.3-18-g5258