Skip to content

Commit

Permalink
dev-vcs/rapidsvn: Support wxGTK:3.0 (#563348)
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.2.23
  • Loading branch information
pacho2 committed Oct 24, 2015
1 parent 76ca701 commit 0f3f5af
Show file tree
Hide file tree
Showing 2 changed files with 318 additions and 0 deletions.
192 changes: 192 additions & 0 deletions dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
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,
126 changes: 126 additions & 0 deletions dev-vcs/rapidsvn/rapidsvn-0.12.1-r2.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 0f3f5af

Please sign in to comment.