summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2015-10-24 11:21:59 +0200
committerPacho Ramos <pacho@gentoo.org>2015-10-24 11:22:25 +0200
commit0f3f5afb945bb13bd02ec8865a8793ec5d9ac8f0 (patch)
tree048d09dba9eea997891fe40bdf5fd973160ccade /dev-vcs/rapidsvn
parentnet-p2p/i2p: Correct bcprov version in classpath. Fixes bug 563372. (diff)
downloadgentoo-0f3f5afb945bb13bd02ec8865a8793ec5d9ac8f0.tar.gz
gentoo-0f3f5afb945bb13bd02ec8865a8793ec5d9ac8f0.tar.bz2
gentoo-0f3f5afb945bb13bd02ec8865a8793ec5d9ac8f0.zip
dev-vcs/rapidsvn: Support wxGTK:3.0 (#563348)
Package-Manager: portage-2.2.23
Diffstat (limited to 'dev-vcs/rapidsvn')
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch192
-rw-r--r--dev-vcs/rapidsvn/rapidsvn-0.12.1-r2.ebuild126
2 files changed, 318 insertions, 0 deletions
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 000000000000..2862e30b21fd
--- /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 <olly@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 000000000000..61172ba59fba
--- /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
+}