# Contributor: Ɓukasz Jendrysik # Maintainer: Natanael Copa pkgname=subversion pkgver=1.13.0 pkgrel=2 pkgdesc="Replacement for CVS, another versioning system (svn)" url="https://subversion.apache.org/" arch="all" license="Apache-2.0 BSD" makedepends="apache2-dev apr-util-dev autoconf automake e2fsprogs-dev libtool lz4-dev neon-dev perl-dev python3-dev serf-dev swig boost-dev" install="$pkgname.pre-install" subpackages="$pkgname-dev $pkgname-doc mod_dav_svn $pkgname-bash-completion:bashcomp:noarch perl-$pkgname:pl py3-$pkgname:py $pkgname-libs $pkgname-openrc" source="https://archive.apache.org/dist/subversion/$pkgname-$pkgver.tar.bz2 subversion-1.7.0-deplibs.patch subversion-perl-deplibs.patch subversion-1.12.0-linking.patch svnserve.confd svnserve.initd" # secfixes: # 1.12.2-r0: # - CVE-2019-0203 # - CVE-2018-11782 # 1.11.1-r0: # - CVE-2018-11803 # 1.9.7-r0: # - CVE-2017-9800 prepare() { default_prepare mv build-outputs.mk build-outputs.mk.old PYTHON=python3 LIBTOOL_CONFIG=/usr/share/libtool/build-aux ./autogen.sh --release # fix shebangs sed -i -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in sed -e 's|/usr/bin/env python.*|/usr/bin/python3|' subversion/tests/cmdline/svneditor.py } build() { local _pydir=$(python3 -c "import sysconfig;print(sysconfig.get_path('stdlib'))") unset CPPFLAGS export PYTHON=python3 ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --disable-nls \ --with-apxs \ --with-apache-libexecdir \ --with-swig \ --disable-javahl \ --disable-static \ --enable-disallowing-of-undefined-references \ --without-jdk \ --with-serf \ --with-utf8proc=internal make all make swig-pl-lib (cd subversion/bindings/swig/perl/native ; perl Makefile.PL) # need override LD_RUN_PATH with something valid, otherwise we get # empty rpath which is not a good idea. make -j1 -C subversion/bindings/swig/perl/native \ LD_RUN_PATH="/usr/lib" EXTRALIBS="-lapr-1" # SWIG 3.x does not support Python comments grep -Ev "^ +#" subversion/bindings/swig/include/proxy.swg > \ subversion/bindings/swig/include/proxy.swg.tmp mv subversion/bindings/swig/include/proxy.swg.tmp \ subversion/bindings/swig/include/proxy.swg make swig-py swig-py-lib \ swig_pydir="$_pydir/libsvn"\ swig_pydir_extra="$_pydir/svn" } check() { make test } package() { local _pydir=$(python3 -c "import sysconfig;print(sysconfig.get_path('stdlib'))") make -j1 DESTDIR="$pkgdir" \ swig_pydir="$_pydir/libsvn"\ swig_pydir_extra="$_pydir/svn" \ install install-swig-pl-lib install-swig-py make pure_vendor_install -C subversion/bindings/swig/perl/native \ PERL_INSTALL_ROOT="$pkgdir" find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete install -Dm755 "$srcdir"/svnserve.initd "$pkgdir"/etc/init.d/svnserve install -Dm644 "$srcdir"/svnserve.confd "$pkgdir"/etc/conf.d/svnserve mkdir -p "pkgdir"/usr/lib mv "$pkgdir"/usr/share/pkgconfig "$pkgdir"/usr/lib } mod_dav_svn() { pkgdesc="Apache httpd module for $pkgname server" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/apache2 "$subpkgdir"/usr/lib/ } bashcomp() { depends="" pkgdesc="Bash completion for $pkgname" install_if="$pkgname=$pkgver-r$pkgrel bash-completion" install -Dm644 "$builddir"/tools/client-side/bash_completion \ "$subpkgdir"/usr/share/bash-completion/completions/$pkgname cd "$subpkgdir"/usr/share/bash-completion/completions local i; for i in svn svnadmin svndumpfilter svnlook svnsync svnversion; do ln -sf $pkgname $i done } pl() { pkgdesc="Perl bindings to $pkgname" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/*perl* "$subpkgdir"/usr/lib/ } py() { pkgdesc="Python bindings to $pkgname" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/lib*swig*py* \ "$pkgdir"/usr/lib/python* \ "$subpkgdir"/usr/lib/ } sha512sums="36f390b412bf772bf894efc2aadc247f12ca30ac407e04f664c14411c3519e1bb242d1239f2f44cbcb86eafc7c413efc8eadbfe1d1e75118235a7b7adc6c85b2 subversion-1.13.0.tar.bz2 fb219c45b80602d919176cc191394df09f90d0f5c7d24e6a36b166bd92777ecae67eeac1e49c0ffbb0e724396b3d2094dbb0bef17d01dc87d418b1cd554bd7c4 subversion-1.7.0-deplibs.patch fd6e5f45cff4d3cf0d885a34c822b32141b13b199d99ad8e1b04d641c9c1ee27e73f5c556a4ad54a900b6d39cc14afad17b6738d8af44c76758f1a27b4d49f9a subversion-perl-deplibs.patch 7d46f2ee0bbba53b6dc9312b35000b1433a46edb09f61030da1ff66951bc204fc90598e5b07ce2554d46508d5a9e8193152131ae21050901c7b40cb034fb5cc3 subversion-1.12.0-linking.patch 7fe993443d4d3ef5e1e75f60e85036ee0b2bb2636c2c830210e64f525f95ae4c10ca1dc4504fc36915ec9391815becbe7cbf5f589c28609386d8d079ed02c630 svnserve.confd f6392193cc65aaceee9b6e5e66f80af4b095ba4007e8536e8b1c4e8b2c75610d7f5596b83e5edd504672f021c074887fc6464cf4fc1dfe9446741105f11cd855 svnserve.initd"