diff options
author | Thomas Sachau <tommy@gentoo.org> | 2012-03-11 15:37:26 +0000 |
---|---|---|
committer | Thomas Sachau <tommy@gentoo.org> | 2012-03-11 15:37:26 +0000 |
commit | d648a21146895b42ef9769d00ae3c580f0557e1e (patch) | |
tree | 711790e9acc4a04a0aebdef92c0737003fbddec6 /dev-vcs/subversion | |
parent | Initial commit. (diff) | |
download | historical-d648a21146895b42ef9769d00ae3c580f0557e1e.tar.gz historical-d648a21146895b42ef9769d00ae3c580f0557e1e.tar.bz2 historical-d648a21146895b42ef9769d00ae3c580f0557e1e.zip |
Version bump, fixes bug 404939 and bug 404527, add workaround for linking issue during cross-compilation, when upgrading from 1.6 to 1.7, fixes bug 387057, restrict ruby dependency to 1.8 and force usage of that version, fixes bug 399105, add patch for parallel make issue with perl module, fixes bug 388607, also adjust xinetd.d script with USE=apache2 disabled, fixes bug 381385, remove enewgroup and enewuser from pkg_config, fixes bug 404499, remove files for languages not in LINGUAS var, fixes bug 402299
Package-Manager: portage-2.2.0_alpha90-r1/cvs/Linux x86_64
Diffstat (limited to 'dev-vcs/subversion')
-rw-r--r-- | dev-vcs/subversion/ChangeLog | 15 | ||||
-rw-r--r-- | dev-vcs/subversion/Manifest | 15 | ||||
-rw-r--r-- | dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch | 11 | ||||
-rw-r--r-- | dev-vcs/subversion/subversion-1.7.4.ebuild | 451 |
4 files changed, 486 insertions, 6 deletions
diff --git a/dev-vcs/subversion/ChangeLog b/dev-vcs/subversion/ChangeLog index 5f7a82a0e30a..78cec4e063ac 100644 --- a/dev-vcs/subversion/ChangeLog +++ b/dev-vcs/subversion/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for dev-vcs/subversion # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/ChangeLog,v 1.71 2012/03/02 21:24:59 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/ChangeLog,v 1.72 2012/03/11 15:37:26 tommy Exp $ + +*subversion-1.7.4 (11 Mar 2012) + + 11 Mar 2012; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> + +subversion-1.7.4.ebuild, + +files/subversion-fix-parallel-build-support-for-perl-bindings.patch: + Version bump, fixes bug 404939 and bug 404527, add workaround for linking + issue during cross-compilation, when upgrading from 1.6 to 1.7, fixes bug + 387057, restrict ruby dependency to 1.8 and force usage of that version, + fixes bug 399105, add patch for parallel make issue with perl module, fixes + bug 388607, also adjust xinetd.d script with USE=apache2 disabled, fixes bug + 381385, remove enewgroup and enewuser from pkg_config, fixes bug 404499, + remove files for languages not in LINGUAS var, fixes bug 402299 02 Mar 2012; Fabian Groffen <grobian@gentoo.org> subversion-1.7.2.ebuild: Drop Solaris flag trickery for neon, neon itself is fixed now diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest index 69a3b6ce952a..28bd673221b4 100644 --- a/dev-vcs/subversion/Manifest +++ b/dev-vcs/subversion/Manifest @@ -9,6 +9,7 @@ AUX subversion-1.6.0-disable_linking_against_unneeded_libraries.patch 1769 RMD16 AUX subversion-1.6.2-local_library_preloading.patch 6412 RMD160 3b072c5f9d3c1f43e3be20959a24632db0c9f82c SHA1 85a3d394861a53e3919ef6fc243542af7df17b46 SHA256 50b83dd31eaf5ed577b7656dcd06e314d3acd31814089f4e3eba014a1efa442d AUX subversion-1.6.3-hpux-dso.patch 627 RMD160 1286a74c3f54e992be3dcaa2b72df36a3f0ce84a SHA1 fa761a80bf045a5859ef131ae044f8390ae8319a SHA256 0fa69598635ea9630e95e3e8b693cd5f1b853784900e34d58ffe9e03d8c65b36 AUX subversion-1.6.3-kwallet_window.patch 10012 RMD160 d469e0fc8d9fd2ef8c857e5e303eeb24309e7f0d SHA1 9c99b63bc5abf54f642e447af1aa2f814cecb8ab SHA256 5304f39189bed6f83a8342593f23819cf2e12c2288c9daba23dcd78913fd79de +AUX subversion-fix-parallel-build-support-for-perl-bindings.patch 515 RMD160 1f05e6910c119dca9a0f171a9d1f846b2c0d6530 SHA1 ba9c49aee40c7a7e4a799fb54a4852de51d51956 SHA256 c7a9fe0f095de7e49e219af5cabdff28751ee39aa42e712c4b8b3bc0ed64d50c AUX svnserve.confd 322 RMD160 e291d91f05da848a3517aa76611c1f05527c11e4 SHA1 c07020ea270b787ddf0dbb738391e20d3c8347af SHA256 45f2dc1a718aed885559e71d98112e670c92bd6b4f19c5cf593eced6cd2bbd97 AUX svnserve.initd 818 RMD160 6a24ac0599ef46b2d1ef0ae9cde70bdc8124db68 SHA1 f3ef120b584d81124171ccaf5bafec709222d04e SHA256 4f9d38d5b32d4436dcb302f7e3c7284e67d6339b25b0f057a306b978f4a06142 AUX svnserve.initd2 828 RMD160 3b471e0adecb55f6712b7db360768f13feb6b65d SHA1 7f6f088eaf358c6dde50fe445cc2e3d344f661ae SHA256 8f123253c3bfb9bbe87210a9e1facc7f52df371747dbc188396740a5cf4fa713 @@ -17,16 +18,20 @@ DIST subversion-1.6.17.tar.bz2 5504298 RMD160 b0937be80622774fee5d4557e740ad44f7 DIST subversion-1.7.0.tar.bz2 5953297 RMD160 4a474a4ff356b2caf6e04fb1cbc9e9ecd293ada6 SHA1 3e514e0fba9c864d2d13763c22896d31496d7b0d SHA256 64fd5f263a80e609717a3ca42f1f2625606a5c4a40a85716f82c866033780978 DIST subversion-1.7.1.tar.bz2 5973480 RMD160 cd076403c8e9dd0124a49235730f2c6f24605787 SHA1 4bfaa8e33e9eaf26a504117cd91b23805518071a SHA256 d34bde626fac1aa553f5c9aeedf961999a77cc31540ace18da5aeacdd03d6608 DIST subversion-1.7.2.tar.bz2 5944987 RMD160 0d20e364c120da454f3139e95d3ec86c22e7e3c1 SHA1 8c0824aeb7f42da1ff4f7cd296877af7f59812bb SHA256 7eb3e1ae2b0385e1cc20ca9e1839e0ef0ac98a7455dc52ba4cdf567547bfc517 +DIST subversion-1.7.4.tar.bz2 5978020 RMD160 769bf868f728d606f68c9951320c2529abc3dd95 SHA1 57a3cd351c1dbedddd020e7a1952df6cd2674527 SHA256 c4c736f5d94a93b5862d1d2452353146c8aeaae33ccec67649bba91f91ad506f EBUILD subversion-1.6.17-r7.ebuild 16361 RMD160 77aca57247b0505c62b317d5430649ec01a7baa2 SHA1 74fce316bd3b951b327d77cf81466a5b5a16832b SHA256 615a4ef4cc95ebae482cb65c5a0d2569016ba6abccff06ae94555bf8c813ae3f EBUILD subversion-1.7.0.ebuild 14771 RMD160 e8010c248bbf6e07932bb1c558f99a359e816286 SHA1 0d662971c2720cfcf97588078088b8252f89acfd SHA256 aba4e2fb89889c8a15fef5c59e676f346af3d2a068368672f4929d09a3dd53f3 EBUILD subversion-1.7.1.ebuild 14803 RMD160 bd93961c59e135c06a39dfbba98c50f60ae2ac9e SHA1 72bc455988c71690d43ded67bcb902205abcd50b SHA256 764053436db8b25b5130ffe72f946f5c0e9ef6a8036c3cb33bc5d87912b63cf8 EBUILD subversion-1.7.2.ebuild 14891 RMD160 99030ef2a6a72c60a26d0a0be6bcbb08785da5ef SHA1 0271e8616aeac62dcc685f6e11b6d096772e13b4 SHA256 be6d3b6e84aa3e248d87f11e43f28a229e19e1b1558ef2d44225d7a8f9677c1e -MISC ChangeLog 83139 RMD160 453e35a086404d74942a64b5b0c195156a33fb56 SHA1 dc91be28c7d44cc6d61758612b6da6b2e5f9d8ff SHA256 dbb812b33a5bf86654f12ff14ca16514dfa4ba4914e75b00e9c7d9773085d7dc +EBUILD subversion-1.7.4.ebuild 15562 RMD160 4c5498dd6b18f77691ee82743587ff5192b41959 SHA1 dc4386871d18f5d5b237e4870589c96b85ee86ac SHA256 d8a1c4be8f90feaf60d26cb3f6518d3841dbb1ab24ac79136aa1918dcb890126 +MISC ChangeLog 83855 RMD160 82866a23a6aca7f59459bd99e45d48bc90f2154f SHA1 bc81e137e3e42ddce21c85943844e6c530919978 SHA256 4ca7e2658120a67491b30a3705b780eb5734674287e4935133682654a58ce86d MISC metadata.xml 628 RMD160 dedf9a0cf024a84c150503331efb66177f6e627e SHA1 4d5336980fb3058db04cb3c87524c6e2ab03eeff SHA256 b3715692f57550cecbca66df385d0cc48ef3d6707b4832b88add2f689c35969d -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.18 (SunOS) +Version: GnuPG v2.0.18 (GNU/Linux) -iEYEARECAAYFAk9ROrEACgkQX3X2B8XHTok0BQCbBtcsoO+0gGCtYrVx4qL+Vd8A -LswAni1r23k6OmYY8lzXFESVaImaYZct -=feHc +iJwEAQECAAYFAk9cxsEACgkQG7kqcTWJkGf3JgQAwheAZvAd5L+Kvxz62tJ20Pwt +ATj+q7QxObRtXWHEIvbxb8N/UwGq/qfzG4TJhTs0mdZoH+/xtx5csQHU//XB4D1l +DLTygNkxcfpyVfEKjCru4Xrt7h3XIN/JtaXy1XMkoCkpbcy/J3Oi257O2qHt93kR +KDB4wY3qoqzv8hZPh2s= +=l6Sp -----END PGP SIGNATURE----- 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/subversion-1.7.4.ebuild b/dev-vcs/subversion/subversion-1.7.4.ebuild new file mode 100644 index 000000000000..930bfcc5679d --- /dev/null +++ b/dev-vcs/subversion/subversion-1.7.4.ebuild @@ -0,0 +1,451 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/subversion-1.7.4.ebuild,v 1.1 2012/03/11 15:37:26 tommy Exp $ + +EAPI="3" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.* *-jython" +WANT_AUTOMAKE="none" +MY_P="${P/_/-}" + +inherit autotools bash-completion-r1 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://www.apache.org/dist/${PN}/${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 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* ) + 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:1.8 ) + 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} + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( dev-util/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( dev-util/pkgconfig ) + nls? ( sys-devel/gettext ) + webdav-neon? ( dev-util/pkgconfig )" + +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() { + 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 + + 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 + *-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" + ;; + esac + + #workaround for bug 387057 + has_version =dev-vcs/subversion-1.6* && myconf+=" --disable-disallowing-of-undefined-references" + + #force ruby-1.8 for bug 399105 + ac_cv_path_RUBY="${EPREFIX}"/usr/bin/ruby18 ac_cv_path_RDOC="${EPREFIX}"/usr/bin/rdoc18 \ + 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 extras; then + 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*$(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} + doins -r 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 "${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() { + 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 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 ${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 +} |