aboutsummaryrefslogtreecommitdiffstats
path: root/devel/kdevplatform
diff options
context:
space:
mode:
authorrakuco <rakuco@FreeBSD.org>2012-01-27 22:05:21 +0800
committerrakuco <rakuco@FreeBSD.org>2012-01-27 22:05:21 +0800
commitf0e568d52525996afab62c47f3d1c370833b721d (patch)
treee2ec16838972c52f26a624a0b1e505e6b6caed36 /devel/kdevplatform
parentb17649cf5ac7623a2fdaee2442057a57c6c9efe7 (diff)
downloadfreebsd-ports-gnome-f0e568d52525996afab62c47f3d1c370833b721d.tar.gz
freebsd-ports-gnome-f0e568d52525996afab62c47f3d1c370833b721d.tar.zst
freebsd-ports-gnome-f0e568d52525996afab62c47f3d1c370833b721d.zip
Add a few upstream patches to make KDevelop not crash with SVN 1.7.
Reported by: Luca Pizzamiglio on #kde-freebsd
Diffstat (limited to 'devel/kdevplatform')
-rw-r--r--devel/kdevplatform/Makefile2
-rw-r--r--devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__context.cpp95
-rw-r--r--devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__path.cpp32
3 files changed, 128 insertions, 1 deletions
diff --git a/devel/kdevplatform/Makefile b/devel/kdevplatform/Makefile
index 8c7583a46d54..6d0e5eb43dc4 100644
--- a/devel/kdevplatform/Makefile
+++ b/devel/kdevplatform/Makefile
@@ -6,7 +6,7 @@
PORTNAME= kdevplatform
PORTVERSION= ${KDEVELOP_VERSION:S/4./1./}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel kde
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= ${KDEVELOP_BRANCH}/kdevelop/${KDEVELOP_VERSION}/src
diff --git a/devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__context.cpp b/devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__context.cpp
new file mode 100644
index 000000000000..7de64639a561
--- /dev/null
+++ b/devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__context.cpp
@@ -0,0 +1,95 @@
+commit cc7f0798d314cdac14b90e427abe22e99c6bd591
+Author: Milian Wolff <mail@milianw.de>
+Date: Fri Nov 18 16:23:36 2011 +0100
+
+ properly initialize client context for compatibility with subversion API
+
+ this should hopefully fix the crash with svn 1.7 in kdevelop, please test
+
+ BUG: 284061
+
+diff --git a/plugins/subversion/kdevsvncpp/context.cpp b/plugins/subversion/kdevsvncpp/context.cpp
+index d277591..ddbb657 100644
+--- ./plugins/subversion/kdevsvncpp/context.cpp
++++ ./plugins/subversion/kdevsvncpp/context.cpp
+@@ -65,7 +65,7 @@ public:
+ bool logIsSet;
+ int promptCounter;
+ Pool pool;
+- svn_client_ctx_t ctx;
++ svn_client_ctx_t * ctx;
+ std::string username;
+ std::string password;
+ std::string logMessage;
+@@ -205,26 +205,26 @@ public:
+ svn_auth_open(&ab, providers, pool);
+
+ // initialize ctx structure
+- memset(&ctx, 0, sizeof(ctx));
++ svn_client_create_context(&ctx, pool);
+
+ // get the config based on the configDir passed in
+- svn_config_get_config(&ctx.config, c_configDir, pool);
++ svn_config_get_config(&ctx->config, c_configDir, pool);
+
+ // tell the auth functions where the config is
+ svn_auth_set_parameter(ab, SVN_AUTH_PARAM_CONFIG_DIR,
+ c_configDir);
+
+- ctx.auth_baton = ab;
+- ctx.log_msg_func = onLogMsg;
+- ctx.log_msg_baton = this;
+- ctx.notify_func = onNotify;
+- ctx.notify_baton = this;
+- ctx.cancel_func = onCancel;
+- ctx.cancel_baton = this;
++ ctx->auth_baton = ab;
++ ctx->log_msg_func = onLogMsg;
++ ctx->log_msg_baton = this;
++ ctx->notify_func = onNotify;
++ ctx->notify_baton = this;
++ ctx->cancel_func = onCancel;
++ ctx->cancel_baton = this;
+
+ #if (SVN_VER_MAJOR >= 1) && (SVN_VER_MINOR >= 2)
+- ctx.notify_func2 = onNotify2;
+- ctx.notify_baton2 = this;
++ ctx->notify_func2 = onNotify2;
++ ctx->notify_baton2 = this;
+ #endif
+ }
+
+@@ -234,7 +234,7 @@ public:
+ if (!value)
+ param = (void *)"1";
+
+- svn_auth_set_parameter(ctx.auth_baton,
++ svn_auth_set_parameter(ctx->auth_baton,
+ SVN_AUTH_PARAM_NO_AUTH_CACHE,
+ param);
+ }
+@@ -245,7 +245,7 @@ public:
+ username = usr;
+ password = pwd;
+
+- svn_auth_baton_t * ab = ctx.auth_baton;
++ svn_auth_baton_t * ab = ctx->auth_baton;
+ svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_USERNAME,
+ username.c_str());
+ svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_PASSWORD,
+@@ -654,13 +654,13 @@ public:
+
+ Context::operator svn_client_ctx_t * ()
+ {
+- return &(m->ctx);
++ return m->ctx;
+ }
+
+ svn_client_ctx_t *
+ Context::ctx()
+ {
+- return &(m->ctx);
++ return m->ctx;
+ }
+
+ void
diff --git a/devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__path.cpp b/devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__path.cpp
new file mode 100644
index 000000000000..f0f7ceac3591
--- /dev/null
+++ b/devel/kdevplatform/files/patch-plugins__subversion__kdevsvncpp__path.cpp
@@ -0,0 +1,32 @@
+commit 74dec52749e3c3af2ac6492f50e2676128f35b27
+Author: Milian Wolff <mail@milianw.de>
+Date: Fri Nov 18 16:26:06 2011 +0100
+
+ fix svn api usage: use svn_dirent_canonicalize instead of svn_path_internal_style
+
+ this was suggested by Stephan Sperling
+
+ CCBUG: 284061
+
+diff --git a/plugins/subversion/kdevsvncpp/path.cpp b/plugins/subversion/kdevsvncpp/path.cpp
+index eaa84c1..4dced08 100644
+--- ./plugins/subversion/kdevsvncpp/path.cpp
++++ ./plugins/subversion/kdevsvncpp/path.cpp
+@@ -24,6 +24,7 @@
+
+ // subversion api
+ #include "svn_path.h"
++#include "svn_dirent_uri.h"
+
+ // apr api
+ #include "apr_file_io.h"
+@@ -63,8 +64,7 @@ namespace svn
+ m_path = "";
+ else
+ {
+- const char * int_path =
+- svn_path_internal_style(path, pool.pool());
++ const char * int_path = svn_dirent_canonicalize(path, pool);
+
+ m_path = int_path;
+