commit:     0f3f5afb945bb13bd02ec8865a8793ec5d9ac8f0
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 24 09:21:59 2015 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sat Oct 24 09:22:25 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f3f5afb

dev-vcs/rapidsvn: Support wxGTK:3.0 (#563348)

Package-Manager: portage-2.2.23

 dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch | 192 +++++++++++++++++++++
 dev-vcs/rapidsvn/rapidsvn-0.12.1-r2.ebuild         | 126 ++++++++++++++
 2 files changed, 318 insertions(+)

diff --git a/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch 
b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch
new file mode 100644
index 0000000..2862e30
--- /dev/null
+++ b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch
@@ -0,0 +1,192 @@
+Description: Update for wx 3.0.0
+ Update configure to recognise that wx 3.0.0 >= 2.4.2.
+ Fix code for wx API changes.
+Author: Olly Betts <o...@survex.com>
+Origin: debian
+Forwarded: no
+Last-Update: 2014-04-10
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -171,6 +171,8 @@
+         ;;
+     [2.[5-9].*])
+       ;;
++    3.*)
++      ;;
+     *)
+         AC_MSG_ERROR([wxWidgets >= 2.4.2 required, found version $WX_VERSION])
+       AC_MSG_ERROR([Try --with-wx-config.])
+--- a/src/filelist_ctrl.cpp
++++ b/src/filelist_ctrl.cpp
+@@ -1029,7 +1029,7 @@
+ 
+     // Workaround for issue 324 (only local+non-flat+update):
+     //   we chdir to the requested dir and pass "." to svn
+-    if (!pathUtf8.isUrl() && m->WithUpdate && !m->FlatMode)
++    if (!pathUtf8.isUrl() && m->WithUpdate && !m->FlatMode && 
!m->Path.empty())
+     {
+       m->IsRelative = true;
+       ::wxSetWorkingDirectory(m->Path);
+@@ -1606,7 +1606,7 @@
+   }
+ }
+ 
+-inline void
++bool
+ FileListCtrl::SetColumnWidth(const int col, const int width)
+ {
+   m->ColumnWidth[col] = width;
+@@ -1614,8 +1614,9 @@
+   int index = m->ColumnIndex[col];
+   if (index != -1)
+   {
+-    wxListCtrl::SetColumnWidth(index, width);
++    return wxListCtrl::SetColumnWidth(index, width);
+   }
++  return false;
+ }
+ 
+ int
+--- a/src/filelist_ctrl.hpp
++++ b/src/filelist_ctrl.hpp
+@@ -118,7 +118,7 @@
+    * @param col column number
+    * @param width
+    */
+-  void
++  bool
+   SetColumnWidth(const int col, const int width);
+ 
+   /**
+--- a/src/hist_val.cpp
++++ b/src/hist_val.cpp
+@@ -113,7 +113,7 @@
+       }
+ 
+       // if we have an entry, select it
+-      if (!comboBox->IsEmpty())
++      if (!comboBox->IsListEmpty())
+         comboBox->SetSelection(0, 0);
+     }
+ 
+--- a/src/listener.cpp
++++ b/src/listener.cpp
+@@ -167,7 +167,7 @@
+     wxMutexLocker lock(mutex);
+     wxString localCertFile = wxFileSelector(
+                                _("Select Certificate File"), wxT(""), 
wxT(""), wxT(""),
+-                               wxT("*.*"), wxOPEN | wxFILE_MUST_EXIST, 
parent);
++                               wxT("*.*"), wxFD_OPEN | wxFD_FILE_MUST_EXIST, 
parent);
+     LocalToUtf8(localCertFile, certFile);
+ 
+     dataReceived = !localCertFile.empty();
+--- a/src/log_dlg.cpp
++++ b/src/log_dlg.cpp
+@@ -211,7 +211,7 @@
+ 
+     for (size_t idx = 0; idx < str.Length(); idx++)
+     {
+-      switch (str[idx])
++      switch ((wchar_t)str[idx])
+       {
+       case wxT('\r'):
+       case wxT('\n'):
+--- a/src/preferences_dlg.cpp
++++ b/src/preferences_dlg.cpp
+@@ -126,7 +126,7 @@
+ PreferencesDlg::SelectExecutable(const wxString & title, wxTextCtrl * 
textCtrl)
+ {
+   wxFileDialog dlg(this, title, wxEmptyString, wxEmptyString,
+-                   EXECUTABLE_WILDCARD, wxOPEN);
++                   EXECUTABLE_WILDCARD, wxFD_OPEN);
+   dlg.SetPath(textCtrl->GetValue());
+ 
+   if (dlg.ShowModal() != wxID_OK)
+--- a/src/verblist.cpp
++++ b/src/verblist.cpp
+@@ -71,7 +71,7 @@
+ const wxString &
+ VerbList::GetName(size_t /*index*/) const
+ {
+-  return wxT("");
++  return wxEmptyString;
+ }
+ 
+ 
+--- a/src/checkout_action.cpp
++++ b/src/checkout_action.cpp
+@@ -120,7 +120,8 @@
+       pegRevision = svn::Revision(revnum);
+   }
+ 
+-  wxSetWorkingDirectory(m_data.DestFolder);
++  if (!m_data.DestFolder.empty())
++    wxSetWorkingDirectory(m_data.DestFolder);
+ 
+   svn::Path repUrlUtf8(PathUtf8(m_data.RepUrl));
+   svn::Path destFolderUtf8(PathUtf8(dest_folder));
+--- a/src/action.cpp
++++ b/src/action.cpp
+@@ -218,7 +218,9 @@
+ bool
+ Action::Prepare()
+ {
+-  wxSetWorkingDirectory(Utf8ToLocal(m->path.c_str()));
++  const wxString & dir = Utf8ToLocal(m->path.c_str());
++  if (!dir.empty())
++    wxSetWorkingDirectory(dir);
+ 
+   return true;
+ }
+--- a/src/cleanup_action.cpp
++++ b/src/cleanup_action.cpp
+@@ -52,7 +52,9 @@
+   svn::Client client(GetContext());
+   const svn::Path & path = GetPath();
+ 
+-  wxSetWorkingDirectory(Utf8ToLocal(path.c_str()));
++  const wxString & dir = Utf8ToLocal(path.c_str());
++  if (!dir.empty())
++    wxSetWorkingDirectory(dir);
+   client.cleanup(path.c_str());
+ 
+   return true;
+--- a/src/export_action.cpp
++++ b/src/export_action.cpp
+@@ -111,7 +111,8 @@
+       pegRevision = svn::Revision(revnum);
+   }
+ 
+-  wxSetWorkingDirectory(m_data.DestPath);
++  if (!m_data.DestPath.empty())
++    wxSetWorkingDirectory(m_data.DestPath);
+ 
+   svn::Path srcPathUtf8(PathUtf8(m_data.SrcPath));
+   svn::Path destPathUtf8(PathUtf8(m_data.DestPath));
+--- a/src/get_action.cpp
++++ b/src/get_action.cpp
+@@ -56,7 +56,9 @@
+              m_data.revision.revnum());
+   Trace(msg);
+ 
+-  wxSetWorkingDirectory(Utf8ToLocal(GetPath().c_str()));
++  const wxString & dir = Utf8ToLocal(GetPath().c_str());
++  if (!dir.empty())
++    wxSetWorkingDirectory(dir);
+   client.update(svn::Path(LocalToUtf8(m_data.path)),
+                 m_data.revision,
+                 true, false);
+--- a/src/update_action.cpp
++++ b/src/update_action.cpp
+@@ -75,7 +75,9 @@
+     }
+   }
+ 
+-  wxSetWorkingDirectory(Utf8ToLocal(GetPath().c_str()));
++  const wxString & dir = Utf8ToLocal(GetPath().c_str());
++  if (!dir.empty())
++    wxSetWorkingDirectory(dir);
+   svn::Client client(GetContext());
+ 
+   client.update(GetTargets(), revision, m_data.recursive,

diff --git a/dev-vcs/rapidsvn/rapidsvn-0.12.1-r2.ebuild 
b/dev-vcs/rapidsvn/rapidsvn-0.12.1-r2.ebuild
new file mode 100644
index 0000000..61172ba
--- /dev/null
+++ b/dev-vcs/rapidsvn/rapidsvn-0.12.1-r2.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+WX_GTK_VER=3.0
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fdo-mime flag-o-matic python-single-r1 versionator 
wxwidgets
+
+MY_PV=$(get_version_component_range 1-2)
+MY_REL="1"
+
+DESCRIPTION="Cross-platform GUI front-end for the Subversion revision system"
+HOMEPAGE="http://rapidsvn.tigris.org/";
+SRC_URI="
+       http://www.rapidsvn.org/download/release/${PV}/${P}.tar.gz
+       doc? ( https://dev.gentoo.org/~jlec/distfiles/svncpp.dox.xz )"
+
+LICENSE="GPL-2 LGPL-2.1 FDL-1.2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEP="
+       ${PYTHON_DEPS}
+       dev-libs/apr
+       dev-libs/apr-util
+       dev-vcs/subversion
+       x11-libs/wxGTK:${WX_GTK_VER}[X]"
+DEPEND="${COMMON_DEP}
+       doc? (
+               dev-libs/libxslt
+               app-text/docbook-sgml-utils
+               app-doc/doxygen
+               app-text/docbook-xsl-stylesheets
+               media-gfx/graphviz
+)"
+RDEPEND="${COMMON_DEP}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-svncpp_link.patch"
+       "${FILESDIR}/${P}-locale.patch"
+       "${FILESDIR}/${P}-wx3.0.patch" )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+DOCS=( HACKING.txt TRANSLATIONS )
+
+src_prepare() {
+       need-wxwidgets unicode
+       if use doc; then
+               mv "${WORKDIR}"/svncpp.dox doc/svncpp/ || die
+       fi
+       strip-linguas $(grep ^RAPIDSVN_LANGUAGES src/locale/Makefile.am | sed 
's:RAPIDSVN_LANGUAGES=::g')
+       sed \
+               -e "/^RAPIDSVN_LANGUAGES/s:=.*:=${LINGUAS}:g" \
+               -i src/locale/Makefile.am || die
+
+       mv configure.in configure.ac || die
+
+       autotools-utils_src_prepare
+}
+
+src_configure() {
+       local myeconfargs=( --with-wx-config=${WX_CONFIG} )
+
+       if use doc; then
+               myeconfargs+=( --with-manpage=yes )
+       else
+               myeconfargs+=(
+                               --without-xsltproc
+                               --with-manpage=no
+                               --without-doxygen
+                               --without-dot )
+       fi
+
+       append-cppflags $( apr-1-config --cppflags )
+
+       myeconfargs+=(
+               --with-svn-lib="${EPREFIX}"/usr/$(get_libdir)
+               --with-svn-include="${EPREFIX}"/usr/include
+               --with-apr-config="${EPREFIX}/usr/bin/apr-1-config"
+               --with-apu-config="${EPREFIX}/usr/bin/apu-1-config"
+               )
+       autotools-utils_src_configure
+}
+
+src_compile() {
+       autotools-utils_src_compile
+       use doc && autotools-utils_src_compile -C doc/manpage manpage
+}
+
+src_install() {
+       autotools-utils_src_install
+
+       doicon src/res/rapidsvn.ico src/res/bitmaps/${PN}*.png
+       make_desktop_entry rapidsvn "RapidSVN ${PV}" \
+               "${EPREFIX}/usr/share/pixmaps/rapidsvn_32x32.png" \
+               "RevisionControl;Development"
+
+       if use doc ; then
+               doman doc/manpage/${PN}.1
+               dohtml "${S}"/doc/svncpp/html/*
+       fi
+}
+
+src_test() {
+       pushd "${BUILD_DIR}"/src/tests/svncpp > /dev/null || die
+       emake
+       ./svncpptest | grep OK || die
+}
+
+pkg_postinst() {
+       fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+       fdo-mime_desktop_database_update
+}

Reply via email to