2023-07-03 18:51:58 +02:00

174 lines
5.0 KiB
Plaintext

# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=subversion
pkgver=1.14.2
pkgrel=12
_py3c_ver=1.4
pkgdesc="Replacement for CVS, another versioning system (svn)"
url="https://subversion.apache.org/"
arch="all"
license="Apache-2.0 AND BSD-2-Clause"
makedepends="
apache2-dev
apr-util-dev
autoconf
automake
boost-dev
e2fsprogs-dev
libtool
lz4-dev
neon-dev
perl-dev
python3-dev
serf-dev
swig
"
install="$pkgname.pre-install"
subpackages="
$pkgname-dev
$pkgname-doc
mod_dav_svn
$pkgname-bash-completion:bashcomp:noarch
perl-$pkgname:pl
py3-$pkgname-pyc
py3-$pkgname:py
$pkgname-libs
$pkgname-openrc
$pkgname-tools
"
source="https://archive.apache.org/dist/subversion/subversion-$pkgver.tar.bz2
py3c-$_py3c_ver.tar.gz::https://github.com/encukou/py3c/archive/v$_py3c_ver.tar.gz
subversion-1.7.0-deplibs.patch
subversion-perl-deplibs.patch
subversion-1.12.0-linking.patch
svnserve.confd
svnserve.initd
"
# secfixes:
# 1.14.2-r0:
# - CVE-2021-28544
# - CVE-2022-24070
# 1.14.1-r0:
# - CVE-2020-17525
# 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
}
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-py3c=../py3c-$_py3c_ver \
--with-swig \
--disable-javahl \
--disable-static \
--enable-disallowing-of-undefined-references \
--without-jdk \
--with-serf \
--with-utf8proc=internal
make all swig-pl-lib tools
(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" \
toolsdir=/usr/bin \
install install-swig-pl-lib install-swig-py install-tools
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
install -Dm644 tools/client-side/bash_completion \
"$pkgdir"/usr/share/bash-completion/completions/$pkgname
cd "$pkgdir"/usr/share/bash-completion/completions
local i; for i in svn svnadmin svndumpfilter svnlook svnsync svnversion; do
ln -sf $pkgname $i
done
}
mod_dav_svn() {
pkgdesc="Apache httpd module for $pkgname server"
amove usr/lib/apache2
}
pl() {
pkgdesc="Perl bindings to $pkgname"
amove usr/lib/*perl*
}
py() {
pkgdesc="Python bindings to $pkgname"
amove usr/lib/lib*swig*py*
amove usr/lib/python*
}
tools() {
pkgdesc="extra tools for subversion"
# this is the list from install-tools into toolsdir
amove usr/bin/diff* \
usr/bin/fsfs-* \
usr/bin/svn-* \
usr/bin/svnauthz* \
usr/bin/svnconflict \
usr/bin/svnmover \
usr/bin/svnraisetreeconflict \
usr/bin/x509-parser
}
sha512sums="
20ada4688ca07d9fb8da4b7d53b5084568652a3b9418c65e688886bae950a16a3ff37710fcfc9c29ef14a89e75b2ceec4e9cf35d5876a7896ebc2b512cfb9ecc subversion-1.14.2.tar.bz2
db71db2c19a16ba5a430b676beb357faee5b67b161478932af13dd06be23b5505da85dbaf5b2447f95590fea55b833ee33fa19d3350ba3117f3364a9ab012ee6 py3c-1.4.tar.gz
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
"