diff options
Diffstat (limited to 'extra/kdevplatform')
-rw-r--r-- | extra/kdevplatform/PKGBUILD | 18 | ||||
-rw-r--r-- | extra/kdevplatform/subversion17.patch | 127 |
2 files changed, 139 insertions, 6 deletions
diff --git a/extra/kdevplatform/PKGBUILD b/extra/kdevplatform/PKGBUILD index b77ab5dd6..9605f2daa 100644 --- a/extra/kdevplatform/PKGBUILD +++ b/extra/kdevplatform/PKGBUILD @@ -1,23 +1,29 @@ -# $Id: PKGBUILD 128645 2011-06-25 10:59:34Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id: PKGBUILD 144956 2011-12-12 01:44:18Z andrea $ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=kdevplatform pkgver=1.2.3 _pkgver=4.2.3 -pkgrel=1 +pkgrel=2 pkgdesc="A C/C++ development platform for KDE" arch=('i686' 'x86_64') url="http://www.kdevelop.org/" license=('GPL') -depends=('kdelibs' 'boost-libs' 'subversion' 'qjson') +depends=('kdelibs''subversion' 'qjson') optdepends=("kdesdk-kompare: difference checking") makedepends=('cmake' 'automoc4' 'boost') install=${pkgname}.install -source=("http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('c8badd157c2477b1b299403d01d40f68a1ba14cd') +source=("http://download.kde.org/stable/kdevelop/${_pkgver}/src/${pkgname}-${pkgver}.tar.bz2" + 'subversion17.patch') +sha1sums=('c8badd157c2477b1b299403d01d40f68a1ba14cd' + '08e2ab2005a7a447f1733e8449a9bc926035fb9e') build() { + cd "${srcdir}"/${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/subversion17.patch + cd "${srcdir}" mkdir build cd build diff --git a/extra/kdevplatform/subversion17.patch b/extra/kdevplatform/subversion17.patch new file mode 100644 index 000000000..782ac38ea --- /dev/null +++ b/extra/kdevplatform/subversion17.patch @@ -0,0 +1,127 @@ +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 +--- a/plugins/subversion/kdevsvncpp/path.cpp ++++ b/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; + +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 +--- a/plugins/subversion/kdevsvncpp/context.cpp ++++ b/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 |