aboutsummaryrefslogtreecommitdiffstats
path: root/main/subversion/APKBUILD
blob: e230b577efa216fe9a17e786c2866d21740bfa69 (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
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=subversion
pkgver=1.12.2
pkgrel=0
pkgdesc="Replacement for CVS, another versioning system (svn)"
url="https://subversion.apache.org/"
arch="all"
license="Apache-2.0 BSD"
depends=
makedepends="apache2-dev apr-util-dev autoconf automake e2fsprogs-dev libtool
	lz4-dev neon-dev perl-dev python2-dev serf-dev swig"
install="$pkgname.pre-install"
subpackages="$pkgname-dev $pkgname-doc mod_dav_svn
	$pkgname-bash-completion:bashcomp:noarch
	perl-$pkgname:pl py-$pkgname:py $pkgname-libs"
source="https://archive.apache.org/dist/subversion/$pkgname-$pkgver.tar.bz2
	subversion-1.7.0-deplibs.patch
	subversion-perl-deplibs.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
	LIBTOOL_CONFIG=/usr/share/libtool/build-aux ./autogen.sh
}

build() {
	cd "$builddir"
	unset CPPFLAGS
	./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
}

check() {
	cd "$builddir"
	make test
}

package() {
	cd "$builddir"
	make -j1 DESTDIR="$pkgdir" 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
}

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* "$subpkgdir"/usr/lib/
	pypath=`python2 -c 'import os; print os.path.dirname(os.__file__)'`
	mv "$pkgdir"/usr/lib/*py* "${subpkgdir}${pypath}"
}

sha512sums="b1f859b460afa54598778d8633f648acb4fa46138f7d6f0c1451e3c6a1de71df859233cd9ac7f19f0f20d7237ed3988f0a38da7552ffa58391e19d957bc7c136  subversion-1.12.2.tar.bz2
fb219c45b80602d919176cc191394df09f90d0f5c7d24e6a36b166bd92777ecae67eeac1e49c0ffbb0e724396b3d2094dbb0bef17d01dc87d418b1cd554bd7c4  subversion-1.7.0-deplibs.patch
fd6e5f45cff4d3cf0d885a34c822b32141b13b199d99ad8e1b04d641c9c1ee27e73f5c556a4ad54a900b6d39cc14afad17b6738d8af44c76758f1a27b4d49f9a  subversion-perl-deplibs.patch
7fe993443d4d3ef5e1e75f60e85036ee0b2bb2636c2c830210e64f525f95ae4c10ca1dc4504fc36915ec9391815becbe7cbf5f589c28609386d8d079ed02c630  svnserve.confd
f6392193cc65aaceee9b6e5e66f80af4b095ba4007e8536e8b1c4e8b2c75610d7f5596b83e5edd504672f021c074887fc6464cf4fc1dfe9446741105f11cd855  svnserve.initd"