commit:     f7f14ed9a6fd3fabc6f01c792ef2afecefaeb84e
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 25 09:07:05 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Sun Oct 25 09:24:01 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7f14ed9

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 <AT> gentoo.org>

 .../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(-)

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 0000000..ed5aa43
--- /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 
<[email protected]>
+--- 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 0000000..c136539
--- /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 0000000..67a6217
--- /dev/null
+++ b/sci-biology/treeviewx/files/treeviewx-0.5.1-svg.patch
@@ -0,0 +1,30 @@
+Author: Olly Betts <[email protected]>
+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 0000000..a57ae19
--- /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 <[email protected]>
+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 0000000..b1db574
--- /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 0000000..2c5179f
--- /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 <[email protected]>
+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 9d64fab..0000000
--- 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 0000000..99fe49d
--- /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
+}

Reply via email to