diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-vcs/subversion | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-vcs/subversion')
21 files changed, 3801 insertions, 0 deletions
diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest new file mode 100644 index 000000000000..5e33930ac5ff --- /dev/null +++ b/dev-vcs/subversion/Manifest @@ -0,0 +1,5 @@ +DIST subversion-1.7.20.tar.bz2 6014383 SHA256 0d16f62d2ed1a152e26f8194ac3eb889ef9f1a1716959a43115266e8baa50068 SHA512 ea7cdfa0ac489cf62a9c5a05a651d541f383b6487beabe0fb0d972b86888812b25831ac54dda18c4fc37e80168f0c3bc9a5441ed6e94f59691b35dd33ed2631f WHIRLPOOL 7de4efff69ac2f63257d444e92d4f432ac61a6a2be9feb2969fd1b5fd69189dde5566067742d70883a7d40283d131886879e8ebc13c9faf352d1942b4f1d17e9 +DIST subversion-1.7.21.tar.bz2 5996788 SHA256 efeb349c5ba6d529ff8e9730a2abd9cb70f276b249238a6b7f27ba7da1190620 SHA512 d0ba3f0771c523b44efd2f12c1d101d720b7d834bc6bef12b8e47789a2fb76a2d399c041c1cdcd0e04411c29abfb9b2974ca9df6f2389f8a01d82e7738881975 WHIRLPOOL 0d12286ab0e5043f28622529ff5d2af5a1c8a61ef65227cc069cf93de35479bf79433fa201417456499fa16f11b03474127b66547b9c2e2a8c0d209fa2108e59 +DIST subversion-1.8.13.tar.bz2 6863330 SHA256 1099cc68840753b48aedb3a27ebd1e2afbcc84ddb871412e5d500e843d607579 SHA512 5b145888fdd294b871066483f9cc5af811aadd88c537c3859b005b73efaf66bd8d5c7c4dc6562897c00331be2ddfd834688a90eb5c229bc6625ab3c45c02045f WHIRLPOOL d79c71385e21ee3254a798687fd1de3e01a1577287b03d9a0f87e0a31621501e749ee9b37f40c59cb206fc68ba9968132e724f3c4a12c7aa8d5aa59d66a4ade4 +DIST subversion-1.8.14.tar.bz2 6850562 SHA256 7f3883cdfcad4174e06dd94d6e3e8ec91856823268eebe60c924be76f5229a1f SHA512 95e1501494f5355f0c331fbe81422ca8f0b4d69e6d303125f4a5aac5f6fe946e958ca76fc96fe6b096cc0a530634ca103bf35622c12af90489ae17d0b9a9d987 WHIRLPOOL 0323746d40830109e081e002f499f1c73c15fe77acd4f1c9b790ae12440b3361d189f1d5212d49ba6f6c449297aec3513761375f748800686892607705310a56 +DIST subversion-1.9.0.tar.bz2 7743404 SHA256 fcb11db07e132cac6c72a969e222a592f849ef34dd8bd1c2f99fa1ad267a3fe6 SHA512 3f1100802cd11f268a5247f5eebd9be9a8a15488fab3e396c4e0364abbaadd611bbcccc0a5d4c6ca3eee3911e70f2cec0ff660259bb225be47f1909fd6367b3e WHIRLPOOL dc2875ee6fa911babdac86455b67af618056d72a709170666e21e826bb3a465a60f9e5b5df02170107208cbded4aecd49cb7e805d3713c671dabfb884f7abbb7 diff --git a/dev-vcs/subversion/files/47_mod_dav_svn.conf b/dev-vcs/subversion/files/47_mod_dav_svn.conf new file mode 100644 index 000000000000..52d08b7ab558 --- /dev/null +++ b/dev-vcs/subversion/files/47_mod_dav_svn.conf @@ -0,0 +1,16 @@ +<IfDefine SVN> +LoadModule dav_svn_module modules/mod_dav_svn.so +<IfDefine SVN_AUTHZ> +LoadModule authz_svn_module modules/mod_authz_svn.so +</IfDefine> + +# Example configuration: +#<Location /svn/repos> +# DAV svn +# SVNPath ${SVN_REPOS_LOC}/repos +# AuthType Basic +# AuthName "Subversion repository" +# AuthUserFile ${SVN_REPOS_LOC}/conf/svnusers +# Require valid-user +#</Location> +</IfDefine> diff --git a/dev-vcs/subversion/files/70svn-gentoo.el b/dev-vcs/subversion/files/70svn-gentoo.el new file mode 100644 index 000000000000..e5721e2480c1 --- /dev/null +++ b/dev-vcs/subversion/files/70svn-gentoo.el @@ -0,0 +1,13 @@ + +;;; subversion site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(and (< emacs-major-version 22) + (add-to-list 'load-path "@SITELISP@/compat")) +(add-to-list 'vc-handled-backends 'SVN) + +(defalias 'svn-examine 'svn-status) +(autoload 'svn-status "dsvn" "Run `svn status'." t) +(autoload 'svn-update "dsvn" "Run `svn update'." t) +(autoload 'svn-status "psvn" + "Examine the status of Subversion working copy in directory DIR." t) diff --git a/dev-vcs/subversion/files/subversion-1.5.4-interix.patch b/dev-vcs/subversion/files/subversion-1.5.4-interix.patch new file mode 100644 index 000000000000..53ef6960c9f3 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.5.4-interix.patch @@ -0,0 +1,114 @@ +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion-1.5.4/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h 2008-10-29 08:22:36 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h 2008-10-29 08:52:31 +0100 +@@ -49,6 +49,11 @@ + # endif + #endif + ++// This is bad, but better than nothing ;) ++#if defined(__INTERIX) ++# define strtoll strtol ++#endif ++ + + + #if defined(SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/core.c subversion-1.5.4/subversion/bindings/swig/perl/native/core.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/core.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/core.c 2008-10-29 08:53:40 +0100 +@@ -1733,7 +1733,10 @@ + # endif + #endif + +- ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_client.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_client.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_client.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_client.c 2008-10-29 08:54:17 +0100 +@@ -1872,6 +1872,10 @@ + #endif + + ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_delta.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_delta.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_delta.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_delta.c 2008-10-29 08:54:28 +0100 +@@ -1745,6 +1745,10 @@ + #endif + + ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_fs.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_fs.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_fs.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_fs.c 2008-10-29 08:54:41 +0100 +@@ -1818,6 +1818,10 @@ + #endif + + ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_ra.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_ra.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_ra.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_ra.c 2008-10-29 08:54:52 +0100 +@@ -1661,6 +1661,10 @@ + # endif + #endif + ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_repos.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_repos.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_repos.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_repos.c 2008-10-29 08:55:05 +0100 +@@ -1792,6 +1792,10 @@ + #endif + + ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val) +diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_wc.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_wc.c +--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_wc.c 2008-10-29 08:22:37 +0100 ++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_wc.c 2008-10-29 08:55:17 +0100 +@@ -1816,6 +1816,10 @@ + #endif + + ++#ifdef __INTERIX ++# define strtoull strtoul ++# define strtoll strtol ++#endif + + SWIGINTERN int + SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val) diff --git a/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch b/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch new file mode 100644 index 000000000000..49c6162d1212 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch @@ -0,0 +1,21 @@ +On AIX, load shared libraries even when created with full aix-soname support: +http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html +http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html +Once there is an agreement on that, this patch eventually is for upstream too. + +--- subversion/libsvn_ra/ra_loader.c.orig 2009-04-28 14:53:35 +0200 ++++ subversion/libsvn_ra/ra_loader.c 2009-04-28 14:55:37 +0200 +@@ -164,6 +164,13 @@ + + /* find/load the specified library */ + SVN_ERR(svn_dso_load(&dso, libname)); ++#ifdef _AIX ++ if (! dso) { ++ libname = apr_psprintf(pool, "libsvn_ra_%s-%d.so.0(shr.o)", ++ ra_name, SVN_VER_MAJOR); ++ SVN_ERR(svn_dso_load(&dso, libname)); ++ } ++#endif + if (! dso) + return SVN_NO_ERROR; + diff --git a/dev-vcs/subversion/files/subversion-1.6.3-hpux-dso.patch b/dev-vcs/subversion/files/subversion-1.6.3-hpux-dso.patch new file mode 100644 index 000000000000..f9739bef3061 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.6.3-hpux-dso.patch @@ -0,0 +1,16 @@ +--- subversion/libsvn_ra/ra_loader.c.orig 2009-07-20 14:46:02 +0200 ++++ subversion/libsvn_ra/ra_loader.c 2009-07-20 14:50:02 +0200 +@@ -154,8 +154,13 @@ + const char *compat_funcname; + apr_status_t status; + ++#if defined(__hpux) && defined(__hppa) ++ libname = apr_psprintf(pool, "libsvn_ra_%s-%d.sl.0", ++ ra_name, SVN_VER_MAJOR); ++#else + libname = apr_psprintf(pool, "libsvn_ra_%s-%d.so.0", + ra_name, SVN_VER_MAJOR); ++#endif + funcname = apr_psprintf(pool, "svn_ra_%s__init", ra_name); + compat_funcname = apr_psprintf(pool, "svn_ra_%s_init", ra_name); + diff --git a/dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch b/dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch new file mode 100644 index 000000000000..80e5563672c7 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch @@ -0,0 +1,16 @@ +--- subversion-1.8.0/subversion/libsvn_ra/ra_loader.c ++++ subversion-1.8.0/subversion/libsvn_ra/ra_loader.c +@@ -141,8 +141,13 @@ + const char *compat_funcname; + apr_status_t status; + ++#if defined(__hpux) && defined(__hppa) ++ libname = apr_psprintf(pool, "libsvn_ra_%s-%d.sl.%d", ++ ra_name, SVN_VER_MAJOR, SVN_SOVERSION); ++#else + libname = apr_psprintf(pool, "libsvn_ra_%s-%d.so.%d", + ra_name, SVN_VER_MAJOR, SVN_SOVERSION); ++#endif + funcname = apr_psprintf(pool, "svn_ra_%s__init", ra_name); + compat_funcname = apr_psprintf(pool, "svn_ra_%s_init", ra_name); + diff --git a/dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch b/dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch new file mode 100644 index 000000000000..158c08233165 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch @@ -0,0 +1,85 @@ +--- subversion-1.8.1/build/ac-macros/berkeley-db.m4 ++++ subversion-1.8.1/build/ac-macros/berkeley-db.m4 +@@ -48,7 +48,7 @@ + AC_ARG_WITH(berkeley-db, [AS_HELP_STRING( + [[--with-berkeley-db[=HEADER:INCLUDES:LIB_SEARCH_DIRS:LIBS]]], [ + The Subversion Berkeley DB based filesystem library +- requires Berkeley DB $db_version or $db_alt_version. If you ++ requires Berkeley DB $db_version or newer. If you + specify `--without-berkeley-db', that library will + not be built. If you omit the argument of this option + completely, the configure script will use Berkeley DB +@@ -126,35 +126,22 @@ + svn_lib_berkeley_db=no + else + AC_MSG_CHECKING([for availability of Berkeley DB]) +- AC_ARG_ENABLE(bdb6, +- AS_HELP_STRING([--enable-bdb6], +- [Allow building against BDB 6+. +- See --with-berkeley-db for specifying the location of +- the Berkeley DB installation. Using BDB 6 will fail if +- this option is not used.]), +- [enable_bdb6=$enableval],[enable_bdb6=unspecified]) +- +- SVN_LIB_BERKELEY_DB_TRY($1, $2, $3, $enable_bdb6) ++ SVN_LIB_BERKELEY_DB_TRY($1, $2, $3) + if test "$svn_have_berkeley_db" = "yes"; then + AC_MSG_RESULT([yes]) + svn_lib_berkeley_db=yes + else +- if test "$svn_have_berkeley_db" = "no6"; then +- AC_MSG_RESULT([no (found version 6, but --enable-bdb6 not specified)]) +- # A warning will be printed at the end of configure.ac. +- else +- AC_MSG_RESULT([no]) +- fi ++ AC_MSG_RESULT([no]) + svn_lib_berkeley_db=no + if test "$bdb_status" = "required"; then +- AC_MSG_ERROR([Berkeley DB $db_version or $db_alt_version wasn't found.]) ++ AC_MSG_ERROR([Berkeley DB $db_version or newer't found.]) + fi + fi + fi + ]) + + +-dnl SVN_LIB_BERKELEY_DB_TRY(major, minor, patch, enable_bdb6) ++dnl SVN_LIB_BERKELEY_DB_TRY(major, minor, patch) + dnl + dnl A subroutine of SVN_LIB_BERKELEY_DB. + dnl +@@ -187,7 +174,6 @@ + svn_check_berkeley_db_major=$1 + svn_check_berkeley_db_minor=$2 + svn_check_berkeley_db_patch=$3 +- enable_bdb6=$4 + + if test -z "$SVN_DB_LIBS"; then + # We pass --dbm-libs here since Debian has modified apu-config not +@@ -245,12 +231,6 @@ + || patch != DB_VERSION_PATCH) + exit (1); + +- /* Block Berkeley DB 6, because (a) we haven't tested with it, (b) 6.0.20 +- and newer are under the AGPL, and we want use of AGPL dependencies to be +- opt-in. */ +- if (major >= 6 && strcmp("$enable_bdb6", "yes")) +- exit(2); +- + /* Run-time check: ensure the library claims to be the correct version. */ + + if (major < $svn_check_berkeley_db_major) +@@ -270,11 +250,7 @@ + } + ]])], + [svn_have_berkeley_db=yes], +- [rc=$? +- svn_have_berkeley_db=no +- if test $rc = 2; then +- svn_have_berkeley_db=no6 +- fi], ++ [svn_have_berkeley_db=no], + [svn_have_berkeley_db=yes] + ) + diff --git a/dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch b/dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch new file mode 100644 index 000000000000..9feccfbe0481 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch @@ -0,0 +1,495 @@ +https://trac.macports.org/browser/trunk/dports/devel/subversion-python27bindings/files/patch-swig-python-core.diff + +diff -u -d -b -w -r subversion-1.8.0-orig/subversion/bindings/swig/python/core.c subversion-1.8.0-python/subversion/bindings/swig/python/core.c +--- subversion/bindings/swig/python/core.c 2013-06-13 05:07:20.000000000 -0400 ++++ subversion/bindings/swig/python/core.c 2013-07-12 16:11:05.000000000 -0400 +@@ -2958,140 +2958,139 @@ + #define SWIGTYPE_p_apr_size_t swig_types[15] + #define SWIGTYPE_p_char swig_types[16] + #define SWIGTYPE_p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[17] +-#define SWIGTYPE_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[18] +-#define SWIGTYPE_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[19] +-#define SWIGTYPE_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[20] +-#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[21] +-#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[22] +-#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[23] +-#define SWIGTYPE_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[24] +-#define SWIGTYPE_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[25] +-#define SWIGTYPE_p_f_p_p_void_p_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[26] +-#define SWIGTYPE_p_f_p_p_void_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[27] +-#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[28] +-#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[29] +-#define SWIGTYPE_p_f_p_q_const__char_p_void__int swig_types[30] +-#define SWIGTYPE_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[31] +-#define SWIGTYPE_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[32] +-#define SWIGTYPE_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[33] +-#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[34] +-#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[35] +-#define SWIGTYPE_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[36] +-#define SWIGTYPE_p_f_p_void__p_svn_error_t swig_types[37] +-#define SWIGTYPE_p_f_p_void_apr_size_t__p_svn_error_t swig_types[38] +-#define SWIGTYPE_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[39] +-#define SWIGTYPE_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[40] +-#define SWIGTYPE_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[41] +-#define SWIGTYPE_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[42] +-#define SWIGTYPE_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[43] +-#define SWIGTYPE_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[44] +-#define SWIGTYPE_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[45] +-#define SWIGTYPE_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[46] +-#define SWIGTYPE_p_f_void__p_svn_version_t swig_types[47] +-#define SWIGTYPE_p_int swig_types[48] +-#define SWIGTYPE_p_long swig_types[49] +-#define SWIGTYPE_p_p_apr_array_header_t swig_types[50] +-#define SWIGTYPE_p_p_apr_file_t swig_types[51] +-#define SWIGTYPE_p_p_apr_hash_t swig_types[52] +-#define SWIGTYPE_p_p_char swig_types[53] +-#define SWIGTYPE_p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[54] +-#define SWIGTYPE_p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[55] +-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[56] +-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[57] +-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[58] +-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[59] +-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[60] +-#define SWIGTYPE_p_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[61] +-#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[62] +-#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[63] +-#define SWIGTYPE_p_p_f_p_q_const__char_p_void__int swig_types[64] +-#define SWIGTYPE_p_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[65] +-#define SWIGTYPE_p_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[66] +-#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[67] +-#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[68] +-#define SWIGTYPE_p_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[69] +-#define SWIGTYPE_p_p_f_p_void__p_svn_error_t swig_types[70] +-#define SWIGTYPE_p_p_f_p_void_apr_size_t__p_svn_error_t swig_types[71] +-#define SWIGTYPE_p_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[72] +-#define SWIGTYPE_p_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[73] +-#define SWIGTYPE_p_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[74] +-#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[75] +-#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[76] +-#define SWIGTYPE_p_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[77] +-#define SWIGTYPE_p_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[78] +-#define SWIGTYPE_p_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[79] +-#define SWIGTYPE_p_p_f_void__p_svn_version_t swig_types[80] +-#define SWIGTYPE_p_p_svn_auth_baton_t swig_types[81] +-#define SWIGTYPE_p_p_svn_auth_cred_simple_t swig_types[82] +-#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[83] +-#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_t swig_types[84] +-#define SWIGTYPE_p_p_svn_auth_cred_ssl_server_trust_t swig_types[85] +-#define SWIGTYPE_p_p_svn_auth_cred_username_t swig_types[86] +-#define SWIGTYPE_p_p_svn_auth_iterstate_t swig_types[87] +-#define SWIGTYPE_p_p_svn_auth_provider_object_t swig_types[88] +-#define SWIGTYPE_p_p_svn_checksum_t swig_types[89] +-#define SWIGTYPE_p_p_svn_config_t swig_types[90] +-#define SWIGTYPE_p_p_svn_io_dirent2_t swig_types[91] +-#define SWIGTYPE_p_p_svn_stream_mark_t swig_types[92] +-#define SWIGTYPE_p_p_svn_stream_t swig_types[93] +-#define SWIGTYPE_p_p_svn_string_t swig_types[94] +-#define SWIGTYPE_p_p_svn_stringbuf_t swig_types[95] +-#define SWIGTYPE_p_p_void swig_types[96] +-#define SWIGTYPE_p_svn_auth_baton_t swig_types[97] +-#define SWIGTYPE_p_svn_auth_cred_simple_t swig_types[98] +-#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[99] +-#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_t swig_types[100] +-#define SWIGTYPE_p_svn_auth_cred_ssl_server_trust_t swig_types[101] +-#define SWIGTYPE_p_svn_auth_cred_username_t swig_types[102] +-#define SWIGTYPE_p_svn_auth_iterstate_t swig_types[103] +-#define SWIGTYPE_p_svn_auth_provider_object_t swig_types[104] +-#define SWIGTYPE_p_svn_auth_provider_t swig_types[105] +-#define SWIGTYPE_p_svn_auth_ssl_server_cert_info_t swig_types[106] +-#define SWIGTYPE_p_svn_checksum_ctx_t swig_types[107] +-#define SWIGTYPE_p_svn_checksum_kind_t swig_types[108] +-#define SWIGTYPE_p_svn_checksum_t swig_types[109] +-#define SWIGTYPE_p_svn_commit_info_t swig_types[110] +-#define SWIGTYPE_p_svn_config_t swig_types[111] +-#define SWIGTYPE_p_svn_depth_t swig_types[112] +-#define SWIGTYPE_p_svn_dirent_t swig_types[113] +-#define SWIGTYPE_p_svn_errno_t swig_types[114] +-#define SWIGTYPE_p_svn_error_t swig_types[115] +-#define SWIGTYPE_p_svn_io_dirent2_t swig_types[116] +-#define SWIGTYPE_p_svn_io_dirent_t swig_types[117] +-#define SWIGTYPE_p_svn_io_file_del_t swig_types[118] +-#define SWIGTYPE_p_svn_location_segment_t swig_types[119] +-#define SWIGTYPE_p_svn_lock_t swig_types[120] +-#define SWIGTYPE_p_svn_log_changed_path2_t swig_types[121] +-#define SWIGTYPE_p_svn_log_changed_path_t swig_types[122] +-#define SWIGTYPE_p_svn_log_entry_t swig_types[123] +-#define SWIGTYPE_p_svn_merge_range_t swig_types[124] +-#define SWIGTYPE_p_svn_mergeinfo_inheritance_t swig_types[125] +-#define SWIGTYPE_p_svn_node_kind_t swig_types[126] +-#define SWIGTYPE_p_svn_opt_revision_range_t swig_types[127] +-#define SWIGTYPE_p_svn_opt_revision_t swig_types[128] +-#define SWIGTYPE_p_svn_opt_revision_value_t swig_types[129] +-#define SWIGTYPE_p_svn_opt_subcommand_desc2_t swig_types[130] +-#define SWIGTYPE_p_svn_opt_subcommand_desc2_t_desc_overrides swig_types[131] +-#define SWIGTYPE_p_svn_opt_subcommand_desc_t swig_types[132] +-#define SWIGTYPE_p_svn_prop_inherited_item_t swig_types[133] +-#define SWIGTYPE_p_svn_prop_kind swig_types[134] +-#define SWIGTYPE_p_svn_prop_t swig_types[135] +-#define SWIGTYPE_p_svn_stream_mark_t swig_types[136] +-#define SWIGTYPE_p_svn_stream_t swig_types[137] +-#define SWIGTYPE_p_svn_string_t swig_types[138] +-#define SWIGTYPE_p_svn_stringbuf_t swig_types[139] +-#define SWIGTYPE_p_svn_tristate_t swig_types[140] +-#define SWIGTYPE_p_svn_version_checklist_t swig_types[141] +-#define SWIGTYPE_p_svn_version_ext_linked_lib_t swig_types[142] +-#define SWIGTYPE_p_svn_version_ext_loaded_lib_t swig_types[143] +-#define SWIGTYPE_p_svn_version_extended_t swig_types[144] +-#define SWIGTYPE_p_svn_version_t swig_types[145] +-#define SWIGTYPE_p_svn_wc_external_item2_t swig_types[146] +-#define SWIGTYPE_p_unsigned_char swig_types[147] +-#define SWIGTYPE_p_unsigned_long swig_types[148] +-#define SWIGTYPE_p_void swig_types[149] +-static swig_type_info *swig_types[151]; +-static swig_module_info swig_module = {swig_types, 150, 0, 0, 0, 0}; ++#define SWIGTYPE_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[18] ++#define SWIGTYPE_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[19] ++#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[20] ++#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[21] ++#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[22] ++#define SWIGTYPE_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[23] ++#define SWIGTYPE_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[24] ++#define SWIGTYPE_p_f_p_p_void_p_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[25] ++#define SWIGTYPE_p_f_p_p_void_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[26] ++#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[27] ++#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[28] ++#define SWIGTYPE_p_f_p_q_const__char_p_void__int swig_types[29] ++#define SWIGTYPE_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[30] ++#define SWIGTYPE_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[31] ++#define SWIGTYPE_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[32] ++#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[33] ++#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[34] ++#define SWIGTYPE_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[35] ++#define SWIGTYPE_p_f_p_void__p_svn_error_t swig_types[36] ++#define SWIGTYPE_p_f_p_void_apr_size_t__p_svn_error_t swig_types[37] ++#define SWIGTYPE_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[38] ++#define SWIGTYPE_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[39] ++#define SWIGTYPE_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[40] ++#define SWIGTYPE_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[41] ++#define SWIGTYPE_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[42] ++#define SWIGTYPE_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[43] ++#define SWIGTYPE_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[44] ++#define SWIGTYPE_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[45] ++#define SWIGTYPE_p_f_void__p_svn_version_t swig_types[46] ++#define SWIGTYPE_p_int swig_types[47] ++#define SWIGTYPE_p_long swig_types[48] ++#define SWIGTYPE_p_p_apr_array_header_t swig_types[49] ++#define SWIGTYPE_p_p_apr_file_t swig_types[50] ++#define SWIGTYPE_p_p_apr_hash_t swig_types[51] ++#define SWIGTYPE_p_p_char swig_types[52] ++#define SWIGTYPE_p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[53] ++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[54] ++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[55] ++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[56] ++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[57] ++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[58] ++#define SWIGTYPE_p_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[59] ++#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[60] ++#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[61] ++#define SWIGTYPE_p_p_f_p_q_const__char_p_void__int swig_types[62] ++#define SWIGTYPE_p_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[63] ++#define SWIGTYPE_p_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[64] ++#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[65] ++#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[66] ++#define SWIGTYPE_p_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[67] ++#define SWIGTYPE_p_p_f_p_void__p_svn_error_t swig_types[68] ++#define SWIGTYPE_p_p_f_p_void_apr_size_t__p_svn_error_t swig_types[69] ++#define SWIGTYPE_p_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[70] ++#define SWIGTYPE_p_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[71] ++#define SWIGTYPE_p_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[72] ++#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[73] ++#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[74] ++#define SWIGTYPE_p_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[75] ++#define SWIGTYPE_p_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[76] ++#define SWIGTYPE_p_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[77] ++#define SWIGTYPE_p_p_f_void__p_svn_version_t swig_types[78] ++#define SWIGTYPE_p_p_svn_auth_baton_t swig_types[79] ++#define SWIGTYPE_p_p_svn_auth_cred_simple_t swig_types[80] ++#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[81] ++#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_t swig_types[82] ++#define SWIGTYPE_p_p_svn_auth_cred_ssl_server_trust_t swig_types[83] ++#define SWIGTYPE_p_p_svn_auth_cred_username_t swig_types[84] ++#define SWIGTYPE_p_p_svn_auth_iterstate_t swig_types[85] ++#define SWIGTYPE_p_p_svn_auth_provider_object_t swig_types[86] ++#define SWIGTYPE_p_p_svn_checksum_t swig_types[87] ++#define SWIGTYPE_p_p_svn_config_t swig_types[88] ++#define SWIGTYPE_p_p_svn_io_dirent2_t swig_types[89] ++#define SWIGTYPE_p_p_svn_stream_mark_t swig_types[90] ++#define SWIGTYPE_p_p_svn_stream_t swig_types[91] ++#define SWIGTYPE_p_p_svn_string_t swig_types[92] ++#define SWIGTYPE_p_p_svn_stringbuf_t swig_types[93] ++#define SWIGTYPE_p_p_void swig_types[94] ++#define SWIGTYPE_p_svn_auth_baton_t swig_types[95] ++#define SWIGTYPE_p_svn_auth_cred_simple_t swig_types[96] ++#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[97] ++#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_t swig_types[98] ++#define SWIGTYPE_p_svn_auth_cred_ssl_server_trust_t swig_types[99] ++#define SWIGTYPE_p_svn_auth_cred_username_t swig_types[100] ++#define SWIGTYPE_p_svn_auth_gnome_keyring_unlock_prompt_func_t swig_types[101] ++#define SWIGTYPE_p_svn_auth_iterstate_t swig_types[102] ++#define SWIGTYPE_p_svn_auth_provider_object_t swig_types[103] ++#define SWIGTYPE_p_svn_auth_provider_t swig_types[104] ++#define SWIGTYPE_p_svn_auth_ssl_server_cert_info_t swig_types[105] ++#define SWIGTYPE_p_svn_checksum_ctx_t swig_types[106] ++#define SWIGTYPE_p_svn_checksum_kind_t swig_types[107] ++#define SWIGTYPE_p_svn_checksum_t swig_types[108] ++#define SWIGTYPE_p_svn_commit_info_t swig_types[109] ++#define SWIGTYPE_p_svn_config_t swig_types[110] ++#define SWIGTYPE_p_svn_depth_t swig_types[111] ++#define SWIGTYPE_p_svn_dirent_t swig_types[112] ++#define SWIGTYPE_p_svn_errno_t swig_types[113] ++#define SWIGTYPE_p_svn_error_t swig_types[114] ++#define SWIGTYPE_p_svn_io_dirent2_t swig_types[115] ++#define SWIGTYPE_p_svn_io_dirent_t swig_types[116] ++#define SWIGTYPE_p_svn_io_file_del_t swig_types[117] ++#define SWIGTYPE_p_svn_location_segment_t swig_types[118] ++#define SWIGTYPE_p_svn_lock_t swig_types[119] ++#define SWIGTYPE_p_svn_log_changed_path2_t swig_types[120] ++#define SWIGTYPE_p_svn_log_changed_path_t swig_types[121] ++#define SWIGTYPE_p_svn_log_entry_t swig_types[122] ++#define SWIGTYPE_p_svn_merge_range_t swig_types[123] ++#define SWIGTYPE_p_svn_mergeinfo_inheritance_t swig_types[124] ++#define SWIGTYPE_p_svn_node_kind_t swig_types[125] ++#define SWIGTYPE_p_svn_opt_revision_range_t swig_types[126] ++#define SWIGTYPE_p_svn_opt_revision_t swig_types[127] ++#define SWIGTYPE_p_svn_opt_revision_value_t swig_types[128] ++#define SWIGTYPE_p_svn_opt_subcommand_desc2_t swig_types[129] ++#define SWIGTYPE_p_svn_opt_subcommand_desc2_t_desc_overrides swig_types[130] ++#define SWIGTYPE_p_svn_opt_subcommand_desc_t swig_types[131] ++#define SWIGTYPE_p_svn_prop_inherited_item_t swig_types[132] ++#define SWIGTYPE_p_svn_prop_kind swig_types[133] ++#define SWIGTYPE_p_svn_prop_t swig_types[134] ++#define SWIGTYPE_p_svn_stream_mark_t swig_types[135] ++#define SWIGTYPE_p_svn_stream_t swig_types[136] ++#define SWIGTYPE_p_svn_string_t swig_types[137] ++#define SWIGTYPE_p_svn_stringbuf_t swig_types[138] ++#define SWIGTYPE_p_svn_tristate_t swig_types[139] ++#define SWIGTYPE_p_svn_version_checklist_t swig_types[140] ++#define SWIGTYPE_p_svn_version_ext_linked_lib_t swig_types[141] ++#define SWIGTYPE_p_svn_version_ext_loaded_lib_t swig_types[142] ++#define SWIGTYPE_p_svn_version_extended_t swig_types[143] ++#define SWIGTYPE_p_svn_version_t swig_types[144] ++#define SWIGTYPE_p_svn_wc_external_item2_t swig_types[145] ++#define SWIGTYPE_p_unsigned_char swig_types[146] ++#define SWIGTYPE_p_unsigned_long swig_types[147] ++#define SWIGTYPE_p_void swig_types[148] ++static swig_type_info *swig_types[150]; ++static swig_module_info swig_module = {swig_types, 149, 0, 0, 0, 0}; + #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) + #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +@@ -3834,29 +3833,6 @@ + + + +-/* Helper function to set the gnome-keyring unlock prompt function. This +- * C function accepts an auth baton, a function and a prompt baton, but +- * the below callback_typemap uses both the function and the prompt +- * baton, so the resulting binding has just two arguments: The auth +- * baton and the prompt function. +- * The prompt function should again have two arguments: The keyring name +- * (string) and a pool (except for the ruby version, which doesn't have +- * the pool argument). It should return the entered password (string). +- * This binding generated for this function generates a reference to the +- * prompt function that was passed into this. The caller should store +- * that reference somewhere, to prevent the function from being garbage +- * collected... +- */ +-static void svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t *ab, +- svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func, +- void *prompt_baton) { +- svn_auth_set_parameter(ab, SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC, +- prompt_func); +- svn_auth_set_parameter(ab, SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON, +- prompt_baton); +-} +- +- + static svn_error_t * + svn_swig_mergeinfo_merge(apr_hash_t **mergeinfo_inout, + apr_hash_t *changes, +@@ -17674,7 +17650,7 @@ + SWIGINTERN PyObject *svn_auth_gnome_keyring_unlock_prompt_func_t_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL; +- SWIG_TypeNewClientData(SWIGTYPE_p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, SWIG_NewClientData(obj)); ++ SWIG_TypeNewClientData(SWIGTYPE_p_svn_auth_gnome_keyring_unlock_prompt_func_t, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); + } + +@@ -32562,40 +32538,6 @@ + return SWIG_Py_Void(); + } + +-SWIGINTERN PyObject *_wrap_svn_auth_set_gnome_keyring_unlock_prompt_func(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +- PyObject *resultobj = 0; +- svn_auth_baton_t *arg1 = (svn_auth_baton_t *) 0 ; +- svn_auth_gnome_keyring_unlock_prompt_func_t arg2 = (svn_auth_gnome_keyring_unlock_prompt_func_t) 0 ; +- void *arg3 = (void *) 0 ; +- PyObject * obj0 = 0 ; +- PyObject * obj1 = 0 ; +- +- if (!PyArg_ParseTuple(args,(char *)"OO:svn_auth_set_gnome_keyring_unlock_prompt_func",&obj0,&obj1)) SWIG_fail; +- { +- arg1 = (svn_auth_baton_t *)svn_swig_MustGetPtr(obj0, SWIGTYPE_p_svn_auth_baton_t, svn_argnum_obj0); +- if (PyErr_Occurred()) { +- SWIG_fail; +- } +- } +- { +- arg2 = svn_swig_py_auth_gnome_keyring_unlock_prompt_func; +- arg3 = obj1; +- } +- { +- svn_swig_py_release_py_lock(); +- +- svn_auth_set_gnome_keyring_unlock_prompt_func(arg1,arg2,arg3); +- +- svn_swig_py_acquire_py_lock(); +- +- } +- resultobj = SWIG_Py_Void(); +- return resultobj; +-fail: +- return NULL; +-} +- +- + SWIGINTERN PyObject *_wrap_svn_swig_py_set_application_pool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + PyObject *arg1 = (PyObject *) 0 ; +@@ -33902,7 +33844,6 @@ + { (char *)"svn_checksum_is_empty_checksum", _wrap_svn_checksum_is_empty_checksum, METH_VARARGS, (char *)"svn_checksum_is_empty_checksum(svn_checksum_t checksum) -> svn_boolean_t"}, + { (char *)"svn_checksum_mismatch_err", _wrap_svn_checksum_mismatch_err, METH_VARARGS, (char *)"svn_checksum_mismatch_err(svn_checksum_t expected, svn_checksum_t actual, apr_pool_t scratch_pool, char const * fmt) -> svn_error_t"}, + { (char *)"svn_checksum_ctx_t_swigregister", svn_checksum_ctx_t_swigregister, METH_VARARGS, NULL}, +- { (char *)"svn_auth_set_gnome_keyring_unlock_prompt_func", _wrap_svn_auth_set_gnome_keyring_unlock_prompt_func, METH_VARARGS, (char *)"svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t * ab, svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func)"}, + { (char *)"svn_swig_py_set_application_pool", _wrap_svn_swig_py_set_application_pool, METH_VARARGS, (char *)"svn_swig_py_set_application_pool(PyObject * py_pool, apr_pool_t pool)"}, + { (char *)"svn_swig_py_clear_application_pool", _wrap_svn_swig_py_clear_application_pool, METH_VARARGS, (char *)"svn_swig_py_clear_application_pool()"}, + { (char *)"apr_array_header_t_swigregister", apr_array_header_t_swigregister, METH_VARARGS, NULL}, +@@ -33937,7 +33878,6 @@ + static swig_type_info _swigt__p_apr_size_t = {"_p_apr_size_t", "apr_size_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t = {"_p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t", "svn_opt_subcommand_t *|struct svn_error_t *(*)(apr_getopt_t *,void *,apr_pool_t *)", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t = {"_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t", "svn_auth_gnome_keyring_unlock_prompt_func_t|struct svn_error_t *(*)(char **,char const *,void *,apr_pool_t *)", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void = {"_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void", "svn_auth_simple_provider_func_t|svn_auth_ssl_client_cert_pw_provider_func_t|void (*)(struct svn_auth_provider_object_t **,apr_pool_t *)", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "svn_auth_simple_prompt_func_t|struct svn_error_t *(*)(svn_auth_cred_simple_t **,void *,char const *,char const *,svn_boolean_t,apr_pool_t *)", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "svn_auth_ssl_client_cert_pw_prompt_func_t|struct svn_error_t *(*)(svn_auth_cred_ssl_client_cert_pw_t **,void *,char const *,svn_boolean_t,apr_pool_t *)", 0, 0, (void*)0, 0}; +@@ -33973,7 +33913,6 @@ + static swig_type_info _swigt__p_p_apr_file_t = {"_p_p_apr_file_t", "apr_file_t **", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_p_apr_hash_t = {"_p_p_apr_hash_t", "apr_hash_t **|svn_mergeinfo_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t = {"_p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t", "struct svn_error_t *(**)(char **,char const *,void *,apr_pool_t *)|svn_auth_gnome_keyring_unlock_prompt_func_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void = {"_p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void", "void (**)(struct svn_auth_provider_object_t **,apr_pool_t *)|svn_auth_simple_provider_func_t *|svn_auth_ssl_client_cert_pw_provider_func_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "struct svn_error_t *(**)(svn_auth_cred_simple_t **,void *,char const *,char const *,svn_boolean_t,apr_pool_t *)|svn_auth_simple_prompt_func_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "struct svn_error_t *(**)(svn_auth_cred_ssl_client_cert_pw_t **,void *,char const *,svn_boolean_t,apr_pool_t *)|svn_auth_ssl_client_cert_pw_prompt_func_t *", 0, 0, (void*)0, 0}; +@@ -34022,6 +33961,7 @@ + static swig_type_info _swigt__p_svn_auth_cred_ssl_client_cert_t = {"_p_svn_auth_cred_ssl_client_cert_t", "struct svn_auth_cred_ssl_client_cert_t *|svn_auth_cred_ssl_client_cert_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_svn_auth_cred_ssl_server_trust_t = {"_p_svn_auth_cred_ssl_server_trust_t", "struct svn_auth_cred_ssl_server_trust_t *|svn_auth_cred_ssl_server_trust_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_svn_auth_cred_username_t = {"_p_svn_auth_cred_username_t", "struct svn_auth_cred_username_t *|svn_auth_cred_username_t *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_svn_auth_gnome_keyring_unlock_prompt_func_t = {"_p_svn_auth_gnome_keyring_unlock_prompt_func_t", "svn_auth_gnome_keyring_unlock_prompt_func_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_svn_auth_iterstate_t = {"_p_svn_auth_iterstate_t", "struct svn_auth_iterstate_t *|svn_auth_iterstate_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_svn_auth_provider_object_t = {"_p_svn_auth_provider_object_t", "struct svn_auth_provider_object_t *|svn_auth_provider_object_t *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_svn_auth_provider_t = {"_p_svn_auth_provider_t", "struct svn_auth_provider_t *|svn_auth_provider_t *", 0, 0, (void*)0, 0}; +@@ -34089,7 +34029,6 @@ + &_swigt__p_apr_size_t, + &_swigt__p_char, + &_swigt__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t, +- &_swigt__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, + &_swigt__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, + &_swigt__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, + &_swigt__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, +@@ -34125,7 +34064,6 @@ + &_swigt__p_p_apr_file_t, + &_swigt__p_p_apr_hash_t, + &_swigt__p_p_char, +- &_swigt__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, + &_swigt__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, + &_swigt__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, + &_swigt__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, +@@ -34174,6 +34112,7 @@ + &_swigt__p_svn_auth_cred_ssl_client_cert_t, + &_swigt__p_svn_auth_cred_ssl_server_trust_t, + &_swigt__p_svn_auth_cred_username_t, ++ &_swigt__p_svn_auth_gnome_keyring_unlock_prompt_func_t, + &_swigt__p_svn_auth_iterstate_t, + &_swigt__p_svn_auth_provider_object_t, + &_swigt__p_svn_auth_provider_t, +@@ -34241,7 +34180,6 @@ + static swig_cast_info _swigc__p_apr_size_t[] = { {&_swigt__p_apr_size_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; +-static swig_cast_info _swigc__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void[] = { {&_swigt__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; +@@ -34277,7 +34215,6 @@ + static swig_cast_info _swigc__p_p_apr_file_t[] = { {&_swigt__p_p_apr_file_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_p_apr_hash_t[] = { {&_swigt__p_p_apr_hash_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_p_char[] = { {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}}; +-static swig_cast_info _swigc__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void[] = { {&_swigt__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}}; +@@ -34326,6 +34263,7 @@ + static swig_cast_info _swigc__p_svn_auth_cred_ssl_client_cert_t[] = { {&_swigt__p_svn_auth_cred_ssl_client_cert_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_svn_auth_cred_ssl_server_trust_t[] = { {&_swigt__p_svn_auth_cred_ssl_server_trust_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_svn_auth_cred_username_t[] = { {&_swigt__p_svn_auth_cred_username_t, 0, 0, 0},{0, 0, 0, 0}}; ++static swig_cast_info _swigc__p_svn_auth_gnome_keyring_unlock_prompt_func_t[] = { {&_swigt__p_svn_auth_gnome_keyring_unlock_prompt_func_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_svn_auth_iterstate_t[] = { {&_swigt__p_svn_auth_iterstate_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_svn_auth_provider_object_t[] = { {&_swigt__p_svn_auth_provider_object_t, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_svn_auth_provider_t[] = { {&_swigt__p_svn_auth_provider_t, 0, 0, 0},{0, 0, 0, 0}}; +@@ -34393,7 +34331,6 @@ + _swigc__p_apr_size_t, + _swigc__p_char, + _swigc__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t, +- _swigc__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, + _swigc__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, + _swigc__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, + _swigc__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, +@@ -34429,7 +34366,6 @@ + _swigc__p_p_apr_file_t, + _swigc__p_p_apr_hash_t, + _swigc__p_p_char, +- _swigc__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, + _swigc__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, + _swigc__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, + _swigc__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, +@@ -34478,6 +34414,7 @@ + _swigc__p_svn_auth_cred_ssl_client_cert_t, + _swigc__p_svn_auth_cred_ssl_server_trust_t, + _swigc__p_svn_auth_cred_username_t, ++ _swigc__p_svn_auth_gnome_keyring_unlock_prompt_func_t, + _swigc__p_svn_auth_iterstate_t, + _swigc__p_svn_auth_provider_object_t, + _swigc__p_svn_auth_provider_t, +@@ -35638,8 +35575,6 @@ + SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_CONFIG",SWIG_FromCharPtr("svn:auth:config-category-servers")); + SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_SERVER_GROUP",SWIG_FromCharPtr("svn:auth:server-group")); + SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_CONFIG_DIR",SWIG_FromCharPtr("svn:auth:config-dir")); +- SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC",SWIG_FromCharPtr("gnome-keyring-unlock-prompt-func")); +- SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON",SWIG_FromCharPtr("gnome-keyring-unlock-prompt-baton")); + SWIG_Python_SetConstant(d, "SVN_CONFIG_CATEGORY_SERVERS",SWIG_FromCharPtr("servers")); + SWIG_Python_SetConstant(d, "SVN_CONFIG_SECTION_GROUPS",SWIG_FromCharPtr("groups")); + SWIG_Python_SetConstant(d, "SVN_CONFIG_SECTION_GLOBAL",SWIG_FromCharPtr("global")); +diff -u -d -b -w -r subversion-1.8.0-orig/subversion/bindings/swig/python/core.py subversion-1.8.0-python/subversion/bindings/swig/python/core.py +--- subversion/bindings/swig/python/core.py 2013-06-13 05:07:20.000000000 -0400 ++++ subversion/bindings/swig/python/core.py 2013-07-12 16:11:04.000000000 -0400 +@@ -3316,8 +3316,6 @@ + def svn_auth_get_platform_specific_client_providers(*args): + """svn_auth_get_platform_specific_client_providers(svn_config_t * config, apr_pool_t pool) -> svn_error_t""" + return _core.svn_auth_get_platform_specific_client_providers(*args) +-SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC = _core.SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC +-SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON = _core.SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON + + def svn_auth_get_username_provider(*args): + """svn_auth_get_username_provider(apr_pool_t pool)""" +@@ -6336,10 +6334,6 @@ + svn_checksum_ctx_t_swigregister(svn_checksum_ctx_t) + + +-def svn_auth_set_gnome_keyring_unlock_prompt_func(*args): +- """svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t * ab, svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func)""" +- return _core.svn_auth_set_gnome_keyring_unlock_prompt_func(*args) +- + def svn_swig_py_set_application_pool(*args): + """svn_swig_py_set_application_pool(PyObject * py_pool, apr_pool_t pool)""" + return _core.svn_swig_py_set_application_pool(*args) diff --git a/dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch b/dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch new file mode 100644 index 000000000000..4fab19a66b91 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch @@ -0,0 +1,11 @@ +--- Makefile.in 2011-07-16 13:50:53.000000000 +0200 ++++ Makefile.in.new 2012-03-11 12:13:57.000000000 +0100 +@@ -732,7 +732,7 @@ + extraclean-swig-headers: clean-swig-headers + $(EXTRACLEAN_SWIG_HEADERS) + +-$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in ++$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in libsvn_swig_perl + ./config.status subversion/bindings/swig/perl/native/Makefile.PL + + $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL diff --git a/dev-vcs/subversion/files/svnserve.confd b/dev-vcs/subversion/files/svnserve.confd new file mode 100644 index 000000000000..83997ce92719 --- /dev/null +++ b/dev-vcs/subversion/files/svnserve.confd @@ -0,0 +1,10 @@ +# The commented variables in this file are the defaults that are used +# in the init-script. You don't need to uncomment them except to +# customize them to different values. + +# Options for svnserve +#SVNSERVE_OPTS="--root=/var/svn" + +# User and group as which to run svnserve +#SVNSERVE_USER="svn" +#SVNSERVE_GROUP="svnusers" diff --git a/dev-vcs/subversion/files/svnserve.initd2 b/dev-vcs/subversion/files/svnserve.initd2 new file mode 100644 index 000000000000..79f1411070b2 --- /dev/null +++ b/dev-vcs/subversion/files/svnserve.initd2 @@ -0,0 +1,26 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting svnserve" + # Ensure that we run from a readable working dir, and that we do not + # lock filesystems when being run from such a location. + cd / + start-stop-daemon --start --quiet --background --make-pidfile \ + --pidfile /var/run/svnserve.pid --exec /usr/bin/svnserve \ + --user ${SVNSERVE_USER:-apache} --group ${SVNSERVE_GROUP:-apache} -- \ + --foreground --daemon ${SVNSERVE_OPTS:---root=/var/svn} + eend $? +} + +stop() { + ebegin "Stopping svnserve" + start-stop-daemon --stop --quiet --pidfile /var/run/svnserve.pid + eend $? +} diff --git a/dev-vcs/subversion/files/svnserve.initd3 b/dev-vcs/subversion/files/svnserve.initd3 new file mode 100644 index 000000000000..1236cf56b1c9 --- /dev/null +++ b/dev-vcs/subversion/files/svnserve.initd3 @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +description="svn server" +pidfile="/var/run/svnserve.pid" +command="/usr/bin/svnserve" +command_args="--foreground --daemon ${SVNSERVE_OPTS:---root=/var/svn}" +command_background="true" +start_stop_daemon_args="-u ${SVNSERVE_USER:-apache} -g ${SVNSERVE_GROUP:-apache}" + +depend() { + need net +} + +start_pre() { + # Ensure that we run from a readable working dir, and that we do not + # lock filesystems when being run from such a location. + cd / +} diff --git a/dev-vcs/subversion/files/svnserve.xinetd b/dev-vcs/subversion/files/svnserve.xinetd new file mode 100644 index 000000000000..e29f906b5096 --- /dev/null +++ b/dev-vcs/subversion/files/svnserve.xinetd @@ -0,0 +1,14 @@ +service svn +{ + socket_type = stream + wait = no + user = apache + group = apache + umask = 002 + protocol = tcp + log_on_failure += USERID HOST + port = 3690 + server = /usr/bin/svnserve + server_args = -i + disable = yes +} diff --git a/dev-vcs/subversion/metadata.xml b/dev-vcs/subversion/metadata.xml new file mode 100644 index 000000000000..88aaac09a39c --- /dev/null +++ b/dev-vcs/subversion/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>tommy@gentoo.org</email> + <name>Thomas Sachau</name> + </maintainer> + <maintainer restrict=">=dev-vcs/subversion-1.8.0"> + <email>polynomial-c@gentoo.org</email> + <name>Lars Wendler</name> + </maintainer> + <use> + <flag name="ctypes-python">Build and install Ctypes Python bindings</flag> + <flag name="dso">Enable runtime module search</flag> + <flag name="extras">Install extra scripts (examples, tools, hooks)</flag> + <flag name="http">Enable http support using <pkg>net-libs/serf</pkg></flag> + <flag name="webdav-neon">Enable WebDAV support using <pkg>net-libs/neon</pkg></flag> + <flag name="webdav-serf">Enable WebDAV support using <pkg>net-libs/serf</pkg></flag> + </use> +</pkgmetadata> diff --git a/dev-vcs/subversion/subversion-1.7.20.ebuild b/dev-vcs/subversion/subversion-1.7.20.ebuild new file mode 100644 index 000000000000..5b585c87c7a7 --- /dev/null +++ b/dev-vcs/subversion/subversion-1.7.20.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +MY_P="${P/_/-}" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring java kde nls perl python ruby sasl test vim-syntax +webdav-neon webdav-serf" + +COMMON_DEPEND=">=dev-db/sqlite-3.6.18[threadsafe(+)] + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-libs/zlib + berkdb? ( >=sys-libs/db-4.0.14 ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-1.8.2:1.8 + dev-ruby/rubygems[ruby_targets_ruby18] ) + sasl? ( dev-libs/cyrus-sasl ) + webdav-neon? ( >=net-libs/neon-0.28 ) + webdav-serf? ( >=net-libs/serf-0.3.0 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-apps/kwalletd:4 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + test? ( ${PYTHON_DEPS} ) + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + webdav-neon? ( virtual/pkgconfig )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} )" + +want_apache + +pkg_setup() { + if use berkdb; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]]; then + if [[ -n "${apu_bdb_version}" ]]; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use webdav-neon && ! use webdav-serf; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling one of the following USE-flags:" + ewarn " webdav-neon webdav-serf" + echo -ne "\a" + fi + + if use debug; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.6.3-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python; then + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java; then + myconf+=" --without-junit" + fi + + if use kde || use nls; then + myconf+=" --enable-nls" + else + myconf+=" --disable-nls" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #workaround for bug 387057 + has_version =dev-vcs/subversion-1.6* && myconf+=" --disable-disallowing-of-undefined-references" + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + #force ruby-1.8 for bug 399105 + #allow overriding Python include directory + ac_cv_path_RUBY="${EPREFIX}"/usr/bin/ruby18 ac_cv_path_RDOC="${EPREFIX}"/usr/bin/rdoc18 \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_with sasl) \ + $(use_with webdav-neon neon) \ + $(use_with webdav-serf serf "${EPREFIX}/usr") \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-neon-version-check \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl; then + emake swig-pl + fi + + if use ruby; then + emake swig-rb + fi + + if use java; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras; then + emake tools + fi + + if use doc; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + default + + if use ctypes-python; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + perl_delete_localpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion subversion + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd2 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools || die "Installation of tools failed" + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc; then + dohtml -r doc/doxygen/html/* + + if use java; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + find "${ED}" '(' -name '*.la' ')' -print0 | xargs -0 rm -f + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]]; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]]; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + if [[ -n "${CHANGED_BDB_VERSION}" ]]; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + : +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]]; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} diff --git a/dev-vcs/subversion/subversion-1.7.21.ebuild b/dev-vcs/subversion/subversion-1.7.21.ebuild new file mode 100644 index 000000000000..24cf571afb53 --- /dev/null +++ b/dev-vcs/subversion/subversion-1.7.21.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +MY_P="${P/_/-}" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring java kde nls perl python ruby sasl test vim-syntax +webdav-neon webdav-serf" + +COMMON_DEPEND=">=dev-db/sqlite-3.6.18[threadsafe(+)] + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-libs/zlib + berkdb? ( >=sys-libs/db-4.0.14 ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-1.8.2:1.8 + dev-ruby/rubygems[ruby_targets_ruby18] ) + sasl? ( dev-libs/cyrus-sasl ) + webdav-neon? ( >=net-libs/neon-0.28 ) + webdav-serf? ( >=net-libs/serf-0.3.0 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-apps/kwalletd:4 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + test? ( ${PYTHON_DEPS} ) + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + webdav-neon? ( virtual/pkgconfig )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} )" + +want_apache + +pkg_setup() { + if use berkdb; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]]; then + if [[ -n "${apu_bdb_version}" ]]; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use webdav-neon && ! use webdav-serf; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling one of the following USE-flags:" + ewarn " webdav-neon webdav-serf" + echo -ne "\a" + fi + + if use debug; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.6.3-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python; then + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java; then + myconf+=" --without-junit" + fi + + if use kde || use nls; then + myconf+=" --enable-nls" + else + myconf+=" --disable-nls" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #workaround for bug 387057 + has_version =dev-vcs/subversion-1.6* && myconf+=" --disable-disallowing-of-undefined-references" + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + #force ruby-1.8 for bug 399105 + #allow overriding Python include directory + ac_cv_path_RUBY="${EPREFIX}"/usr/bin/ruby18 ac_cv_path_RDOC="${EPREFIX}"/usr/bin/rdoc18 \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_with sasl) \ + $(use_with webdav-neon neon) \ + $(use_with webdav-serf serf "${EPREFIX}/usr") \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-neon-version-check \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl; then + emake swig-pl + fi + + if use ruby; then + emake swig-rb + fi + + if use java; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras; then + emake tools + fi + + if use doc; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + default + + if use ctypes-python; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + perl_delete_localpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion subversion + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd2 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools || die "Installation of tools failed" + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc; then + dohtml -r doc/doxygen/html/* + + if use java; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + find "${ED}" '(' -name '*.la' ')' -print0 | xargs -0 rm -f + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]]; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]]; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + if [[ -n "${CHANGED_BDB_VERSION}" ]]; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + : +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]]; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} diff --git a/dev-vcs/subversion/subversion-1.8.13-r1.ebuild b/dev-vcs/subversion/subversion-1.8.13-r1.ebuild new file mode 100644 index 000000000000..c3fb52a4c946 --- /dev/null +++ b/dev-vcs/subversion/subversion-1.8.13-r1.ebuild @@ -0,0 +1,493 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +MY_P="${P/_/-}" +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kde nls perl python ruby sasl test vim-syntax" + +COMMON_DEPEND=">=dev-db/sqlite-3.7.12 + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-apps/file + sys-libs/zlib + app-arch/bzip2 + berkdb? ( >=sys-libs/db-4.0.14:= ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-2.0:2.0 + dev-ruby/rubygems[ruby_targets_ruby20] ) + sasl? ( dev-libs/cyrus-sasl ) + http? ( >=net-libs/serf-1.2.1 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-apps/kwalletd:4 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + http? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( ${PYTHON_DEPS} )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( + ${PYTHON_REQUIRED_USE} + !dso + )" + +want_apache + +pkg_setup() { + if use berkdb ; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]] ; then + if [[ -n "${apu_bdb_version}" ]] ; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use http ; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling \"http\" USE flag" + echo -ne "\a" + fi + + if use debug ; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C51C42014.3060700@wandisco.com%3E + [[ ${CHOST} == *-solaris2* ]] && append-cppflags -D__EXTENSIONS__ + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.8.0-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch \ + "${FILESDIR}"/${PN}-1.8.1-revert_bdb6check.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python ; then + if [[ ${CHOST} == *-darwin* ]] ; then + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C20130614113003.GA19257@tarsus.local2%3E + # in short, we don't have gnome-keyring stuff here, patch + # borrowed from MacPorts + epatch "${FILESDIR}"/${PN}-1.8.5-swig-python-no-gnome-keyring.patch + fi + + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java ; then + myconf+=" --without-junit" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + if use python && [[ ${CHOST} == *-darwin* ]] ; then + export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_compile="$(tc-getCC)" + fi + + # force ruby-2.0 + # allow overriding Python include directory + ac_cv_path_RUBY=$(usex ruby "${EPREFIX}/usr/bin/ruby20" "none") \ + ac_cv_path_RDOC=$(usex ruby "${EPREFIX}/usr/bin/rdoc20" "none") \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apache-libexecdir) \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_enable nls) \ + $(use_with sasl) \ + $(use_with http serf) \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python ; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python ; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl ; then + emake swig-pl + fi + + if use ruby ; then + emake swig-rb + fi + + if use java ; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras ; then + emake tools + fi + + if use doc ; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + if has_version ~${CATEGORY}/${P} ; then + default + + if use ctypes-python ; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python ; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi + else + ewarn "The test suite shows errors when there is an older version of" + ewarn "${CATEGORY}/${PN} installed. Please install =${CATEGORY}/${P}*" + ewarn "before running the test suite." + ewarn "Test suite skipped." + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python ; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python ; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl ; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + perl_delete_localpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby ; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java ; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2 ; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion svn + bashcomp_alias svn svn{admin,dumpfilter,look,sync,version} + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd3 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras ; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc ; then + dohtml -r doc/doxygen/html/* + + if use java ; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + prune_libtool_files --all + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]] ; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + : +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]] ; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2 ; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} diff --git a/dev-vcs/subversion/subversion-1.8.14-r1.ebuild b/dev-vcs/subversion/subversion-1.8.14-r1.ebuild new file mode 100644 index 000000000000..655a7eb992d3 --- /dev/null +++ b/dev-vcs/subversion/subversion-1.8.14-r1.ebuild @@ -0,0 +1,493 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +MY_P="${P/_/-}" +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kde nls perl python ruby sasl test vim-syntax" + +COMMON_DEPEND=">=dev-db/sqlite-3.7.12 + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-apps/file + sys-libs/zlib + app-arch/bzip2 + berkdb? ( >=sys-libs/db-4.0.14:= ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-2.1:2.1 + dev-ruby/rubygems[ruby_targets_ruby21] ) + sasl? ( dev-libs/cyrus-sasl ) + http? ( >=net-libs/serf-1.2.1 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-apps/kwalletd:4 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + http? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( ${PYTHON_DEPS} )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( + ${PYTHON_REQUIRED_USE} + !dso + )" + +want_apache + +pkg_setup() { + if use berkdb ; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]] ; then + if [[ -n "${apu_bdb_version}" ]] ; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use http ; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling \"http\" USE flag" + echo -ne "\a" + fi + + if use debug ; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C51C42014.3060700@wandisco.com%3E + [[ ${CHOST} == *-solaris2* ]] && append-cppflags -D__EXTENSIONS__ + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.8.0-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch \ + "${FILESDIR}"/${PN}-1.8.1-revert_bdb6check.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python ; then + if [[ ${CHOST} == *-darwin* ]] ; then + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C20130614113003.GA19257@tarsus.local2%3E + # in short, we don't have gnome-keyring stuff here, patch + # borrowed from MacPorts + epatch "${FILESDIR}"/${PN}-1.8.5-swig-python-no-gnome-keyring.patch + fi + + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java ; then + myconf+=" --without-junit" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + if use python && [[ ${CHOST} == *-darwin* ]] ; then + export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_compile="$(tc-getCC)" + fi + + # force ruby-2.1 + # allow overriding Python include directory + ac_cv_path_RUBY=$(usex ruby "${EPREFIX}/usr/bin/ruby21" "none") \ + ac_cv_path_RDOC=$(usex ruby "${EPREFIX}/usr/bin/rdoc21" "none") \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apache-libexecdir) \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_enable nls) \ + $(use_with sasl) \ + $(use_with http serf) \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python ; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python ; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl ; then + emake swig-pl + fi + + if use ruby ; then + emake swig-rb + fi + + if use java ; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras ; then + emake tools + fi + + if use doc ; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + if has_version ~${CATEGORY}/${P} ; then + default + + if use ctypes-python ; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python ; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi + else + ewarn "The test suite shows errors when there is an older version of" + ewarn "${CATEGORY}/${PN} installed. Please install =${CATEGORY}/${P}*" + ewarn "before running the test suite." + ewarn "Test suite skipped." + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python ; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python ; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl ; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + perl_delete_localpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby ; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java ; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2 ; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion svn + bashcomp_alias svn svn{admin,dumpfilter,look,sync,version} + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd3 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras ; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc ; then + dohtml -r doc/doxygen/html/* + + if use java ; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + prune_libtool_files --all + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]] ; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + : +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]] ; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2 ; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} diff --git a/dev-vcs/subversion/subversion-1.8.14.ebuild b/dev-vcs/subversion/subversion-1.8.14.ebuild new file mode 100644 index 000000000000..4f3b9dd3eb4d --- /dev/null +++ b/dev-vcs/subversion/subversion-1.8.14.ebuild @@ -0,0 +1,493 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +MY_P="${P/_/-}" +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kde nls perl python ruby sasl test vim-syntax" + +COMMON_DEPEND=">=dev-db/sqlite-3.7.12 + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-apps/file + sys-libs/zlib + app-arch/bzip2 + berkdb? ( >=sys-libs/db-4.0.14:= ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-2.0:2.0 + dev-ruby/rubygems[ruby_targets_ruby20] ) + sasl? ( dev-libs/cyrus-sasl ) + http? ( >=net-libs/serf-1.2.1 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-apps/kwalletd:4 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + http? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( ${PYTHON_DEPS} )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( + ${PYTHON_REQUIRED_USE} + !dso + )" + +want_apache + +pkg_setup() { + if use berkdb ; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]] ; then + if [[ -n "${apu_bdb_version}" ]] ; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use http ; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling \"http\" USE flag" + echo -ne "\a" + fi + + if use debug ; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C51C42014.3060700@wandisco.com%3E + [[ ${CHOST} == *-solaris2* ]] && append-cppflags -D__EXTENSIONS__ + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.8.0-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch \ + "${FILESDIR}"/${PN}-1.8.1-revert_bdb6check.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python ; then + if [[ ${CHOST} == *-darwin* ]] ; then + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C20130614113003.GA19257@tarsus.local2%3E + # in short, we don't have gnome-keyring stuff here, patch + # borrowed from MacPorts + epatch "${FILESDIR}"/${PN}-1.8.5-swig-python-no-gnome-keyring.patch + fi + + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java ; then + myconf+=" --without-junit" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + if use python && [[ ${CHOST} == *-darwin* ]] ; then + export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_compile="$(tc-getCC)" + fi + + # force ruby-2.0 + # allow overriding Python include directory + ac_cv_path_RUBY=$(usex ruby "${EPREFIX}/usr/bin/ruby20" "none") \ + ac_cv_path_RDOC=$(usex ruby "${EPREFIX}/usr/bin/rdoc20" "none") \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apache-libexecdir) \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_enable nls) \ + $(use_with sasl) \ + $(use_with http serf) \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python ; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python ; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl ; then + emake swig-pl + fi + + if use ruby ; then + emake swig-rb + fi + + if use java ; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras ; then + emake tools + fi + + if use doc ; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + if has_version ~${CATEGORY}/${P} ; then + default + + if use ctypes-python ; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python ; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi + else + ewarn "The test suite shows errors when there is an older version of" + ewarn "${CATEGORY}/${PN} installed. Please install =${CATEGORY}/${P}*" + ewarn "before running the test suite." + ewarn "Test suite skipped." + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python ; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python ; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl ; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + perl_delete_localpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby ; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java ; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2 ; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion svn + bashcomp_alias svn svn{admin,dumpfilter,look,sync,version} + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd3 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras ; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc ; then + dohtml -r doc/doxygen/html/* + + if use java ; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + prune_libtool_files --all + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]] ; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + : +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]] ; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2 ; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} diff --git a/dev-vcs/subversion/subversion-1.9.0.ebuild b/dev-vcs/subversion/subversion-1.9.0.ebuild new file mode 100644 index 000000000000..655a7eb992d3 --- /dev/null +++ b/dev-vcs/subversion/subversion-1.9.0.ebuild @@ -0,0 +1,493 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +MY_P="${P/_/-}" +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kde nls perl python ruby sasl test vim-syntax" + +COMMON_DEPEND=">=dev-db/sqlite-3.7.12 + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-apps/file + sys-libs/zlib + app-arch/bzip2 + berkdb? ( >=sys-libs/db-4.0.14:= ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-2.1:2.1 + dev-ruby/rubygems[ruby_targets_ruby21] ) + sasl? ( dev-libs/cyrus-sasl ) + http? ( >=net-libs/serf-1.2.1 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-apps/kwalletd:4 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + http? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + test? ( ${PYTHON_DEPS} )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( + ${PYTHON_REQUIRED_USE} + !dso + )" + +want_apache + +pkg_setup() { + if use berkdb ; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]] ; then + if [[ -n "${apu_bdb_version}" ]] ; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use http ; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling \"http\" USE flag" + echo -ne "\a" + fi + + if use debug ; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C51C42014.3060700@wandisco.com%3E + [[ ${CHOST} == *-solaris2* ]] && append-cppflags -D__EXTENSIONS__ + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.8.0-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch \ + "${FILESDIR}"/${PN}-1.8.1-revert_bdb6check.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python ; then + if [[ ${CHOST} == *-darwin* ]] ; then + # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C20130614113003.GA19257@tarsus.local2%3E + # in short, we don't have gnome-keyring stuff here, patch + # borrowed from MacPorts + epatch "${FILESDIR}"/${PN}-1.8.5-swig-python-no-gnome-keyring.patch + fi + + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java ; then + myconf+=" --without-junit" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + if use python && [[ ${CHOST} == *-darwin* ]] ; then + export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)' + export ac_cv_python_compile="$(tc-getCC)" + fi + + # force ruby-2.1 + # allow overriding Python include directory + ac_cv_path_RUBY=$(usex ruby "${EPREFIX}/usr/bin/ruby21" "none") \ + ac_cv_path_RDOC=$(usex ruby "${EPREFIX}/usr/bin/rdoc21" "none") \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apache-libexecdir) \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_enable nls) \ + $(use_with sasl) \ + $(use_with http serf) \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python ; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python ; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl ; then + emake swig-pl + fi + + if use ruby ; then + emake swig-rb + fi + + if use java ; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras ; then + emake tools + fi + + if use doc ; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + if has_version ~${CATEGORY}/${P} ; then + default + + if use ctypes-python ; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python ; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi + else + ewarn "The test suite shows errors when there is an older version of" + ewarn "${CATEGORY}/${PN} installed. Please install =${CATEGORY}/${P}*" + ewarn "before running the test suite." + ewarn "Test suite skipped." + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python ; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python ; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl ; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + perl_delete_localpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby ; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java ; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2 ; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion svn + bashcomp_alias svn svn{admin,dumpfilter,look,sync,version} + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd3 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras ; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc ; then + dohtml -r doc/doxygen/html/* + + if use java ; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + prune_libtool_files --all + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]] ; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + : +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]] ; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2 ; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} |