From 18dfbfed410ff50b982c8129f958f39023009d79 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 19 Dec 2011 14:08:51 -0500 Subject: [PATCH] {subversion,neon}: update to latest stable upstream This pulls in the latest upstream version which includes moving categories (dev-util -> dev-vcs). But we don't actually switch to this version until the cros overlay updates and forces it. BUG=chromium-os:24360 TEST=`emerge dev-vcs/subversion` works TEST=`svn co svn://anonsvn.gentoo.org/baselayout` works Change-Id: Ib4cd81761f6796c5e9e783be360ce96d31949fe0 Reviewed-on: https://gerrit.chromium.org/gerrit/13146 Reviewed-by: David James Commit-Ready: Mike Frysinger Tested-by: Mike Frysinger --- .../subversion/files/47_mod_dav_svn.conf | 16 + .../dev-vcs/subversion/files/70svn-gentoo.el | 13 + .../files/subversion-1.5.4-interix.patch | 114 +++++ .../files/subversion-1.5.6-aix-dso.patch | 21 + ...e_linking_against_unneeded_libraries.patch | 56 +++ ...rsion-1.6.2-local_library_preloading.patch | 165 ++++++ .../files/subversion-1.6.3-hpux-dso.patch | 16 + .../subversion-1.6.3-kwallet_window.patch | 298 +++++++++++ .../dev-vcs/subversion/files/svnserve.confd | 10 + .../dev-vcs/subversion/files/svnserve.initd2 | 26 + .../dev-vcs/subversion/files/svnserve.xinetd | 14 + .../subversion/subversion-1.6.17-r7.ebuild | 473 ++++++++++++++++++ .../net-libs/neon/neon-0.29.6.ebuild | 108 ++++ 13 files changed, 1330 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/47_mod_dav_svn.conf create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/70svn-gentoo.el create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.5.4-interix.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.2-local_library_preloading.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-hpux-dso.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-kwallet_window.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.confd create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.initd2 create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.xinetd create mode 100644 sdk_container/src/third_party/portage-stable/dev-vcs/subversion/subversion-1.6.17-r7.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/neon/neon-0.29.6.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/47_mod_dav_svn.conf b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/47_mod_dav_svn.conf new file mode 100644 index 0000000000..52d08b7ab5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/47_mod_dav_svn.conf @@ -0,0 +1,16 @@ + +LoadModule dav_svn_module modules/mod_dav_svn.so + +LoadModule authz_svn_module modules/mod_authz_svn.so + + +# Example configuration: +# +# DAV svn +# SVNPath ${SVN_REPOS_LOC}/repos +# AuthType Basic +# AuthName "Subversion repository" +# AuthUserFile ${SVN_REPOS_LOC}/conf/svnusers +# Require valid-user +# + diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/70svn-gentoo.el b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/70svn-gentoo.el new file mode 100644 index 0000000000..e5721e2480 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.5.4-interix.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.5.4-interix.patch new file mode 100644 index 0000000000..53ef6960c9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch new file mode 100644 index 0000000000..49c6162d12 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch new file mode 100644 index 0000000000..689b29cd7f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch @@ -0,0 +1,56 @@ +--- Makefile.in ++++ Makefile.in +@@ -47,6 +47,7 @@ + SVN_SASL_LIBS = @SVN_SASL_LIBS@ + SVN_SERF_LIBS = @SVN_SERF_LIBS@ + SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@ ++SVN_XML_LIBS = -lexpat + SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@ + + LIBS = @LIBS@ +--- build/ac-macros/aprutil.m4 ++++ build/ac-macros/aprutil.m4 +@@ -77,16 +77,14 @@ + AC_MSG_ERROR([apu-config --prefix failed]) + fi + +- dnl When APR stores the dependent libs in the .la file, we don't need +- dnl --libs. +- SVN_APRUTIL_LIBS="`$apu_config --link-libtool --libs`" ++ SVN_APRUTIL_LIBS="`$apu_config --link-libtool`" + if test $? -ne 0; then +- AC_MSG_ERROR([apu-config --link-libtool --libs failed]) ++ AC_MSG_ERROR([apu-config --link-libtool failed]) + fi + +- SVN_APRUTIL_EXPORT_LIBS="`$apu_config --link-ld --libs`" ++ SVN_APRUTIL_EXPORT_LIBS="`$apu_config --link-ld`" + if test $? -ne 0; then +- AC_MSG_ERROR([apu-config --link-ld --libs failed]) ++ AC_MSG_ERROR([apu-config --link-ld failed]) + fi + + AC_SUBST(SVN_APRUTIL_INCLUDES) +--- build/ac-macros/apr.m4 ++++ build/ac-macros/apr.m4 +@@ -74,16 +74,14 @@ + AC_MSG_ERROR([apr-config --prefix failed]) + fi + +- dnl When APR stores the dependent libs in the .la file, we don't need +- dnl --libs. +- SVN_APR_LIBS="`$apr_config --link-libtool --libs`" ++ SVN_APR_LIBS="`$apr_config --link-libtool`" + if test $? -ne 0; then +- AC_MSG_ERROR([apr-config --link-libtool --libs failed]) ++ AC_MSG_ERROR([apr-config --link-libtool failed]) + fi + +- SVN_APR_EXPORT_LIBS="`$apr_config --link-ld --libs`" ++ SVN_APR_EXPORT_LIBS="`$apr_config --link-ld`" + if test $? -ne 0; then +- AC_MSG_ERROR([apr-config --link-ld --libs failed]) ++ AC_MSG_ERROR([apr-config --link-ld failed]) + fi + + SVN_APR_SHLIB_PATH_VAR="`$apr_config --shlib-path-var`" diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.2-local_library_preloading.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.2-local_library_preloading.patch new file mode 100644 index 0000000000..704b30026f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.2-local_library_preloading.patch @@ -0,0 +1,165 @@ +--- configure.ac ++++ configure.ac +@@ -198,6 +198,24 @@ + + AC_SUBST(LT_LDFLAGS) + ++AC_ARG_ENABLE(local-library-preloading, ++ AS_HELP_STRING([--disable-local-library-preloading], ++ [Disable preloading of locally built libraries in locally built executables]), ++ [ ++ if test "$enableval" != "no"; then ++ TRANSFORM_LIBTOOL_SCRIPTS="transform-libtool-scripts" ++ else ++ TRANSFORM_LIBTOOL_SCRIPTS="" ++ fi ++ ], [ ++ if test "`uname`" != "Darwin"; then ++ TRANSFORM_LIBTOOL_SCRIPTS="transform-libtool-scripts" ++ else ++ TRANSFORM_LIBTOOL_SCRIPTS="" ++ fi ++]) ++AC_SUBST(TRANSFORM_LIBTOOL_SCRIPTS) ++ + dnl Check if -no-undefined is needed for the platform. + dnl It should always work but with libtool 1.4.3 on OS X it breaks the build. + dnl So we only turn it on for platforms where we know we really need it. +--- Makefile.in ++++ Makefile.in +@@ -309,7 +309,10 @@ + + @INCLUDE_OUTPUTS@ + +-local-all: @BUILD_RULES@ ++local-all: @BUILD_RULES@ @TRANSFORM_LIBTOOL_SCRIPTS@ ++ ++transform-libtool-scripts: @BUILD_RULES@ ++ @$(top_srcdir)/build/transform_libtool_scripts.sh + + locale-gnu-pot: + cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ +--- build/transform_libtool_scripts.sh ++++ build/transform_libtool_scripts.sh +@@ -0,0 +1,121 @@ ++#!/bin/sh ++# ++# ++# Licensed to the Apache Software Foundation (ASF) under one ++# or more contributor license agreements. See the NOTICE file ++# distributed with this work for additional information ++# regarding copyright ownership. The ASF licenses this file ++# to you under the Apache License, Version 2.0 (the ++# "License"); you may not use this file except in compliance ++# with the License. You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, ++# software distributed under the License is distributed on an ++# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ++# KIND, either express or implied. See the License for the ++# specific language governing permissions and limitations ++# under the License. ++# ++# ++ ++# Dependencies of libraries ++subr="subr" ++auth_gnome_keyring="auth_gnome_keyring $subr" ++auth_kwallet="auth_kwallet $subr" ++delta="delta $subr" ++diff="diff $subr" ++fs_util="fs_util $subr" ++fs_base="fs_base $delta $fs_util $subr" ++fs_fs="fs_fs $delta $fs_util $subr" ++fs="fs $fs_base $fs_fs $fs_util $subr" ++repos="repos $delta $fs $fs_util $subr" ++ra_local="ra_local $delta $fs $fs_util $repos $subr" ++ra_neon="ra_neon $delta $subr" ++ra_serf="ra_serf $delta $subr" ++ra_svn="ra_svn $delta $subr" ++ra="ra $delta $ra_local $ra_neon $ra_serf $ra_svn $subr" ++wc="wc $delta $diff $subr" ++client="client $delta $diff $ra $subr $wc" ++ ++# Variable 'libraries' containing names of variables corresponding to libraries ++libraries="auth_gnome_keyring auth_kwallet client delta diff fs fs_base fs_fs fs_util ra ra_local ra_neon ra_serf ra_svn repos subr wc" ++ ++for library in $libraries; do ++ # Delete duplicates in dependencies of libraries ++ library_dependencies="$(echo -n $(for x in $(eval echo "\$$library"); do echo $x; done | sort -u))" ++ eval "$library=\$library_dependencies" ++done ++ ++# Dependencies of executables ++svn="$auth_gnome_keyring $auth_kwallet $client $delta $diff $ra $subr $wc" ++svnadmin="$delta $fs $repos $subr" ++svndumpfilter="$delta $fs $repos $subr" ++svnlook="$delta $diff $fs $repos $subr" ++svnserve="$delta $fs $ra_svn $repos $subr" ++svnsync="$auth_gnome_keyring $auth_kwallet $delta $ra $subr" ++svnversion="$subr $wc" ++entries_dump="$subr $wc" ++ ++# Variable 'executables' containing names of variables corresponding to executables ++executables="svn svnadmin svndumpfilter svnlook svnserve svnsync svnversion entries_dump" ++ ++for executable in $executables; do ++ # Set variables containing paths of executables ++ if [ "$executable" != entries_dump ]; then ++ eval "${executable}_path=subversion/$executable/$executable" ++ else ++ eval "${executable}_path=subversion/tests/cmdline/entries-dump" ++ fi ++ # Delete duplicates in dependencies of executables ++ executable_dependencies="$(echo -n $(for x in $(eval echo "\$$executable"); do echo $x; done | sort -u))" ++ eval "$executable=\$executable_dependencies" ++done ++ ++test_paths="$(find subversion/tests -mindepth 2 -maxdepth 2 -name '*-test' ! -path '*/.libs/*' | sort)" ++for test in $test_paths; do ++ test_path="$test" ++ # Dependencies of tests are based on names of directories containing tests ++ test_library="$(echo $test | sed -e 's:^subversion/tests/libsvn_\([^/]*\)/.*:\1:')" ++ test_dependencies="$(eval echo "\$$test_library")" ++ # Set variables corresponding to tests and containing dependencies of tests ++ test="$(echo $test | sed -e 's:^subversion/tests/libsvn_[^/]*/\(.*\):\1:' -e 's/-/_/g')" ++ eval "$test=\$test_dependencies" ++ # Set variables containing paths of tests ++ eval "${test}_path=\$test_path" ++ # Set variable 'tests' containing names of variables corresponding to tests ++ tests="$tests $test" ++done ++ ++# auth-test dynamically loads libsvn_auth_gnome_keyring and libsvn_auth_kwallet libraries ++auth_test="auth_gnome_keyring auth_kwallet $auth_test" ++ ++# Usage: sed_append LINE_NUMBER TEXT FILE ++sed_append() ++{ ++ sed -e "$1a\\ ++$2" "$3" > "$3.new" ++ mv -f "$3.new" "$3" ++} ++ ++current_directory="$(pwd)" ++for libtool_script in $executables $tests; do ++ eval "libtool_script_path=\$${libtool_script}_path" ++ libtool_script_libraries="" ++ if [ -f "$libtool_script_path" ]; then ++ if { grep LD_LIBRARY_PATH "$libtool_script_path" && ! grep LD_PRELOAD "$libtool_script_path"; } > /dev/null; then ++ echo "Transforming $libtool_script_path" ++ libtool_script_dependencies="$(eval echo "\$$libtool_script")" ++ for libtool_script_dependency in $libtool_script_dependencies; do ++ libtool_script_library="$current_directory/subversion/libsvn_$libtool_script_dependency/.libs/libsvn_$libtool_script_dependency-1.so" ++ [ -f "$libtool_script_library" ] && libtool_script_libraries="$libtool_script_libraries $libtool_script_library" ++ done ++ libtool_script_libraries="${libtool_script_libraries# *}" ++ # Append definitions of LD_PRELOAD to libtool scripts ++ sed_append 4 "LD_PRELOAD=\"$libtool_script_libraries\"" "$libtool_script_path" ++ sed_append 5 "export LD_PRELOAD" "$libtool_script_path" ++ chmod +x "$libtool_script_path" ++ fi ++ fi ++done diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-hpux-dso.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-hpux-dso.patch new file mode 100644 index 0000000000..f9739bef30 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-kwallet_window.patch b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-kwallet_window.patch new file mode 100644 index 0000000000..4bb9c09f0a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/subversion-1.6.3-kwallet_window.patch @@ -0,0 +1,298 @@ +https://svn.collab.net/viewvc/svn?view=revision&revision=38004 +https://svn.collab.net/viewvc/svn?view=revision&revision=38014 +https://svn.collab.net/viewvc/svn?view=revision&revision=38028 +https://svn.collab.net/viewvc/svn?view=revision&revision=38122 + +--- subversion/libsvn_auth_kwallet/kwallet.cpp ++++ subversion/libsvn_auth_kwallet/kwallet.cpp +@@ -22,6 +22,7 @@ + + /*** Includes. ***/ + ++#include + #include + #include + +@@ -30,6 +31,9 @@ + #include "svn_auth.h" + #include "svn_config.h" + #include "svn_error.h" ++#include "svn_io.h" ++#include "svn_pools.h" ++#include "svn_string.h" + #include "svn_version.h" + + #include "private/svn_auth_private.h" +@@ -38,13 +42,20 @@ + + #include + #include ++#include ++#include + #include ++#include ++#include + + #include + #include + #include + #include + #include ++#include ++#include ++#include + + + /*-----------------------------------------------------------------------*/ +@@ -52,6 +63,28 @@ + /*-----------------------------------------------------------------------*/ + + ++#define INITIALIZE_APPLICATION \ ++ if (apr_hash_get(parameters, \ ++ "svn:auth:qapplication-safe", \ ++ APR_HASH_KEY_STRING)) \ ++ { \ ++ QApplication *app; \ ++ if (! qApp) \ ++ { \ ++ int argc = 1; \ ++ app = new QApplication(argc, (char *[1]) {(char *) "svn"}); \ ++ } \ ++ } \ ++ else \ ++ { \ ++ QCoreApplication *app; \ ++ if (! qApp) \ ++ { \ ++ int argc = 1; \ ++ app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"}); \ ++ } \ ++ } ++ + static const char * + get_application_name(apr_hash_t *parameters, + apr_pool_t *pool) +@@ -69,8 +102,7 @@ + const char *svn_application_name; + if (svn_application_name_with_pid) + { +- long pid = getpid(); +- svn_application_name = apr_psprintf(pool, "Subversion [%ld]", pid); ++ svn_application_name = apr_psprintf(pool, "Subversion [%ld]", long(getpid())); + } + else + { +@@ -102,9 +134,108 @@ + } + } + ++static pid_t ++get_parent_pid(pid_t pid, ++ apr_pool_t *pool) ++{ ++ pid_t parent_pid = 0; ++ ++#ifdef __linux__ ++ svn_stream_t *stat_file_stream; ++ svn_string_t *stat_file_string; ++ const char *preceeding_space, *following_space, *parent_pid_string; ++ ++ const char *path = apr_psprintf(pool, "/proc/%ld/stat", long(pid)); ++ svn_error_t *err = svn_stream_open_readonly(&stat_file_stream, path, pool, pool); ++ if (err == SVN_NO_ERROR) ++ { ++ err = svn_string_from_stream(&stat_file_string, stat_file_stream, pool, pool); ++ if (err == SVN_NO_ERROR) ++ { ++ if ((preceeding_space = strchr(stat_file_string->data, ' '))) ++ { ++ if ((preceeding_space = strchr(preceeding_space + 1, ' '))) ++ { ++ if ((preceeding_space = strchr(preceeding_space + 1, ' '))) ++ { ++ if ((following_space = strchr(preceeding_space + 1, ' '))) ++ { ++ parent_pid_string = apr_pstrndup(pool, ++ preceeding_space + 1, ++ following_space - preceeding_space); ++ parent_pid = atol(parent_pid_string); ++ } ++ } ++ } ++ } ++ } ++ } ++ ++ if (err) ++ { ++ svn_error_clear(err); ++ } ++#endif ++ ++ return parent_pid; ++} ++ ++static WId ++get_wid(apr_hash_t *parameters, ++ apr_pool_t *pool) ++{ ++ WId wid = 1; ++ ++ if (apr_hash_get(parameters, ++ "svn:auth:qapplication-safe", ++ APR_HASH_KEY_STRING)) ++ { ++ QMap process_info_list; ++ QList windows(KWindowSystem::windows()); ++ QList::const_iterator i; ++ for (i = windows.begin(); i != windows.end(); i++) ++ { ++ process_info_list[NETWinInfo(QX11Info::display(), ++ *i, ++ QX11Info::appRootWindow(), ++ NET::WMPid).pid()] = *i; ++ } ++ ++ apr_pool_t *iterpool = svn_pool_create(pool); ++ pid_t pid = getpid(); ++ while (pid != 0) ++ { ++ svn_pool_clear(iterpool); ++ if (process_info_list.contains(pid)) ++ { ++ wid = process_info_list[pid]; ++ break; ++ } ++ pid = get_parent_pid(pid, iterpool); ++ } ++ svn_pool_destroy(iterpool); ++ } ++ ++ if (wid == 1) ++ { ++ const char *wid_env_string = getenv("WINDOWID"); ++ if (wid_env_string) ++ { ++ long wid_env = atol(wid_env_string); ++ if (wid_env != 0) ++ { ++ wid = wid_env; ++ } ++ } ++ } ++ ++ return wid; ++} ++ + static KWallet::Wallet * + get_wallet(QString wallet_name, +- apr_hash_t *parameters) ++ apr_hash_t *parameters, ++ apr_pool_t *pool) + { + KWallet::Wallet *wallet = + static_cast (apr_hash_get(parameters, +@@ -115,7 +246,7 @@ + APR_HASH_KEY_STRING)) + { + wallet = KWallet::Wallet::openWallet(wallet_name, +- -1, ++ pool ? get_wid(parameters, pool) : 1, + KWallet::Wallet::Synchronous); + } + if (wallet) +@@ -141,7 +272,7 @@ + apr_hash_t *parameters = static_cast (data); + if (apr_hash_get(parameters, "kwallet-initialized", APR_HASH_KEY_STRING)) + { +- KWallet::Wallet *wallet = get_wallet(NULL, parameters); ++ KWallet::Wallet *wallet = get_wallet(NULL, parameters, NULL); + delete wallet; + apr_hash_set(parameters, + "kwallet-initialized", +@@ -172,12 +303,7 @@ + return FALSE; + } + +- QCoreApplication *app; +- if (! qApp) +- { +- int argc = 1; +- app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"}); +- } ++ INITIALIZE_APPLICATION + + KCmdLineArgs::init(1, + (char *[1]) {(char *) "svn"}, +@@ -195,7 +321,7 @@ + QString::fromUtf8(username) + "@" + QString::fromUtf8(realmstring); + if (! KWallet::Wallet::keyDoesNotExist(wallet_name, folder, key)) + { +- KWallet::Wallet *wallet = get_wallet(wallet_name, parameters); ++ KWallet::Wallet *wallet = get_wallet(wallet_name, parameters, pool); + if (wallet) + { + apr_hash_set(parameters, +@@ -242,12 +368,7 @@ + return FALSE; + } + +- QCoreApplication *app; +- if (! qApp) +- { +- int argc = 1; +- app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"}); +- } ++ INITIALIZE_APPLICATION + + KCmdLineArgs::init(1, + (char *[1]) {(char *) "svn"}, +@@ -262,7 +383,7 @@ + QString q_password = QString::fromUtf8(password); + QString wallet_name = get_wallet_name(parameters); + QString folder = QString::fromUtf8("Subversion"); +- KWallet::Wallet *wallet = get_wallet(wallet_name, parameters); ++ KWallet::Wallet *wallet = get_wallet(wallet_name, parameters, pool); + if (wallet) + { + apr_hash_set(parameters, +--- subversion/svn/main.c ++++ subversion/svn/main.c +@@ -2067,6 +2067,9 @@ + pool))) + svn_handle_error2(err, stderr, TRUE, "svn: "); + ++ /* svn can safely create instance of QApplication class. */ ++ svn_auth_set_parameter(ab, "svn:auth:qapplication-safe", "1"); ++ + ctx->auth_baton = ab; + + /* Set up conflict resolution callback. */ +--- subversion/svnsync/main.c ++++ subversion/svnsync/main.c +@@ -1,6 +1,6 @@ + /* + * ==================================================================== +- * Copyright (c) 2005-2008 CollabNet. All rights reserved. ++ * Copyright (c) 2005-2009 CollabNet. All rights reserved. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms +@@ -2362,7 +2362,15 @@ + check_cancel, NULL, + pool); + if (! err) +- err = (*subcommand->cmd_func)(os, &opt_baton, pool); ++ { ++ /* svnsync can safely create instance of QApplication class. */ ++ svn_auth_set_parameter(opt_baton.source_auth_baton, ++ "svn:auth:qapplication-safe", "1"); ++ svn_auth_set_parameter(opt_baton.sync_auth_baton, ++ "svn:auth:qapplication-safe", "1"); ++ ++ err = (*subcommand->cmd_func)(os, &opt_baton, pool); ++ } + if (err) + { + /* For argument-related problems, suggest using the 'help' diff --git a/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.confd b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.confd new file mode 100644 index 0000000000..83997ce927 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.initd2 b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.initd2 new file mode 100644 index 0000000000..186d6f93ce --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.initd2 @@ -0,0 +1,26 @@ +#!/sbin/runscript +# Copyright 2004-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/files/svnserve.initd2,v 1.1 2011/08/18 09:51:23 chainsaw Exp $ + +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}:${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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.xinetd b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/files/svnserve.xinetd new file mode 100644 index 0000000000..e29f906b50 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/subversion-1.6.17-r7.ebuild b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/subversion-1.6.17-r7.ebuild new file mode 100644 index 0000000000..20af521004 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-vcs/subversion/subversion-1.6.17-r7.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/subversion-1.6.17-r7.ebuild,v 1.7 2011/11/06 16:07:18 ranger Exp $ + +EAPI="3" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.* *-jython" +WANT_AUTOMAKE="none" +MY_P="${P/_/-}" + +inherit autotools base bash-completion db-use depend.apache elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module python + +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="http://subversion.tigris.org/downloads/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ~ppc64 s390 sh sparc x86 ~ppc-aix ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-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 emacs extras gnome-keyring java kde nls perl python ruby sasl vim-syntax +webdav-neon webdav-serf" + +CDEPEND=">=dev-db/sqlite-3.4 + >=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? ( =dev-lang/python-2* ) + emacs? ( virtual/emacs ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/gnome-keyring ) + kde? ( sys-apps/dbus x11-libs/qt-core x11-libs/qt-dbus x11-libs/qt-gui >=kde-base/kdelibs-4 ) + perl? ( dev-lang/perl ) + python? ( =dev-lang/python-2* ) + ruby? ( >=dev-lang/ruby-1.8.2 ) + sasl? ( dev-libs/cyrus-sasl ) + webdav-neon? ( >=net-libs/neon-0.28 ) + webdav-serf? ( >=net-libs/serf-0.3.0 )" +RDEPEND="${CDEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-base/kwalletd ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +DEPEND="${CDEPEND} + !!=virtual/jdk-1.5 ) + kde? ( dev-util/pkgconfig ) + nls? ( sys-devel/gettext ) + webdav-neon? ( dev-util/pkgconfig )" + +PATCHES=( + "${FILESDIR}/${PN}-1.6.0-disable_linking_against_unneeded_libraries.patch" + "${FILESDIR}/${PN}-1.6.2-local_library_preloading.patch" + "${FILESDIR}/${PN}-1.6.3-kwallet_window.patch" + "${FILESDIR}/${PN}-1.5.4-interix.patch" + "${FILESDIR}/${PN}-1.5.6-aix-dso.patch" + "${FILESDIR}/${PN}-1.6.3-hpux-dso.patch" +) + +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 ctypes-python || use python; then + python_pkg_setup + fi + + 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() { + base_src_prepare + 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 + + sed -e "/SWIG_PY_INCLUDES=/s/\$ac_cv_python_includes/\\\\\$(PYTHON_INCLUDES)/" -i build/ac-macros/swig.m4 || die "sed failed" + + # 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/libsvn_swig_py-\$(PYTHON_VERSION)-1.la/" -i build-outputs.mk || die "sed failed" +} + +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 + *-solaris*) + # -lintl isn't added for some reason (makes Neon check fail) + use nls && append-libs -lintl + ;; + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf="${myconf} --disable-local-library-preloading" + ;; + esac + + 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 \ + --enable-local-library-preloading \ + --disable-mod-activation \ + --disable-neon-version-check \ + --disable-static \ + --with-sqlite="${EPREFIX}/usr" +} + +src_compile() { + emake local-all || die "Building of core of Subversion failed" + + if use ctypes-python; then + python_copy_sources subversion/bindings/ctypes-python + rm -fr subversion/bindings/ctypes-python + ctypes_python_bindings_building() { + rm -f subversion/bindings/ctypes-python + ln -s ctypes-python-${PYTHON_ABI} subversion/bindings/ctypes-python + emake ctypes-python + } + python_execute_function \ + --action-message 'Building of Subversion Ctypes Python bindings with $(python_get_implementation) $(python_get_version)' \ + --failure-message 'Building of Subversion Ctypes Python bindings failed with $(python_get_implementation) $(python_get_version)' \ + ctypes_python_bindings_building + fi + + if use python; then + python_copy_sources subversion/bindings/swig/python + rm -fr subversion/bindings/swig/python + swig_python_bindings_building() { + rm -f subversion/bindings/swig/python + ln -s python-${PYTHON_ABI} subversion/bindings/swig/python + emake \ + PYTHON_INCLUDES="-I${EPREFIX}$(python_get_includedir)" \ + PYTHON_VERSION="$(python_get_version)" \ + swig_pydir="${EPREFIX}$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="${EPREFIX}$(python_get_sitedir)/svn" \ + swig-py + } + python_execute_function \ + --action-message 'Building of Subversion SWIG Python bindings with $(python_get_implementation) $(python_get_version)' \ + --failure-message 'Building of Subversion SWIG Python bindings failed with $(python_get_implementation) $(python_get_version)' \ + swig_python_bindings_building + fi + + if use perl; then + emake swig-pl || die "Building of Subversion SWIG Perl bindings failed" + fi + + if use ruby; then + emake swig-rb || die "Building of Subversion SWIG Ruby bindings failed" + fi + + if use java; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl || die "Building of Subversion JavaHL library failed" + fi + + if use emacs; then + elisp-compile contrib/client-side/emacs/{dsvn,psvn,vc-svn}.el doc/svn-doc.el doc/tools/svnbook.el || die "Compilation of Emacs modules failed" + fi + + if use extras; then + emake contrib || die "Building of contrib failed" + emake tools || die "Building of tools failed" + fi + + if use doc; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl || die "Building of Subversion JavaHL library HTML documentation failed" + fi + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install || die "Installation of core of Subversion failed" + + if use ctypes-python; then + ctypes_python_bindings_installation() { + rm -f subversion/bindings/ctypes-python + ln -s ctypes-python-${PYTHON_ABI} subversion/bindings/ctypes-python + emake DESTDIR="${D}" install-ctypes-python + } + python_execute_function \ + --action-message 'Installation of Subversion Ctypes Python bindings with $(python_get_implementation) $(python_get_version)' \ + --failure-message 'Installation of Subversion Ctypes Python bindings failed with $(python_get_implementation) $(python_get_version)' \ + ctypes_python_bindings_installation + fi + + if use python; then + swig_python_bindings_installation() { + rm -f subversion/bindings/swig/python + ln -s python-${PYTHON_ABI} subversion/bindings/swig/python + emake \ + DESTDIR="${D}" \ + PYTHON_VERSION="$(python_get_version)" \ + swig_pydir="${EPREFIX}$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="${EPREFIX}$(python_get_sitedir)/svn" \ + install-swig-py + } + python_execute_function \ + --action-message 'Installation of Subversion SWIG Python bindings with $(python_get_implementation) $(python_get_version)' \ + --failure-message 'Installation of Subversion SWIG Python bindings failed with $(python_get_implementation) $(python_get_version)' \ + swig_python_bindings_installation + fi + + if use ctypes-python || use python; then + python_clean_installation_image -q + fi + + if use perl; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl || die "Installation of Subversion SWIG Perl bindings failed" + fixlocalpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -print0 | xargs -0 rm -fr + fi + + if use ruby; then + emake DESTDIR="${D}" install-swig-rb || die "Installation of Subversion SWIG Ruby bindings failed" + fi + + if use java; then + emake DESTDIR="${D}" install-javahl || die "Installation of Subversion JavaHL library failed" + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*.so + 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. + dobashcompletion 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 svn_load_dirs.pl. + if use perl; then + dobin contrib/client-side/svn_load_dirs/svn_load_dirs.pl + fi + rm -f contrib/client-side/svn_load_dirs/svn_load_dirs.pl + + # 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 + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install Vim syntax files. + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins contrib/client-side/vim/svn.vim + fi + rm -f contrib/client-side/vim/svn.vim + + # Install Emacs Lisps. + if use emacs; then + elisp-install ${PN} contrib/client-side/emacs/{dsvn,psvn}.{el,elc} doc/svn-doc.{el,elc} doc/tools/svnbook.{el,elc} || die "Installation of Emacs modules failed" + elisp-install ${PN}/compat contrib/client-side/emacs/vc-svn.{el,elc} || die "Installation of Emacs modules failed" + touch "${ED}${SITELISP}/${PN}/compat/.nosearch" + elisp-site-file-install "${FILESDIR}/70svn-gentoo.el" || die "Installation of Emacs site-init file failed" + fi + rm -fr contrib/client-side/emacs + + # 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}" contribdir="/usr/$(get_libdir)/subversion/bin" install-contrib || die "Installation of contrib failed" + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools || die "Installation of tools failed" + + find contrib tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr contrib/client-side/svn-push + rm -fr contrib/server-side/svnstsw + 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} + doins -r contrib tools + fi + + if use doc; then + dohtml -r doc/doxygen/html/* || die "Installation of Subversion HTML documentation failed" + + dodoc notes/* + + if use java; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + find "${D}" '(' -name '*.la' ')' -print0 | xargs -0 rm -f +} + +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.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1.so.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() { + use emacs && elisp-site-regen + use perl && perl-module_pkg_postinst + + if use ctypes-python; then + python_mod_optimize csvn + fi + + if use python; then + python_mod_optimize libsvn svn + fi + + 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() { + use emacs && elisp-site-regen + use perl && perl-module_pkg_postrm + + if use ctypes-python; then + python_mod_cleanup csvn + fi + + if use python; then + python_mod_cleanup libsvn svn + fi +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${ROOT}${SVN_REPOS_LOC}..." + if [[ -e "${ROOT}${SVN_REPOS_LOC}/repos" ]]; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${ROOT}${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${ROOT}${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${ROOT}${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" + enewgroup "${SVNSERVE_GROUP}" + enewuser "${SVNSERVE_USER}" -1 -1 "${SVN_REPOS_LOC}" "${SVNSERVE_GROUP}" + fi + chown -Rf "${SVNSERVE_USER}:${SVNSERVE_GROUP}" "${ROOT}${SVN_REPOS_LOC}/repos" + chmod -Rf go-rwx "${ROOT}${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${ROOT}${SVN_REPOS_LOC}/repos" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/neon/neon-0.29.6.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/neon/neon-0.29.6.ebuild new file mode 100644 index 0000000000..34b7b431c4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/neon/neon-0.29.6.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/neon/neon-0.29.6.ebuild,v 1.8 2011/07/20 22:14:39 halcy0n Exp $ + +EAPI="3" + +inherit autotools libtool versionator + +DESCRIPTION="HTTP and WebDAV client library" +HOMEPAGE="http://www.webdav.org/neon/" +SRC_URI="http://www.webdav.org/neon/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc expat gnutls kerberos libproxy nls pkcs11 ssl static-libs zlib" +IUSE_LINGUAS="cs de fr ja nn pl ru tr zh_CN" +for lingua in ${IUSE_LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +unset lingua +RESTRICT="test" + +RDEPEND="expat? ( dev-libs/expat ) + !expat? ( dev-libs/libxml2 ) + gnutls? ( + app-misc/ca-certificates + >=net-libs/gnutls-2.0 + pkcs11? ( dev-libs/pakchois ) + ) + !gnutls? ( ssl? ( + >=dev-libs/openssl-0.9.6f + pkcs11? ( dev-libs/pakchois ) + ) ) + kerberos? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + nls? ( virtual/libintl ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +src_prepare() { + local lingua linguas + for lingua in ${IUSE_LINGUAS}; do + use linguas_${lingua} && linguas+=" ${lingua}" + done + sed -i -e "s/ALL_LINGUAS=.*/ALL_LINGUAS=\"${linguas}\"/g" configure.in + + AT_M4DIR="macros" eautoreconf + + elibtoolize +} + +src_configure() { + local myconf + + if has_version sys-libs/glibc; then + einfo "Enabling SSL library thread-safety using POSIX threads..." + myconf+=" --enable-threadsafe-ssl=posix" + fi + + if use expat; then + myconf+=" --with-expat" + else + myconf+=" --with-libxml2" + fi + + if use gnutls; then + myconf+=" --with-ssl=gnutls --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" + elif use ssl; then + myconf+=" --with-ssl=openssl" + fi + + econf \ + --enable-shared \ + $(use_with kerberos gssapi) \ + $(use_with libproxy) \ + $(use_enable nls) \ + $(use_with pkcs11 pakchois) \ + $(use_enable static-libs static) \ + $(use_with zlib) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install-lib install-headers install-config install-nls || die "emake install failed" + + find "${ED}" -name "*.la" -print0 | xargs -0 rm -f + + if use doc; then + emake DESTDIR="${D}" install-docs || die "emake install-docs failed" + fi + + dodoc AUTHORS BUGS NEWS README THANKS TODO + doman doc/man/*.[1-8] +} + +pkg_postinst() { + ewarn "Neon has a policy of breaking API across minor versions, this means" + ewarn "that any package that links against Neon may be broken after" + ewarn "updating. They will remain broken until they are ported to the" + ewarn "new API. You can downgrade Neon to the previous version by doing:" + ewarn + ewarn " emerge --oneshot '<${CATEGORY}/${PN}-$(get_version_component_range 1-2 ${PV})'" + ewarn + ewarn "You may also have to downgrade any package that has not been" + ewarn "ported to the new API yet." +}