From 5b5df25227111ef465caf5c52bcfb66dac3219cd Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 19 Jan 2018 20:11:46 +0000 Subject: gentoo resync : 19.01.2018 --- dev-vcs/Manifest.gz | Bin 14477 -> 14467 bytes dev-vcs/git/Manifest | 8 +- dev-vcs/git/git-2.16.0.ebuild | 696 +++++++++++++++++++++ dev-vcs/git/git-2.16.0_rc2.ebuild | 696 --------------------- dev-vcs/subversion/Manifest | 2 + .../subversion/files/subversion-1.9.7-kf5.patch | 211 +++++++ dev-vcs/subversion/subversion-1.9.7-r1.ebuild | 526 ++++++++++++++++ 7 files changed, 1439 insertions(+), 700 deletions(-) create mode 100644 dev-vcs/git/git-2.16.0.ebuild delete mode 100644 dev-vcs/git/git-2.16.0_rc2.ebuild create mode 100644 dev-vcs/subversion/files/subversion-1.9.7-kf5.patch create mode 100644 dev-vcs/subversion/subversion-1.9.7-r1.ebuild (limited to 'dev-vcs') diff --git a/dev-vcs/Manifest.gz b/dev-vcs/Manifest.gz index bce854651fe2..c2c9405e202b 100644 Binary files a/dev-vcs/Manifest.gz and b/dev-vcs/Manifest.gz differ diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest index 8c4631ece714..f65d58ebbf02 100644 --- a/dev-vcs/git/Manifest +++ b/dev-vcs/git/Manifest @@ -14,19 +14,19 @@ AUX git-daemon_at-r1.service 340 BLAKE2B 879db8b274d8e1d2995a2ea1e4b1d66cac3d697 DIST git-2.13.6.tar.xz 4756820 BLAKE2B 5fdb7aae5ceb1e1d0bd9be2541e8d39f28503ebeda5ef30eee306348afb290171cba7f8d6e0002775288bfba699ca12e388a4007008509d91a9ac92e90fb5d5c SHA512 ed39784205e1077f886eebdfb34a205fb0433071de29f673a79ea32bca31a2ba9bdabba208c9679ea2f6f295bafad52a7e7852b5bd2ccb1e6c99a1d2e76e8ada DIST git-2.14.3.tar.xz 4802252 BLAKE2B 9b5a13e337ba1f4609875897a3ee92dd5a433fa5e7f8bbac1436dcd8275514378fe99dd8cfcf6212e27825e43f000100850ad6f3a0b3fd53bbf9ee820a3973d8 SHA512 e32e9ff904cbc2a77d78ca08953e3b69ac527c333a898dd053806e3d7e684ad4ae153ae7663b7ff9c16e2414c3189878a2e6c95fe9320b4af6cb1e7fa5102643 DIST git-2.15.1.tar.xz 4894768 BLAKE2B 89258e58ff06b50759364c79bebc9a70a267eca7bd25c1feb73ca49cb2b9cf5f6b890729aee4c9bda9025cbacfd8ed29d1a251ee0add9cd84c277e2bb29dbad5 SHA512 dcf300b28e41f7757d866e768d641137718b43eb6d12a2cfff99fb429775e0cab87bbff48147b8588bc0f69e92eb5ca2ad1f75c8cf5205e41853d8e8652f900b -DIST git-2.16.0.rc2.tar.xz 4946128 BLAKE2B a0cf9ca4ce4fee2721a8f5c0333b3395b103377da619119316e0c6175fee19d1f89abeb502c79293c573c32628edb460d1e39d3c77b87075ac782cdc619610d8 SHA512 6078cec99aa03cdb3915c91759d01ce741740fcda0659d030024aa0b4195cd77af1089695ad2138f38e63b7b8a46a336abea9f19e125db13f85e1ca8be844787 +DIST git-2.16.0.tar.xz 4961856 BLAKE2B 5e7e3476de93f718c85750a39ab0923b41ca573708c4bd82af37577c2cb6067c4a989b50262f04c34d2594ec51a47b3c80394ab7910b9a47bb1aa1ca09cdd1d3 SHA512 11f8f3b5e015cbf7aa768ae66c8a4a81417d78736c10e6e24a2b83b7c3ade3afaa6934ca156c5bb9c3da80cf445549601d494bab86611d7eec7865dbfdcbd812 DIST git-htmldocs-2.13.6.tar.xz 1110668 BLAKE2B 7cfbd453c72c3e300244f9a8c4d13efd60d22219dee48f6a06e6f23fb3a0bd5bc66e624829d685b3ae8b47b81bba39e605f0dd6fd3459364c83b2d922be94a64 SHA512 9eb26f04836620bf4486d3bb2a170ab2b0af319f7f53e2677f4c1445767f5c3521cfdbb274dcc4df2bfd2fc5bf0ca18c6a4a9ca0b9f957c53f66e530684af6cc DIST git-htmldocs-2.14.3.tar.xz 1116824 BLAKE2B ca7068a4983e2f7c3694222f6a932d8db132b0a20a50a10415f58a77100a95d8e0fd2e8cf980ece8ef55be0f0ca652cc1a75af62a22b9d60ff19ad4801383416 SHA512 a73160724f944832f915ff29c557e2a968d6c5ae5c4e9759d96444af8841e52a1193d50a74f01deb1ec5ef03b3301897bd85c5ebb82ac22d8188d528629d74d4 DIST git-htmldocs-2.15.1.tar.xz 1134848 BLAKE2B 1efb6d4ca16779c39be69fed57fccb023ddac6bb9c9727ebd7050eb40035c1d56dbce0191224e8d3370d433d8e1cf210df9bc9bde2effb6fbb2d62bfd5e9e440 SHA512 50e53b506c17b046c42a8d9f888741b1f408fb7bb566d981ad6dcda3383f1d310008732a849b4755e7233dc83477f354e9c6d5d4e1fcf0e81af54d49153e8c34 -DIST git-htmldocs-2.16.0.rc2.tar.xz 1159672 BLAKE2B e0769344224ea591a25e80f798a5b55bde8cd959be750cc96f9a5a2da82c39db9c4e1a5f1b895b92f38bd01431b4d57db8c3407a8aea26fbd16384504b7b7564 SHA512 44ce34629180c579cd3efde964aa218e03e9bfb821842bd312429201c7404b0d4a89b332c1c4b62265e3dd9db88c2ac0e143db1d332aece955dd819aa8caeee7 +DIST git-htmldocs-2.16.0.tar.xz 1159956 BLAKE2B eb38d27ce2de42b18971afbabfef8f6527e3c330cbe841dd0c6f35e821974cc6c6c432e8a55cec19413224b597cd3e37e56ddd039161811cb90809d72a170c99 SHA512 bfc501adb325b8111e327359fe1b7f788f6c6fa459ec2895c2bfc7ab9d794c59eac314504b2336da9d69b6ae6121764e693e8417a26ab5f12cdd485770f88707 DIST git-manpages-2.13.6.tar.xz 407660 BLAKE2B 76bae6c11cf21f39adf121b4580fe10021e354374e37de6ca5eee6e60e1c7ef3b2dafb086c6b8d88f35216204269945cf45fcd6868f9940d2f00b72a87bad8e2 SHA512 b24a96053e348e1d2ebf5c66d968074bc73471f07ac3a680d8b16fd211b69b5fdfad6a087473edf9941ad08493e4d7ff0a916b85ce40ebe19b3e3dad6a4baf5f DIST git-manpages-2.14.3.tar.xz 411324 BLAKE2B c896a54305276ff0bb1d860f02833f5902bf869e746333c0598f8c494efb56c65c4a9d5d9eeb54a9a38a6b07776abddc4267b73c2ff020cedf65248ac89afca6 SHA512 3e1215bdc28df84fd26ba40f6aedfa9f2140c170af48148b1b89d28e8b411686376715920f86d9db9aa18f4a3f4e8f68082da7632febbcbc7fc956f32807da50 DIST git-manpages-2.15.1.tar.xz 413124 BLAKE2B 61407bc2c87fddff7a992c25f71768e39bee56941a7291f8c03ee59d10f7db36259e80c6f85ca0303c5e79edb3e1ff02b4abc6c8577bb1f3072b8a469ca55f23 SHA512 de02606554c14fdb780f2885b8b88e6b15e82e4debe9f59da75d57832a41f688be9882e74eacd0dc36db7a42bfbd88c5168b378ca0c8658317fe68e207ec2d18 -DIST git-manpages-2.16.0.rc2.tar.xz 417216 BLAKE2B 39d434afb66201acd440bdd7dfe6bf099a0d5e0d35926debbc51d149039dc654fb0e76689efd29f918a07b01acf14491cc2e0c48f497dc4e8517fcd3f21ffd95 SHA512 5921e26f05578d10e88686de65340f4c71e602aac4f373bcc2bb86036f0ed40ac93af2463f5557895fac2cc99468dbf6095186a6198b9d4e9e97bc9882616bbe +DIST git-manpages-2.16.0.tar.xz 417192 BLAKE2B 43369365cd9c25035d863057aff3909aada3ceac59599132aefc4d7e26933e747c568140fad957822f8a1ef1d3e370dfdaeadbdee12e0e254dbab02888714446 SHA512 00b08b1a3a33af2dd4550225ee03e6efe12eee554f78257cdfd20af7cded64ac11879032384f0ec987c1dc04d18b3007319de9a02fdba183c92cdc382e23e139 EBUILD git-2.13.6.ebuild 18885 BLAKE2B 097dc3192b7f71372eb3c001bf8aaa9f86b5d3f0479087c7daeaa13fcb77acb987463a565bc394e0aaa3014c72726e6364fc138ede07abf77062561711db80a0 SHA512 931fe26d4f73ac6ffb7794f913581041768dd0db0ec142640c8b2470b92adfd6198919e148e9675151cc1d67b1753c4259089afb6ebda8ea26a8733d8c2631dd EBUILD git-2.14.3.ebuild 19363 BLAKE2B 7b06642fe92fa81859c400ba03c2c3ff97ea99d57451510e7597bfc9d94e0259aa465bd6165a0940534eb175cee49217d76b7869feb9065a4a900edc6244b67c SHA512 a315292faf871312cfcd89b702a1c1449461fbb02c63746c24344bfba1ce94b4bb078f133d09655b6298b0b41c9f9007675508d7db194b2b6f55fa90e789de84 EBUILD git-2.15.1.ebuild 19366 BLAKE2B 1e6803a7a0b4e43eec7430410fcee4956b42ad888ee088d404b0c60fe1a6e95036f37708da23040833026ce121c05a12fb8052d8fd6af951ed3e516f9f8df561 SHA512 f511e5d8051ec4547fad1587c8f0ac6ea75d471ff98835d45242aad9ab735f1927d3c1e815d6cc51b3584032ad91638f9d636c7523cba5c81208bb8436d27db3 -EBUILD git-2.16.0_rc2.ebuild 19366 BLAKE2B 1e6803a7a0b4e43eec7430410fcee4956b42ad888ee088d404b0c60fe1a6e95036f37708da23040833026ce121c05a12fb8052d8fd6af951ed3e516f9f8df561 SHA512 f511e5d8051ec4547fad1587c8f0ac6ea75d471ff98835d45242aad9ab735f1927d3c1e815d6cc51b3584032ad91638f9d636c7523cba5c81208bb8436d27db3 +EBUILD git-2.16.0.ebuild 19366 BLAKE2B 1e6803a7a0b4e43eec7430410fcee4956b42ad888ee088d404b0c60fe1a6e95036f37708da23040833026ce121c05a12fb8052d8fd6af951ed3e516f9f8df561 SHA512 f511e5d8051ec4547fad1587c8f0ac6ea75d471ff98835d45242aad9ab735f1927d3c1e815d6cc51b3584032ad91638f9d636c7523cba5c81208bb8436d27db3 EBUILD git-9999-r1.ebuild 19366 BLAKE2B 1e6803a7a0b4e43eec7430410fcee4956b42ad888ee088d404b0c60fe1a6e95036f37708da23040833026ce121c05a12fb8052d8fd6af951ed3e516f9f8df561 SHA512 f511e5d8051ec4547fad1587c8f0ac6ea75d471ff98835d45242aad9ab735f1927d3c1e815d6cc51b3584032ad91638f9d636c7523cba5c81208bb8436d27db3 EBUILD git-9999-r2.ebuild 19366 BLAKE2B 1e6803a7a0b4e43eec7430410fcee4956b42ad888ee088d404b0c60fe1a6e95036f37708da23040833026ce121c05a12fb8052d8fd6af951ed3e516f9f8df561 SHA512 f511e5d8051ec4547fad1587c8f0ac6ea75d471ff98835d45242aad9ab735f1927d3c1e815d6cc51b3584032ad91638f9d636c7523cba5c81208bb8436d27db3 EBUILD git-9999-r3.ebuild 19366 BLAKE2B 1e6803a7a0b4e43eec7430410fcee4956b42ad888ee088d404b0c60fe1a6e95036f37708da23040833026ce121c05a12fb8052d8fd6af951ed3e516f9f8df561 SHA512 f511e5d8051ec4547fad1587c8f0ac6ea75d471ff98835d45242aad9ab735f1927d3c1e815d6cc51b3584032ad91638f9d636c7523cba5c81208bb8436d27db3 diff --git a/dev-vcs/git/git-2.16.0.ebuild b/dev-vcs/git/git-2.16.0.ebuild new file mode 100644 index 000000000000..d3e89d0092f7 --- /dev/null +++ b/dev-vcs/git/git-2.16.0.ebuild @@ -0,0 +1,696 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +GENTOO_DEPEND_ON_PERL=no + +# bug #329479: git-remote-testgit is not multiple-version aware +PYTHON_COMPAT=( python2_7 ) +PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" +if [[ ${PV} == *9999 ]]; then + SCM="git-r3" + EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" + # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. + # See https://git-scm.com/docs/gitworkflows#_graduation + # In order of stability: + # 9999-r0: maint + # 9999-r1: master + # 9999-r2: next + # 9999-r3: pu + case "${PVR}" in + 9999) EGIT_BRANCH=maint ;; + 9999-r1) EGIT_BRANCH=master ;; + 9999-r2) EGIT_BRANCH=next;; + 9999-r3) EGIT_BRANCH=pu ;; + esac +fi + +inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} + +MY_PV="${PV/_rc/.rc}" +MY_P="${PN}-${MY_PV}" + +DOC_VER=${MY_PV} + +DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency" +HOMEPAGE="http://www.git-scm.com/" +if [[ ${PV} != *9999 ]]; then + SRC_URI_SUFFIX="xz" + SRC_URI_KORG="mirror://kernel/software/scm/git" + [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing' + SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX} + ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + doc? ( + ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + )" + [[ "${PV}" = *_rc* ]] || \ + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test" + +# Common to both DEPEND and RDEPEND +CDEPEND=" + gnome-keyring? ( app-crypt/libsecret ) + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + sys-libs/zlib + pcre? ( + pcre-jit? ( dev-libs/libpcre2[jit(+)] ) + !pcre-jit? ( dev-libs/libpcre ) + ) + perl? ( dev-lang/perl:=[-build(-)] ) + tk? ( dev-lang/tk:0= ) + curl? ( + net-misc/curl + webdav? ( dev-libs/expat ) + ) + emacs? ( virtual/emacs ) +" + +RDEPEND="${CDEPEND} + gpg? ( app-crypt/gnupg ) + mediawiki? ( + dev-perl/DateTime-Format-ISO8601 + dev-perl/HTML-Tree + dev-perl/MediaWiki-API + ) + perl? ( dev-perl/Error + dev-perl/Net-SMTP-SSL + dev-perl/Authen-SASL + cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) ) + cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite ) + subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey ) + ) + python? ( ${PYTHON_DEPS} ) +" + +# This is how info docs are created with Git: +# .txt/asciidoc --(asciidoc)---------> .xml/docbook +# .xml/docbook --(docbook2texi.pl)--> .texi +# .texi --(makeinfo)---------> .info +DEPEND="${CDEPEND} + doc? ( + app-text/asciidoc + app-text/docbook2X + sys-apps/texinfo + app-text/xmlto + ) + nls? ( sys-devel/gettext ) + test? ( app-crypt/gnupg )" + +# Live ebuild builds man pages and HTML docs, additionally +if [[ ${PV} == *9999 ]]; then + DEPEND="${DEPEND} + app-text/asciidoc" +fi + +SITEFILE=50${PN}-gentoo.el +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + cgi? ( perl ) + cvs? ( perl ) + mediawiki? ( perl ) + mediawiki-experimental? ( mediawiki ) + subversion? ( perl ) + webdav? ( curl ) + pcre-jit? ( pcre ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +PATCHES=( + # bug #350330 - automagic CVS when we don't want it is bad. + "${FILESDIR}"/git-2.12.0-optional-cvs.patch + + # install mediawiki perl modules also in vendor_dir + # hack, needs better upstream solution + "${FILESDIR}"/git-1.8.5-mw-vendor.patch + + "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch + + # Bug #493306, where FreeBSD 10.x merged libiconv into its libc. + "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch +) + +pkg_setup() { + if use subversion && has_version "dev-vcs/subversion[dso]"; then + ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" + ewarn "with USE=dso, there may be weird crashes in git-svn. You" + ewarn "have been warned." + fi + if use python ; then + python-single-r1_pkg_setup + fi +} + +# This is needed because for some obscure reasons future calls to make don't +# pick up these exports if we export them in src_unpack() +exportmakeopts() { + local myopts + + if use blksha1 ; then + myopts+=" BLK_SHA1=YesPlease" + elif use ppcsha1 ; then + myopts+=" PPC_SHA1=YesPlease" + fi + + if use curl ; then + use webdav || myopts+=" NO_EXPAT=YesPlease" + else + myopts+=" NO_CURL=YesPlease" + fi + + # broken assumptions, because of static build system ... + myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease" + myopts+=" INSTALL=install TAR=tar" + myopts+=" SHELL_PATH=${EPREFIX}/bin/sh" + myopts+=" SANE_TOOL_PATH=" + myopts+=" OLD_ICONV=" + myopts+=" NO_EXTERNAL_GREP=" + + # For svn-fe + extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" + + # can't define this to null, since the entire makefile depends on it + sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile + + use iconv \ + || myopts+=" NO_ICONV=YesPlease" + use nls \ + || myopts+=" NO_GETTEXT=YesPlease" + use tk \ + || myopts+=" NO_TCLTK=YesPlease" + if use pcre; then + if use pcre-jit; then + myopts+=" USE_LIBPCRE2=YesPlease" + extlibs+=" -lpcre2-8" + else + myopts+=" USE_LIBPCRE1=YesPlease" + myopts+=" NO_LIBPCRE1_JIT=YesPlease" + extlibs+=" -lpcre" + fi + fi + use perl \ + && myopts+=" INSTALLDIRS=vendor" \ + || myopts+=" NO_PERL=YesPlease" + use python \ + || myopts+=" NO_PYTHON=YesPlease" + use subversion \ + || myopts+=" NO_SVN_TESTS=YesPlease" + use threads \ + && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \ + || myopts+=" NO_PTHREADS=YesPlease" + use cvs \ + || myopts+=" NO_CVS=YesPlease" + use elibc_musl \ + && myopts+=" NO_REGEX=YesPlease" +# Disabled until ~m68k-mint can be keyworded again +# if [[ ${CHOST} == *-mint* ]] ; then +# myopts+=" NO_MMAP=YesPlease" +# myopts+=" NO_IPV6=YesPlease" +# myopts+=" NO_STRLCPY=YesPlease" +# myopts+=" NO_MEMMEM=YesPlease" +# myopts+=" NO_MKDTEMP=YesPlease" +# myopts+=" NO_MKSTEMPS=YesPlease" +# fi + if [[ ${CHOST} == ia64-*-hpux* ]]; then + myopts+=" NO_NSEC=YesPlease" + fi + if [[ ${CHOST} == *-*-aix* ]]; then + myopts+=" NO_FNMATCH_CASEFOLD=YesPlease" + fi + if [[ ${CHOST} == *-solaris* ]]; then + myopts+=" NEEDS_LIBICONV=YesPlease" + myopts+=" HAVE_CLOCK_MONOTONIC=1" + grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ + myopts+=" HAVE_GETDELIM=1" + fi + + has_version '>=app-text/asciidoc-8.0' \ + && myopts+=" ASCIIDOC8=YesPlease" + myopts+=" ASCIIDOC_NO_ROFF=YesPlease" + + # Bug 290465: + # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' + [[ "${CHOST}" == *-uclibc* ]] && \ + myopts+=" NO_NSEC=YesPlease" + + export MY_MAKEOPTS="${myopts}" + export EXTLIBS="${extlibs}" +} + +src_unpack() { + if [[ ${PV} != *9999 ]]; then + unpack ${MY_P}.tar.${SRC_URI_SUFFIX} + cd "${S}" + unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} + use doc && \ + cd "${S}"/Documentation && \ + unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} + cd "${S}" + else + git-r3_src_unpack + cd "${S}" + #cp "${FILESDIR}"/GIT-VERSION-GEN . + fi + +} + +src_prepare() { + # add experimental patches to improve mediawiki support + # see patches for origin + if use mediawiki-experimental ; then + PATCHES+=( + "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch + "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch + "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch + ) + fi + + default + + sed -i \ + -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ + -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ + -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ + -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ + -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ + Makefile contrib/svn-fe/Makefile || die "sed failed" + + # Never install the private copy of Error.pm (bug #296310) + sed -i \ + -e '/private-Error.pm/s,^,#,' \ + perl/Makefile.PL + + # Fix docbook2texi command + sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ + Documentation/Makefile || die "sed failed" + + # Fix git-subtree missing DESTDIR + sed -i \ + -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \ + -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \ + contrib/subtree/Makefile +} + +git_emake() { + # bug #320647: PYTHON_PATH + PYTHON_PATH="" + use python && PYTHON_PATH="${PYTHON}" + emake ${MY_MAKEOPTS} \ + DESTDIR="${D}" \ + OPTCFLAGS="${CFLAGS}" \ + OPTLDFLAGS="${LDFLAGS}" \ + OPTCC="$(tc-getCC)" \ + OPTAR="$(tc-getAR)" \ + prefix="${EPREFIX}"/usr \ + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ + sysconfdir="${EPREFIX}"/etc \ + PYTHON_PATH="${PYTHON_PATH}" \ + PERL_PATH="${EPREFIX}/usr/bin/perl" \ + PERL_MM_OPT="" \ + GIT_TEST_OPTS="--no-color" \ + V=1 \ + "$@" +} + +src_configure() { + exportmakeopts +} + +src_compile() { + if use perl ; then + git_emake perl/PM.stamp || die "emake perl/PM.stamp failed" + git_emake perl/perl.mak || die "emake perl/perl.mak failed" + fi + git_emake || die "emake failed" + + if use emacs ; then + elisp-compile contrib/emacs/git{,-blame}.el + fi + + if use perl && use cgi ; then + git_emake \ + gitweb \ + || die "emake gitweb (cgi) failed" + fi + + if [[ ${CHOST} == *-darwin* ]]; then + cd "${S}"/contrib/credential/osxkeychain || die + git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \ + || die "emake credential-osxkeychain" + fi + + cd "${S}"/Documentation + if [[ ${PV} == *9999 ]] ; then + git_emake man \ + || die "emake man failed" + if use doc ; then + git_emake info html \ + || die "emake info html failed" + fi + else + if use doc ; then + git_emake info \ + || die "emake info html failed" + fi + fi + + if use subversion ; then + cd "${S}"/contrib/svn-fe + # by defining EXTLIBS we override the detection for libintl and + # libiconv, bug #516168 + local nlsiconv= + use nls && use !elibc_glibc && nlsiconv+=" -lintl" + use iconv && use !elibc_glibc && nlsiconv+=" -liconv" + git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" + if use doc ; then + git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" + fi + cd "${S}" + fi + + if use gnome-keyring ; then + cd "${S}"/contrib/credential/libsecret + git_emake || die "emake git-credential-libsecret failed" + fi + + cd "${S}"/contrib/subtree || die + git_emake + use doc && git_emake doc + + cd "${S}"/contrib/diff-highlight || die + git_emake + + if use mediawiki ; then + cd "${S}"/contrib/mw-to-git + git_emake + fi +} + +src_install() { + git_emake \ + install || \ + die "make install failed" + + if [[ ${CHOST} == *-darwin* ]]; then + dobin contrib/credential/osxkeychain/git-credential-osxkeychain + fi + + # Depending on the tarball and manual rebuild of the documentation, the + # manpages may exist in either OR both of these directories. + find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] + find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] + dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} + use doc && dodir /usr/share/doc/${PF}/html + for d in / /howto/ /technical/ ; do + docinto ${d} + dodoc Documentation${d}*.txt + if use doc ; then + docinto ${d}/html + dodoc Documentation${d}*.html + fi + done + docinto / + # Upstream does not ship this pre-built :-( + use doc && doinfo Documentation/{git,gitman}.info + + newbashcomp contrib/completion/git-completion.bash ${PN} + bashcomp_alias git gitk + # Not really a bash-completion file (bug #477920) + # but still needed uncompressed (bug #507480) + insinto /usr/share/${PN} + doins contrib/completion/git-prompt.sh + + if use emacs ; then + elisp-install ${PN} contrib/emacs/git.{el,elc} + elisp-install ${PN} contrib/emacs/git-blame.{el,elc} + #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} + # don't add automatically to the load-path, so the sitefile + # can do a conditional loading + touch "${ED}${SITELISP}/${PN}/compat/.nosearch" + elisp-site-file-install "${FILESDIR}"/${SITEFILE} + fi + + #dobin contrib/fast-import/git-p4 # Moved upstream + #dodoc contrib/fast-import/git-p4.txt # Moved upstream + newbin contrib/fast-import/import-tars.perl import-tars + exeinto /usr/libexec/git-core/ + newexe contrib/git-resurrect.sh git-resurrect + + # git-subtree + cd "${S}"/contrib/subtree + git_emake install || die "Failed to emake install git-subtree" + if use doc ; then + git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" + fi + newdoc README README.git-subtree + dodoc git-subtree.txt + cd "${S}" + + if use mediawiki ; then + cd "${S}"/contrib/mw-to-git + git_emake install + cd "${S}" + fi + + # diff-highlight + dobin contrib/diff-highlight/diff-highlight + newdoc contrib/diff-highlight/README README.diff-highlight + + # git-jump + exeinto /usr/libexec/git-core/ + doexe contrib/git-jump/git-jump + newdoc contrib/git-jump/README git-jump.txt + + # git-contacts + exeinto /usr/libexec/git-core/ + doexe contrib/contacts/git-contacts + dodoc contrib/contacts/git-contacts.txt + + if use gnome-keyring ; then + cd "${S}"/contrib/credential/libsecret + dobin git-credential-libsecret + fi + + if use subversion ; then + cd "${S}"/contrib/svn-fe + dobin svn-fe + dodoc svn-fe.txt + if use doc ; then + doman svn-fe.1 + docinto html + dodoc svn-fe.html + fi + cd "${S}" + fi + + dodir /usr/share/${PN}/contrib + # The following are excluded: + # completion - installed above + # diff-highlight - done above + # emacs - installed above + # examples - these are stuff that is not used in Git anymore actually + # git-jump - done above + # gitview - installed above + # p4import - excluded because fast-import has a better one + # patches - stuff the Git guys made to go upstream to other places + # persistent-https - TODO + # mw-to-git - TODO + # subtree - build seperately + # svnimport - use git-svn + # thunderbird-patch-inline - fixes thunderbird + local contrib_objects=( + buildsystems + fast-import + hg-to-git + hooks + remotes2config.sh + rerere-train.sh + stats + workdir + ) + for i in "${contrib_objects[@]}" ; do + cp -rf \ + "${S}"/contrib/${i} \ + "${ED}"/usr/share/${PN}/contrib \ + || die "Failed contrib ${i}" + done + + if use perl && use cgi ; then + # We used to install in /usr/share/${PN}/gitweb + # but upstream installs in /usr/share/gitweb + # so we will install a symlink and use their location for compat with other + # distros + dosym /usr/share/gitweb /usr/share/${PN}/gitweb + + # INSTALL discusses configuration issues, not just installation + docinto / + newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb + newdoc "${S}"/gitweb/README README.gitweb + + find "${ED}"/usr/lib64/perl5/ \ + -name .packlist \ + -exec rm \{\} \; + else + rm -rf "${ED}"/usr/share/gitweb + fi + + if ! use subversion ; then + rm -f "${ED}"/usr/libexec/git-core/git-svn \ + "${ED}"/usr/share/man/man1/git-svn.1* + fi + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/git-daemon.xinetd git-daemon + fi + + if use !prefix ; then + newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon + newconfd "${FILESDIR}"/git-daemon.confd git-daemon + systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" + systemd_dounit "${FILESDIR}/git-daemon.socket" + fi + + perl_delete_localpod + + # Remove disabled linguas + # we could remove sources in src_prepare, but install does not + # handle missing locale dir well + rm_loc() { + if [[ -e "${ED}/usr/share/locale/${1}" ]]; then + rm -r "${ED}/usr/share/locale/${1}" || die + fi + } + l10n_for_each_disabled_locale_do rm_loc +} + +src_test() { + local disabled="t9128-git-svn-cmd-branch.sh" + local tests_cvs="t9200-git-cvsexportcommit.sh \ + t9400-git-cvsserver-server.sh \ + t9401-git-cvsserver-crlf.sh \ + t9402-git-cvsserver-refs.sh \ + t9600-cvsimport.sh \ + t9601-cvsimport-vendor-branch.sh \ + t9602-cvsimport-branches-tags.sh \ + t9603-cvsimport-patchsets.sh \ + t9604-cvsimport-timestamps.sh" + local tests_perl="t3701-add-interactive.sh \ + t5502-quickfetch.sh \ + t5512-ls-remote.sh \ + t5520-pull.sh \ + t7106-reset-unborn-branch.sh \ + t7501-commit.sh" + # Bug #225601 - t0004 is not suitable for root perm + # Bug #219839 - t1004 is not suitable for root perm + # t0001-init.sh - check for init notices EPERM* fails + local tests_nonroot="t0001-init.sh \ + t0004-unwritable.sh \ + t0070-fundamental.sh \ + t1004-read-tree-m-u-wf.sh \ + t3700-add.sh \ + t7300-clean.sh" + # t9100 still fails with symlinks in SVN 1.7 + local test_svn="t9100-git-svn-basic.sh" + + # Unzip is used only for the testcase code, not by any normal parts of Git. + if ! has_version app-arch/unzip ; then + einfo "Disabling tar-tree tests" + disabled="${disabled} t5000-tar-tree.sh" + fi + + cvs=0 + use cvs && let cvs=$cvs+1 + if [[ ${EUID} -eq 0 ]]; then + if [[ $cvs -eq 1 ]]; then + ewarn "Skipping CVS tests because CVS does not work as root!" + ewarn "You should retest with FEATURES=userpriv!" + disabled="${disabled} ${tests_cvs}" + fi + einfo "Skipping other tests that require being non-root" + disabled="${disabled} ${tests_nonroot}" + else + [[ $cvs -gt 0 ]] && \ + has_version dev-vcs/cvs && \ + let cvs=$cvs+1 + [[ $cvs -gt 1 ]] && \ + has_version "dev-vcs/cvs[server]" && \ + let cvs=$cvs+1 + if [[ $cvs -lt 3 ]]; then + einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" + disabled="${disabled} ${tests_cvs}" + fi + fi + + if ! use perl ; then + einfo "Disabling tests that need Perl" + disabled="${disabled} ${tests_perl}" + fi + + einfo "Disabling tests that fail with SVN 1.7" + disabled="${disabled} ${test_svn}" + + # Reset all previously disabled tests + cd "${S}/t" + for i in *.sh.DISABLED ; do + [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" + done + einfo "Disabled tests:" + for i in ${disabled} ; do + [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i" + done + + # Avoid the test system removing the results because we want them ourselves + sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \ + -i "${S}"/t/Makefile + + # Clean old results first, must always run + cd "${S}/t" + nonfatal git_emake clean + + # Now run the tests, keep going if we hit an error, and don't terminate on + # failure + cd "${S}" + einfo "Start test run" + #MAKEOPTS=-j1 + nonfatal git_emake --keep-going test + rc=$? + + # Display nice results, now print the results + cd "${S}/t" + nonfatal git_emake aggregate-results + + # And bail if there was a problem + [ $rc -eq 0 ] || die "tests failed. Please file a bug." +} + +showpkgdeps() { + local pkg=$1 + shift + elog " $(printf "%-17s:" ${pkg}) ${@}" +} + +pkg_postinst() { + use emacs && elisp-site-regen + einfo "Please read /usr/share/bash-completion/git for Git bash command completion" + einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt" + einfo "Note that the prompt bash code is now in that separate script" + elog "These additional scripts need some dependencies:" + echo + showpkgdeps git-quiltimport "dev-util/quilt" + showpkgdeps git-instaweb \ + "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )" + echo + use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed." +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-vcs/git/git-2.16.0_rc2.ebuild b/dev-vcs/git/git-2.16.0_rc2.ebuild deleted file mode 100644 index d3e89d0092f7..000000000000 --- a/dev-vcs/git/git-2.16.0_rc2.ebuild +++ /dev/null @@ -1,696 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -GENTOO_DEPEND_ON_PERL=no - -# bug #329479: git-remote-testgit is not multiple-version aware -PYTHON_COMPAT=( python2_7 ) -PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN" -if [[ ${PV} == *9999 ]]; then - SCM="git-r3" - EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git" - # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches. - # See https://git-scm.com/docs/gitworkflows#_graduation - # In order of stability: - # 9999-r0: maint - # 9999-r1: master - # 9999-r2: next - # 9999-r3: pu - case "${PVR}" in - 9999) EGIT_BRANCH=maint ;; - 9999-r1) EGIT_BRANCH=master ;; - 9999-r2) EGIT_BRANCH=next;; - 9999-r3) EGIT_BRANCH=pu ;; - esac -fi - -inherit toolchain-funcs eutils elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd ${SCM} - -MY_PV="${PV/_rc/.rc}" -MY_P="${PN}-${MY_PV}" - -DOC_VER=${MY_PV} - -DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency" -HOMEPAGE="http://www.git-scm.com/" -if [[ ${PV} != *9999 ]]; then - SRC_URI_SUFFIX="xz" - SRC_URI_KORG="mirror://kernel/software/scm/git" - [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing' - SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX} - ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} - doc? ( - ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} - )" - [[ "${PV}" = *_rc* ]] || \ - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test" - -# Common to both DEPEND and RDEPEND -CDEPEND=" - gnome-keyring? ( app-crypt/libsecret ) - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - sys-libs/zlib - pcre? ( - pcre-jit? ( dev-libs/libpcre2[jit(+)] ) - !pcre-jit? ( dev-libs/libpcre ) - ) - perl? ( dev-lang/perl:=[-build(-)] ) - tk? ( dev-lang/tk:0= ) - curl? ( - net-misc/curl - webdav? ( dev-libs/expat ) - ) - emacs? ( virtual/emacs ) -" - -RDEPEND="${CDEPEND} - gpg? ( app-crypt/gnupg ) - mediawiki? ( - dev-perl/DateTime-Format-ISO8601 - dev-perl/HTML-Tree - dev-perl/MediaWiki-API - ) - perl? ( dev-perl/Error - dev-perl/Net-SMTP-SSL - dev-perl/Authen-SASL - cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) ) - cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite ) - subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey ) - ) - python? ( ${PYTHON_DEPS} ) -" - -# This is how info docs are created with Git: -# .txt/asciidoc --(asciidoc)---------> .xml/docbook -# .xml/docbook --(docbook2texi.pl)--> .texi -# .texi --(makeinfo)---------> .info -DEPEND="${CDEPEND} - doc? ( - app-text/asciidoc - app-text/docbook2X - sys-apps/texinfo - app-text/xmlto - ) - nls? ( sys-devel/gettext ) - test? ( app-crypt/gnupg )" - -# Live ebuild builds man pages and HTML docs, additionally -if [[ ${PV} == *9999 ]]; then - DEPEND="${DEPEND} - app-text/asciidoc" -fi - -SITEFILE=50${PN}-gentoo.el -S="${WORKDIR}/${MY_P}" - -REQUIRED_USE=" - cgi? ( perl ) - cvs? ( perl ) - mediawiki? ( perl ) - mediawiki-experimental? ( mediawiki ) - subversion? ( perl ) - webdav? ( curl ) - pcre-jit? ( pcre ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -PATCHES=( - # bug #350330 - automagic CVS when we don't want it is bad. - "${FILESDIR}"/git-2.12.0-optional-cvs.patch - - # install mediawiki perl modules also in vendor_dir - # hack, needs better upstream solution - "${FILESDIR}"/git-1.8.5-mw-vendor.patch - - "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch - - # Bug #493306, where FreeBSD 10.x merged libiconv into its libc. - "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch -) - -pkg_setup() { - if use subversion && has_version "dev-vcs/subversion[dso]"; then - ewarn "Per Gentoo bugs #223747, #238586, when subversion is built" - ewarn "with USE=dso, there may be weird crashes in git-svn. You" - ewarn "have been warned." - fi - if use python ; then - python-single-r1_pkg_setup - fi -} - -# This is needed because for some obscure reasons future calls to make don't -# pick up these exports if we export them in src_unpack() -exportmakeopts() { - local myopts - - if use blksha1 ; then - myopts+=" BLK_SHA1=YesPlease" - elif use ppcsha1 ; then - myopts+=" PPC_SHA1=YesPlease" - fi - - if use curl ; then - use webdav || myopts+=" NO_EXPAT=YesPlease" - else - myopts+=" NO_CURL=YesPlease" - fi - - # broken assumptions, because of static build system ... - myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease" - myopts+=" INSTALL=install TAR=tar" - myopts+=" SHELL_PATH=${EPREFIX}/bin/sh" - myopts+=" SANE_TOOL_PATH=" - myopts+=" OLD_ICONV=" - myopts+=" NO_EXTERNAL_GREP=" - - # For svn-fe - extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')" - - # can't define this to null, since the entire makefile depends on it - sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile - - use iconv \ - || myopts+=" NO_ICONV=YesPlease" - use nls \ - || myopts+=" NO_GETTEXT=YesPlease" - use tk \ - || myopts+=" NO_TCLTK=YesPlease" - if use pcre; then - if use pcre-jit; then - myopts+=" USE_LIBPCRE2=YesPlease" - extlibs+=" -lpcre2-8" - else - myopts+=" USE_LIBPCRE1=YesPlease" - myopts+=" NO_LIBPCRE1_JIT=YesPlease" - extlibs+=" -lpcre" - fi - fi - use perl \ - && myopts+=" INSTALLDIRS=vendor" \ - || myopts+=" NO_PERL=YesPlease" - use python \ - || myopts+=" NO_PYTHON=YesPlease" - use subversion \ - || myopts+=" NO_SVN_TESTS=YesPlease" - use threads \ - && myopts+=" THREADED_DELTA_SEARCH=YesPlease" \ - || myopts+=" NO_PTHREADS=YesPlease" - use cvs \ - || myopts+=" NO_CVS=YesPlease" - use elibc_musl \ - && myopts+=" NO_REGEX=YesPlease" -# Disabled until ~m68k-mint can be keyworded again -# if [[ ${CHOST} == *-mint* ]] ; then -# myopts+=" NO_MMAP=YesPlease" -# myopts+=" NO_IPV6=YesPlease" -# myopts+=" NO_STRLCPY=YesPlease" -# myopts+=" NO_MEMMEM=YesPlease" -# myopts+=" NO_MKDTEMP=YesPlease" -# myopts+=" NO_MKSTEMPS=YesPlease" -# fi - if [[ ${CHOST} == ia64-*-hpux* ]]; then - myopts+=" NO_NSEC=YesPlease" - fi - if [[ ${CHOST} == *-*-aix* ]]; then - myopts+=" NO_FNMATCH_CASEFOLD=YesPlease" - fi - if [[ ${CHOST} == *-solaris* ]]; then - myopts+=" NEEDS_LIBICONV=YesPlease" - myopts+=" HAVE_CLOCK_MONOTONIC=1" - grep -q getdelim "${ROOT}"/usr/include/stdio.h && \ - myopts+=" HAVE_GETDELIM=1" - fi - - has_version '>=app-text/asciidoc-8.0' \ - && myopts+=" ASCIIDOC8=YesPlease" - myopts+=" ASCIIDOC_NO_ROFF=YesPlease" - - # Bug 290465: - # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim' - [[ "${CHOST}" == *-uclibc* ]] && \ - myopts+=" NO_NSEC=YesPlease" - - export MY_MAKEOPTS="${myopts}" - export EXTLIBS="${extlibs}" -} - -src_unpack() { - if [[ ${PV} != *9999 ]]; then - unpack ${MY_P}.tar.${SRC_URI_SUFFIX} - cd "${S}" - unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX} - use doc && \ - cd "${S}"/Documentation && \ - unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} - cd "${S}" - else - git-r3_src_unpack - cd "${S}" - #cp "${FILESDIR}"/GIT-VERSION-GEN . - fi - -} - -src_prepare() { - # add experimental patches to improve mediawiki support - # see patches for origin - if use mediawiki-experimental ; then - PATCHES+=( - "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch - "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch - "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch - ) - fi - - default - - sed -i \ - -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \ - -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \ - -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \ - -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \ - -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \ - Makefile contrib/svn-fe/Makefile || die "sed failed" - - # Never install the private copy of Error.pm (bug #296310) - sed -i \ - -e '/private-Error.pm/s,^,#,' \ - perl/Makefile.PL - - # Fix docbook2texi command - sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \ - Documentation/Makefile || die "sed failed" - - # Fix git-subtree missing DESTDIR - sed -i \ - -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \ - -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \ - contrib/subtree/Makefile -} - -git_emake() { - # bug #320647: PYTHON_PATH - PYTHON_PATH="" - use python && PYTHON_PATH="${PYTHON}" - emake ${MY_MAKEOPTS} \ - DESTDIR="${D}" \ - OPTCFLAGS="${CFLAGS}" \ - OPTLDFLAGS="${LDFLAGS}" \ - OPTCC="$(tc-getCC)" \ - OPTAR="$(tc-getAR)" \ - prefix="${EPREFIX}"/usr \ - htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \ - sysconfdir="${EPREFIX}"/etc \ - PYTHON_PATH="${PYTHON_PATH}" \ - PERL_PATH="${EPREFIX}/usr/bin/perl" \ - PERL_MM_OPT="" \ - GIT_TEST_OPTS="--no-color" \ - V=1 \ - "$@" -} - -src_configure() { - exportmakeopts -} - -src_compile() { - if use perl ; then - git_emake perl/PM.stamp || die "emake perl/PM.stamp failed" - git_emake perl/perl.mak || die "emake perl/perl.mak failed" - fi - git_emake || die "emake failed" - - if use emacs ; then - elisp-compile contrib/emacs/git{,-blame}.el - fi - - if use perl && use cgi ; then - git_emake \ - gitweb \ - || die "emake gitweb (cgi) failed" - fi - - if [[ ${CHOST} == *-darwin* ]]; then - cd "${S}"/contrib/credential/osxkeychain || die - git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \ - || die "emake credential-osxkeychain" - fi - - cd "${S}"/Documentation - if [[ ${PV} == *9999 ]] ; then - git_emake man \ - || die "emake man failed" - if use doc ; then - git_emake info html \ - || die "emake info html failed" - fi - else - if use doc ; then - git_emake info \ - || die "emake info html failed" - fi - fi - - if use subversion ; then - cd "${S}"/contrib/svn-fe - # by defining EXTLIBS we override the detection for libintl and - # libiconv, bug #516168 - local nlsiconv= - use nls && use !elibc_glibc && nlsiconv+=" -lintl" - use iconv && use !elibc_glibc && nlsiconv+=" -liconv" - git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed" - if use doc ; then - git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed" - fi - cd "${S}" - fi - - if use gnome-keyring ; then - cd "${S}"/contrib/credential/libsecret - git_emake || die "emake git-credential-libsecret failed" - fi - - cd "${S}"/contrib/subtree || die - git_emake - use doc && git_emake doc - - cd "${S}"/contrib/diff-highlight || die - git_emake - - if use mediawiki ; then - cd "${S}"/contrib/mw-to-git - git_emake - fi -} - -src_install() { - git_emake \ - install || \ - die "make install failed" - - if [[ ${CHOST} == *-darwin* ]]; then - dobin contrib/credential/osxkeychain/git-credential-osxkeychain - fi - - # Depending on the tarball and manual rebuild of the documentation, the - # manpages may exist in either OR both of these directories. - find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157] - find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157] - dodoc README* Documentation/{SubmittingPatches,CodingGuidelines} - use doc && dodir /usr/share/doc/${PF}/html - for d in / /howto/ /technical/ ; do - docinto ${d} - dodoc Documentation${d}*.txt - if use doc ; then - docinto ${d}/html - dodoc Documentation${d}*.html - fi - done - docinto / - # Upstream does not ship this pre-built :-( - use doc && doinfo Documentation/{git,gitman}.info - - newbashcomp contrib/completion/git-completion.bash ${PN} - bashcomp_alias git gitk - # Not really a bash-completion file (bug #477920) - # but still needed uncompressed (bug #507480) - insinto /usr/share/${PN} - doins contrib/completion/git-prompt.sh - - if use emacs ; then - elisp-install ${PN} contrib/emacs/git.{el,elc} - elisp-install ${PN} contrib/emacs/git-blame.{el,elc} - #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} - # don't add automatically to the load-path, so the sitefile - # can do a conditional loading - touch "${ED}${SITELISP}/${PN}/compat/.nosearch" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi - - #dobin contrib/fast-import/git-p4 # Moved upstream - #dodoc contrib/fast-import/git-p4.txt # Moved upstream - newbin contrib/fast-import/import-tars.perl import-tars - exeinto /usr/libexec/git-core/ - newexe contrib/git-resurrect.sh git-resurrect - - # git-subtree - cd "${S}"/contrib/subtree - git_emake install || die "Failed to emake install git-subtree" - if use doc ; then - git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree" - fi - newdoc README README.git-subtree - dodoc git-subtree.txt - cd "${S}" - - if use mediawiki ; then - cd "${S}"/contrib/mw-to-git - git_emake install - cd "${S}" - fi - - # diff-highlight - dobin contrib/diff-highlight/diff-highlight - newdoc contrib/diff-highlight/README README.diff-highlight - - # git-jump - exeinto /usr/libexec/git-core/ - doexe contrib/git-jump/git-jump - newdoc contrib/git-jump/README git-jump.txt - - # git-contacts - exeinto /usr/libexec/git-core/ - doexe contrib/contacts/git-contacts - dodoc contrib/contacts/git-contacts.txt - - if use gnome-keyring ; then - cd "${S}"/contrib/credential/libsecret - dobin git-credential-libsecret - fi - - if use subversion ; then - cd "${S}"/contrib/svn-fe - dobin svn-fe - dodoc svn-fe.txt - if use doc ; then - doman svn-fe.1 - docinto html - dodoc svn-fe.html - fi - cd "${S}" - fi - - dodir /usr/share/${PN}/contrib - # The following are excluded: - # completion - installed above - # diff-highlight - done above - # emacs - installed above - # examples - these are stuff that is not used in Git anymore actually - # git-jump - done above - # gitview - installed above - # p4import - excluded because fast-import has a better one - # patches - stuff the Git guys made to go upstream to other places - # persistent-https - TODO - # mw-to-git - TODO - # subtree - build seperately - # svnimport - use git-svn - # thunderbird-patch-inline - fixes thunderbird - local contrib_objects=( - buildsystems - fast-import - hg-to-git - hooks - remotes2config.sh - rerere-train.sh - stats - workdir - ) - for i in "${contrib_objects[@]}" ; do - cp -rf \ - "${S}"/contrib/${i} \ - "${ED}"/usr/share/${PN}/contrib \ - || die "Failed contrib ${i}" - done - - if use perl && use cgi ; then - # We used to install in /usr/share/${PN}/gitweb - # but upstream installs in /usr/share/gitweb - # so we will install a symlink and use their location for compat with other - # distros - dosym /usr/share/gitweb /usr/share/${PN}/gitweb - - # INSTALL discusses configuration issues, not just installation - docinto / - newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb - newdoc "${S}"/gitweb/README README.gitweb - - find "${ED}"/usr/lib64/perl5/ \ - -name .packlist \ - -exec rm \{\} \; - else - rm -rf "${ED}"/usr/share/gitweb - fi - - if ! use subversion ; then - rm -f "${ED}"/usr/libexec/git-core/git-svn \ - "${ED}"/usr/share/man/man1/git-svn.1* - fi - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}"/git-daemon.xinetd git-daemon - fi - - if use !prefix ; then - newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon - newconfd "${FILESDIR}"/git-daemon.confd git-daemon - systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service" - systemd_dounit "${FILESDIR}/git-daemon.socket" - fi - - perl_delete_localpod - - # Remove disabled linguas - # we could remove sources in src_prepare, but install does not - # handle missing locale dir well - rm_loc() { - if [[ -e "${ED}/usr/share/locale/${1}" ]]; then - rm -r "${ED}/usr/share/locale/${1}" || die - fi - } - l10n_for_each_disabled_locale_do rm_loc -} - -src_test() { - local disabled="t9128-git-svn-cmd-branch.sh" - local tests_cvs="t9200-git-cvsexportcommit.sh \ - t9400-git-cvsserver-server.sh \ - t9401-git-cvsserver-crlf.sh \ - t9402-git-cvsserver-refs.sh \ - t9600-cvsimport.sh \ - t9601-cvsimport-vendor-branch.sh \ - t9602-cvsimport-branches-tags.sh \ - t9603-cvsimport-patchsets.sh \ - t9604-cvsimport-timestamps.sh" - local tests_perl="t3701-add-interactive.sh \ - t5502-quickfetch.sh \ - t5512-ls-remote.sh \ - t5520-pull.sh \ - t7106-reset-unborn-branch.sh \ - t7501-commit.sh" - # Bug #225601 - t0004 is not suitable for root perm - # Bug #219839 - t1004 is not suitable for root perm - # t0001-init.sh - check for init notices EPERM* fails - local tests_nonroot="t0001-init.sh \ - t0004-unwritable.sh \ - t0070-fundamental.sh \ - t1004-read-tree-m-u-wf.sh \ - t3700-add.sh \ - t7300-clean.sh" - # t9100 still fails with symlinks in SVN 1.7 - local test_svn="t9100-git-svn-basic.sh" - - # Unzip is used only for the testcase code, not by any normal parts of Git. - if ! has_version app-arch/unzip ; then - einfo "Disabling tar-tree tests" - disabled="${disabled} t5000-tar-tree.sh" - fi - - cvs=0 - use cvs && let cvs=$cvs+1 - if [[ ${EUID} -eq 0 ]]; then - if [[ $cvs -eq 1 ]]; then - ewarn "Skipping CVS tests because CVS does not work as root!" - ewarn "You should retest with FEATURES=userpriv!" - disabled="${disabled} ${tests_cvs}" - fi - einfo "Skipping other tests that require being non-root" - disabled="${disabled} ${tests_nonroot}" - else - [[ $cvs -gt 0 ]] && \ - has_version dev-vcs/cvs && \ - let cvs=$cvs+1 - [[ $cvs -gt 1 ]] && \ - has_version "dev-vcs/cvs[server]" && \ - let cvs=$cvs+1 - if [[ $cvs -lt 3 ]]; then - einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])" - disabled="${disabled} ${tests_cvs}" - fi - fi - - if ! use perl ; then - einfo "Disabling tests that need Perl" - disabled="${disabled} ${tests_perl}" - fi - - einfo "Disabling tests that fail with SVN 1.7" - disabled="${disabled} ${test_svn}" - - # Reset all previously disabled tests - cd "${S}/t" - for i in *.sh.DISABLED ; do - [[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}" - done - einfo "Disabled tests:" - for i in ${disabled} ; do - [[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i" - done - - # Avoid the test system removing the results because we want them ourselves - sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \ - -i "${S}"/t/Makefile - - # Clean old results first, must always run - cd "${S}/t" - nonfatal git_emake clean - - # Now run the tests, keep going if we hit an error, and don't terminate on - # failure - cd "${S}" - einfo "Start test run" - #MAKEOPTS=-j1 - nonfatal git_emake --keep-going test - rc=$? - - # Display nice results, now print the results - cd "${S}/t" - nonfatal git_emake aggregate-results - - # And bail if there was a problem - [ $rc -eq 0 ] || die "tests failed. Please file a bug." -} - -showpkgdeps() { - local pkg=$1 - shift - elog " $(printf "%-17s:" ${pkg}) ${@}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - einfo "Please read /usr/share/bash-completion/git for Git bash command completion" - einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt" - einfo "Note that the prompt bash code is now in that separate script" - elog "These additional scripts need some dependencies:" - echo - showpkgdeps git-quiltimport "dev-util/quilt" - showpkgdeps git-instaweb \ - "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )" - echo - use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed." -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest index 2cf485661361..2f6a4daa6b41 100644 --- a/dev-vcs/subversion/Manifest +++ b/dev-vcs/subversion/Manifest @@ -1,4 +1,5 @@ AUX 47_mod_dav_svn.conf 422 BLAKE2B 505c5f7f5c2eba9951b1337d452fde8e2b51351d2af0a4e620e86ce95aa2520460b7e353e5465edc15dc284a17b0770806ba97bb91c3d4a8451f3818d49c8469 SHA512 05608aa7abca0ec55015232077db928453c92ccf8b595dd843ba13ed39703e01dcbe298c4ff57c638376679be9fea4b409e98953915b86dc6954e3e0de31b23d +AUX subversion-1.9.7-kf5.patch 9904 BLAKE2B 493c58c6567e2389bc9f33bb60981b22a2454c5bd5432bafcf33d9908f93cf93703fe106e1e3bb6c8d4227d3c8219c71c88f6af3f46846139d209749675e1e67 SHA512 9793c04d71b24e262d910f862b319842c0c819f71865d994351945ca2f15fef7f3a07c208c0b82ec50580b20d0732fe57f861842f03c44b4be9e7177f72e6354 AUX svnserve.confd 322 BLAKE2B 53eb3105691af05e4dde3451569f46621ed78a1ea7e7650b0735b973c0b6c5ff3f7ca0086f9bc852e499b1b9af82f4ee305c8553e114df50e468e9d70fd4655f SHA512 c84d96dad0deb40a04963654c5d0874697f2b270751b3ec41bec64847d61d9e88e336e2ee5da438a527b9d8b8b24d7ddbeacdd4bd4ce02db3629fc0972e0c289 AUX svnserve.initd3 575 BLAKE2B 4bc540dd8693c792fca8fd1061a49608ce7ee9a82d79fc43ab3f2f6eb6d1946dd8efb86e532df3576487ad9f49acdb3b9d95b804019d296fae0f757541957a95 SHA512 3efca4e5065cbe37f5137f3f67a0a654195e50ce0b00468f5edb1e5d476daa82422b1e833281d8edba111360b20d001a5991731e9f32bf3c88ffba75042e2b10 AUX svnserve.xinetd 332 BLAKE2B 95af871ddd83c405cd4072a8bb6293376383d5437562aa604a5eff8e0f34c8763056bf1ea92b11be4f4d4ac5af3fa191b24d4c2040c3a41458103015e24bf09e SHA512 80b486507d03f430e189ef65901ed185f487651400bada5709f544954eb6175d20a11cf98893f80ec963e434c5db5642bf9d1603d698ad8bbf96b88fa45ddbae @@ -6,5 +7,6 @@ DIST subversion-1.8.18-patchset.tar.bz2 7407 BLAKE2B dc3b6d80dfdf4c6cc30f1663c8c DIST subversion-1.8.18.tar.bz2 6884906 BLAKE2B 77c0f2e43cd6d69fb360adfea78b42e38ebbfeb6c8d3407a4cdec61e2310e690859247b760f0b67e7a02a0c6d73f0cd6fa77eceed7d4e11eb19e0f0a56e50fdc SHA512 48d596c442da34fa3eb4f0f8b10cc3d5d27841b2fc4e7a493cac8e6f4c722f63fcd67fe99dfac5bbe31ac405055072a304d9a6771974c9990927cb21c5eb31d0 DIST subversion-1.9.7.tar.bz2 7881909 BLAKE2B 004a180780e00f5af80e14586dee799bae07dccde7f240a51594590b1a084f3054b5b4d917d5e47e0b6ffb11097ecfb97fff490f6d31c0532f2aae8cd9d10031 SHA512 a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b EBUILD subversion-1.8.18.ebuild 15810 BLAKE2B 78d6d45a448b6c70b1d6813f23f607ecf79ec936959b8179ff793ea521550433555f4b498b5ea9f1bf4acded0302728dd561c24a4b7e715d0b29c28cdabc2753 SHA512 e50f0c552ac0b3e9654f70f89508ad4eb29e924430d156e18c3a2c88920a1317189be4d02f1b52f7693fc515c981b87e87dffdc20a9a1e5c7959d7289b51b7aa +EBUILD subversion-1.9.7-r1.ebuild 15825 BLAKE2B 4e3f6ade8603118dcd43d85eb1e1815c615fc46a22dc95398af3878fceae31ffa0ef441d90c3394ca5a0fce69cd4784eb75ccfe0567dce5fcf6ddf0ab5ef1ab8 SHA512 98e42935f750c81e6c7baf4653386c2c186acec75919b5dd9abd5db725c7d9e1dc61dc8e6b1261bb2889ed25f6746f471505f5430af8cddfb27f8db7719128ef EBUILD subversion-1.9.7.ebuild 15687 BLAKE2B 60f9339a3829dd420f15d87a2b3a8673b5bf800b02a33fe70bc5a1c1d01bc79d97a7c8b0102f004288cd8a78ea83c05839a3c6397e3e9283f7bd9acbd0e702b9 SHA512 949dd71c2f252b82f505fd2a1146cc6b89d22865c49c4155e37aab286111f41a07c9b2caa1f1fe042d87abcfcd3bcd1a77528b16379bdc67c62eb604f044a3c9 MISC metadata.xml 659 BLAKE2B 645c4601d97faa216c2b75f48c2202f011ba17611ae68f3d572584b4608e1d5b7ef2db5cfdb78d0aafffce51519f65a4945979e3da9c57b03a2c3f08552e74c8 SHA512 2a2f10c5500540ae1bdd49d80d9689c14a79772d93b689db01e0cd1d63a729b86a7b28974492ee08d6433495c61d5a493590c4c60d843afc881c54d574369313 diff --git a/dev-vcs/subversion/files/subversion-1.9.7-kf5.patch b/dev-vcs/subversion/files/subversion-1.9.7-kf5.patch new file mode 100644 index 000000000000..5b692fa30668 --- /dev/null +++ b/dev-vcs/subversion/files/subversion-1.9.7-kf5.patch @@ -0,0 +1,211 @@ +diff -u b/subversion/libsvn_auth_kwallet/kwallet.cpp b/subversion/libsvn_auth_kwallet/kwallet.cpp +--- b/subversion/libsvn_auth_kwallet/kwallet.cpp (revision 1798731) ++++ b/subversion/libsvn_auth_kwallet/kwallet.cpp 2018-01-18 16:48:52.026801597 +0100 +@@ -39,8 +39,6 @@ + #include + + #include +-#include +-#include + #include + #include + +@@ -221,14 +219,15 @@ + app = new QCoreApplication(argc, q_argv); + } + +- KCmdLineArgs::init(q_argc, q_argv, +- get_application_name(parameters, pool), +- "subversion", +- ki18n(get_application_name(parameters, pool)), +- SVN_VER_NUMBER, +- ki18n("Version control system"), +- KCmdLineArgs::CmdLineArgKDE); +- KComponentData component_data(KCmdLineArgs::aboutData()); ++ KLocalizedString::setApplicationDomain("subversion"); /* translation domain */ ++ ++ /* componentName appears in KDE GUI prompts */ ++ KAboutData aboutData(QStringLiteral("subversion"), /* componentName */ ++ i18n(get_application_name(parameters, ++ pool)), /* displayName */ ++ QStringLiteral(SVN_VER_NUMBER)); ++ KAboutData::setApplicationData(aboutData); ++ + QString folder = QString::fromUtf8("Subversion"); + QString key = + QString::fromUtf8(username) + "@" + QString::fromUtf8(realmstring); +@@ -291,14 +290,15 @@ + app = new QCoreApplication(argc, q_argv); + } + +- KCmdLineArgs::init(q_argc, q_argv, +- get_application_name(parameters, pool), +- "subversion", +- ki18n(get_application_name(parameters, pool)), +- SVN_VER_NUMBER, +- ki18n("Version control system"), +- KCmdLineArgs::CmdLineArgKDE); +- KComponentData component_data(KCmdLineArgs::aboutData()); ++ KLocalizedString::setApplicationDomain("subversion"); /* translation domain */ ++ ++ /* componentName appears in KDE GUI prompts */ ++ KAboutData aboutData(QStringLiteral("subversion"), /* componentName */ ++ i18n(get_application_name(parameters, ++ pool)), /* displayName */ ++ QStringLiteral(SVN_VER_NUMBER)); ++ KAboutData::setApplicationData(aboutData); ++ + QString q_password = QString::fromUtf8(password); + QString folder = QString::fromUtf8("Subversion"); + KWallet::Wallet *wallet = get_wallet(wallet_name, parameters); +unchanged: +--- a/build/ac-macros/compiler.m4 (revision 1798730) ++++ b/build/ac-macros/compiler.m4 (revision 1798731) +@@ -126,3 +126,18 @@ + SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option]) + fi + ]) ++ ++dnl The KWallet provider needs to use C++11 mode when using KDE 5 ++AC_DEFUN([SVN_CXX_MODE_SETUP11], ++[ ++ CXXFLAGS_KEEP="$CXXFLAGS" ++ CXXFLAGS="" ++ ++ if test "$GXX" = "yes"; then ++ SVN_CXXFLAGS_ADD_IFELSE([-std=c++11]) ++ fi ++ ++ CXXMODEFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS_KEEP" ++ AC_SUBST(CXXMODEFLAGS) ++]) +unchanged: +--- a/build/ac-macros/kwallet.m4 (revision 1798730) ++++ b/build/ac-macros/kwallet.m4 (revision 1802646) +@@ -25,8 +25,10 @@ + AC_DEFUN(SVN_LIB_KWALLET, + [ + AC_ARG_WITH(kwallet, +- [AS_HELP_STRING([[--with-kwallet[=PATH]]], +- [Enable use of KWallet (KDE 4) for auth credentials])], ++ [AS_HELP_STRING([[--with-kwallet[=PATH|INCDIR:LIBDIR]]], ++ [Enable use of KWallet (KDE 5 or 4) for auth credentials. ++ PATH is the KDE install path, alternatively INCDIR:LIBDIR ++ are the header and library install paths. ])], + [svn_lib_kwallet="$withval"], + [svn_lib_kwallet=no]) + +@@ -42,40 +44,70 @@ + if test "$APR_HAS_DSO" = "yes"; then + if test -n "$PKG_CONFIG"; then + if test "$HAVE_DBUS" = "yes"; then +- AC_MSG_CHECKING([for QtCore, QtDBus, QtGui]) +- if $PKG_CONFIG --exists QtCore QtDBus QtGui; then +- AC_MSG_RESULT([yes]) ++ AC_MSG_CHECKING([for Qt]) ++ if $PKG_CONFIG --exists Qt5Core Qt5DBus Qt5Gui; then ++ AC_MSG_RESULT([yes, Qt5]) ++ qt_pkg_config_names="Qt5Core Qt5DBus Qt5Gui" ++ kde_config_name="kf5-config" ++ kde_inc_names="KF5/KWallet KF5/KCoreAddons KF5/KI18n" ++ kde_lib_names="-lKF5Wallet -lKF5I18n -lKF5CoreAddons -lQt5Gui -lQt5DBus -lQt5Core" ++ elif $PKG_CONFIG --exists QtCore QtDBus QtGui; then ++ AC_MSG_RESULT([yes, Qt4]) ++ qt_pkg_config_names="QtCore QtDBus QtGui" ++ kde_config_name="kde4-config" ++ kde_inc_names="/" ++ kde_lib_names="-lkdeui -lkdecore -lQtGui -lQtDBus -lQtCore" ++ fi ++ if test -n "$qt_pkg_config_names"; then + if test "$svn_lib_kwallet" != "yes"; then +- AC_MSG_CHECKING([for kde4-config]) +- KDE4_CONFIG="$svn_lib_kwallet/bin/kde4-config" +- if test -f "$KDE4_CONFIG" && test -x "$KDE4_CONFIG"; then ++ AC_MSG_CHECKING([for $kde_config_name]) ++ KDE_CONFIG="$svn_lib_kwallet/bin/$kde_config_name" ++ if test -f "$KDE_CONFIG" && test -x "$KDE_CONFIG"; then + AC_MSG_RESULT([yes]) + else +- KDE4_CONFIG="" +- AC_MSG_RESULT([no]) ++ if echo "$svn_lib_kwallet" | $EGREP ":" > /dev/null; then ++ AC_MSG_RESULT([unneeded]) ++ KDE_CONFIG="unneeded" ++ kde_incdir=["`echo "$svn_lib_kwallet" | $SED -e "s/:.*//"`"] ++ kde_libdir=["`echo "$svn_lib_kwallet" | $SED -e "s/.*://"`"] ++ else ++ AC_MSG_RESULT([no]) ++ KDE_CONFIG="" ++ fi + fi + else +- AC_PATH_PROG(KDE4_CONFIG, kde4-config) ++ AC_PATH_PROG(KDE_CONFIG, $kde_config_name) ++ if test -n "$KDE_CONFIG"; then ++ kde_incdir="`$KDE_CONFIG --install include`" ++ kde_libdir="`$KDE_CONFIG --install lib`" ++ fi + fi +- if test -n "$KDE4_CONFIG"; then +- AC_MSG_CHECKING([for KWallet]) ++ if test -n "$KDE_CONFIG"; then ++ if test $kde_config_name = "kf5-config"; then ++ dnl KF5 does not compile with -std=c++98 ++ SVN_CXX_MODE_SETUP11 ++ fi + old_CXXFLAGS="$CXXFLAGS" + old_LDFLAGS="$LDFLAGS" + old_LIBS="$LIBS" +- for d in [`$PKG_CONFIG --cflags QtCore QtDBus QtGui`]; do ++ dnl --std=c++11 may be required ++ CXXFLAGS="$CXXFLAGS $CXXMODEFLAGS" ++ AC_MSG_CHECKING([for KWallet]) ++ for d in [`$PKG_CONFIG --cflags $qt_pkg_config_names`]; do + if test -n ["`echo "$d" | $EGREP -- '^-D[^[:space:]]*'`"]; then + CPPFLAGS="$CPPFLAGS $d" + fi + done +- qt_include_dirs="`$PKG_CONFIG --cflags-only-I QtCore QtDBus QtGui`" +- kde_incdir="`$KDE4_CONFIG --install include`" +- SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_incdir" +- qt_libs_other_options="`$PKG_CONFIG --libs-only-other QtCore QtDBus QtGui`" +- SVN_KWALLET_LIBS="$DBUS_LIBS -lQtCore -lQtDBus -lQtGui -lkdecore -lkdeui $qt_libs_other_options" +- CXXFLAGS="$CXXFLAGS $SVN_KWALLET_INCLUDES" ++ qt_include_dirs="`$PKG_CONFIG --cflags-only-I $qt_pkg_config_names`" ++ for kde_inc_name in $kde_inc_names; do ++ kde_kwallet_includes="$kde_kwallet_includes -I$kde_incdir/$kde_inc_name" ++ done ++ SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs $kde_kwallet_includes" ++ qt_libs_other_options="`$PKG_CONFIG --libs-only-other $qt_pkg_config_names`" ++ SVN_KWALLET_LIBS="$DBUS_LIBS $kde_lib_names $qt_libs_other_options" ++ CXXFLAGS="$CXXFLAGS $SVN_KWALLET_INCLUDES -fPIC" + LIBS="$LIBS $SVN_KWALLET_LIBS" +- qt_lib_dirs="`$PKG_CONFIG --libs-only-L QtCore QtDBus QtGui`" +- kde_libdir="`$KDE4_CONFIG --install lib`" ++ qt_lib_dirs="`$PKG_CONFIG --libs-only-L $qt_pkg_config_names`" + LDFLAGS="$old_LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS($qt_lib_dirs -L$kde_libdir)`" + AC_LANG(C++) + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +@@ -87,16 +119,19 @@ + AC_MSG_RESULT([yes]) + CXXFLAGS="$old_CXXFLAGS" + LIBS="$old_LIBS" ++ if test "$kde_config_name" = "kf5-config"; then ++ AC_DEFINE([SVN_HAVE_KF5], [1], [Defined if KF5 available]) ++ fi + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot find KWallet]) + fi + else +- AC_MSG_ERROR([cannot find kde4-config]) ++ AC_MSG_ERROR([cannot find $kde_config_name]) + fi + else + AC_MSG_RESULT([no]) +- AC_MSG_ERROR([cannot find QtCore, QtDBus, QtGui]) ++ AC_MSG_ERROR([cannot find Qt]) + fi + else + AC_MSG_ERROR([cannot find D-Bus]) diff --git a/dev-vcs/subversion/subversion-1.9.7-r1.ebuild b/dev-vcs/subversion/subversion-1.9.7-r1.ebuild new file mode 100644 index 000000000000..2568bd057b94 --- /dev/null +++ b/dev-vcs/subversion/subversion-1.9.7-r1.ebuild @@ -0,0 +1,526 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +USE_RUBY="ruby23 ruby22 ruby21" +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common eutils flag-o-matic java-pkg-opt-2 libtool multilib perl-module ruby-single xdg-utils + +MY_P="${P/_/-}" +DESCRIPTION="Advanced version control system" +HOMEPAGE="https://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/${PN}-1.8.18-patchset.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 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~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 kwallet nls perl python ruby sasl test vim-syntax" + +COMMON_DEPEND=" + app-arch/bzip2 + >=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 + berkdb? ( >=sys-libs/db-4.0.14:= ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( + dev-libs/glib:2 + gnome-base/libgnome-keyring + sys-apps/dbus + ) + http? ( >=net-libs/serf-1.3.4 ) + kwallet? ( + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + kde-frameworks/kcoreaddons:5 + kde-frameworks/ki18n:5 + kde-frameworks/kwallet:5 + sys-apps/dbus + ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + ruby? ( ${RUBY_DEPS} ) + sasl? ( dev-libs/cyrus-sasl )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + !!=virtual/jdk-1.5 ) + kwallet? ( + kde-frameworks/kdelibs4support:5 + 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 + )" + +PATCHES=( + "${WORKDIR}"/${PN}-1.8.18-patchset/${PN}-1.5.4-interix.patch + "${WORKDIR}"/${PN}-1.8.18-patchset/${PN}-1.5.6-aix-dso.patch + "${WORKDIR}"/${PN}-1.8.18-patchset/${PN}-1.8.0-hpux-dso.patch + "${WORKDIR}"/${PN}-1.8.18-patchset/${PN}-fix-parallel-build-support-for-perl-bindings.patch + "${WORKDIR}"/${PN}-1.8.18-patchset/${PN}-1.8.1-revert_bdb6check.patch + "${WORKDIR}"/${PN}-1.8.18-patchset/${PN}-1.8.16-javadoc-nolint.patch + "${FILESDIR}"/${P}-kf5.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 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}" + + if use ruby ; then + local rbslot + RB_VER="" + for rbslot in $(sed 's@\([[:digit:]]\+\)\([[:digit:]]\)@\1.\2@g' <<< ${USE_RUBY//ruby}) ; do + if has_version dev-lang/ruby:${rbslot} ; then + RB_VER="${rbslot/.}" + break + fi + done + [[ -z "${RB_VER}" ]] && die "No useable ruby version found" + fi +} + +src_prepare() { + default + + 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 + + xdg_environment_reset +} + +src_configure() { + local myconf=( + --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 kwallet) + $(use_enable nls) + $(use_with sasl) + $(use_with http serf) + --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 + ) + + 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 + ;; + *-cygwin*) + # no LD_PRELOAD support, no undefined symbols + myconf+=( --disable-local-library-preloading LT_LDFLAGS=-no-undefined ) + ;; + *-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_setup + 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 + + # allow overriding Python include directory + ac_cv_path_RUBY=$(usex ruby "${EPREFIX%/}/usr/bin/ruby${RB_VER}" "none") \ + ac_cv_path_RDOC=$(usex ruby "${EPREFIX%/}/usr/bin/rdoc${RB_VER}" "none") \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf "${myconf[@]}" +} + +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 + docinto html + dodoc -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 +} -- cgit v1.2.3