blob: a7143bcb7993f4041990d91b6ac13dbd3f72a99d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=subversion
pkgver=1.14.2
pkgrel=5
_py3c_ver=1.4
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/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
# 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-py3c=../py3c-$_py3c_ver \
--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="
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
"
|