development/rapidsvn: Use the C++14 standard.

gcc >= 11.x defaults to -std=gnu++17 and it breaks the build
in this case. Switch to wxGTK3

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Matteo Bernardini 2022-02-26 11:44:30 +01:00 committed by Willy Sudiarto Raharjo
parent be118be5fd
commit 7e466ac05f
No known key found for this signature in database
GPG key ID: 3F617144D7238786
3 changed files with 208 additions and 2 deletions

View file

@ -0,0 +1,203 @@
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
+++ b/configure
@@ -15176,6 +15176,8 @@
;;
2.[5-9].*)
;;
+ 3.*)
+ ;;
*)
as_fn_error $? "wxWidgets >= 2.4.2 required, found version $WX_VERSION" "$LINENO" 5
as_fn_error $? "Try --with-wx-config." "$LINENO" 5
--- a/configure.in
+++ b/configure.in
@@ -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,

View file

@ -62,12 +62,15 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Thanx Archlinux!
patch -p1 < $CWD/rapidsvn-wx3.0.patch
# Reworked from KDE kdevplatform to build with subversion 1.9
# https://quickgit.kde.org/?p=kdevplatform.git&a=commit&h=8117ca137b45816865554d6e86b96d9e633a7e08
patch -p1 < $CWD/subversion1.9.patch
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++14" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \

View file

@ -5,6 +5,6 @@ DOWNLOAD="http://www.rapidsvn.org/download/release/0.12.1/rapidsvn-0.12.1.tar.gz
MD5SUM="8de3ca6da3ef6a27d59f959d1bbcd96b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="wxPython"
REQUIRES="wxGTK3"
MAINTAINER="David Delansay"
EMAIL="david.delansay@laposte.net"