void-packages/srcpkgs/subversion/template

191 lines
6.1 KiB
Bash

# Template file for 'subversion'
#
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/subversion-kwallet-auth".
#
pkgname=subversion
version=1.14.2
revision=5
build_style=gnu-configure
configure_args="--disable-javahl --disable-static --config-cache
--with-gnome-keyring --with-editor=vi --disable-mod-activation
--with-utf8proc=internal"
hostmakedepends="automake libtool pkg-config perl python3
apache-devel gettext swig"
makedepends="apache-devel gdbm-devel libgnome-keyring-devel serf-devel
libsecret-devel liblz4-devel python3-devel sqlite-devel py3c
file-devel perl"
depends="ca-certificates"
short_desc="Enterprise-class centralized version control for the masses"
maintainer="Piotr Wójcik <chocimier@tlen.pl>"
license="Apache-2.0, BSD-3-Clause"
homepage="http://subversion.apache.org/"
changelog="https://subversion.apache.org/docs/release-notes/${version%.*}.html"
distfiles="https://archive.apache.org/dist/subversion/subversion-${version}.tar.bz2"
checksum=c9130e8d0b75728a66f0e7038fc77052e671830d785b5616aad53b4810d3cc28
pre_configure() {
./autogen.sh --release
# Based on native build values
cat <<-EOF >config.cache
ac_cv_python_includes=-I${XBPS_CROSS_BASE}/usr/include/python${py3_ver}
ac_cv_python_compile="${CC} -fPIC"
ac_cv_python_link="${CC} -shared ${LDFLAGS}"
ac_cv_python_libs="${LDFLAGS}"
EOF
if [ "$CROSS_BUILD" ]; then
cp -a ${XBPS_CROSS_BASE}/usr/bin/apxs ${wrksrc}
cp -a ${XBPS_CROSS_BASE}/usr/share/apache/webroot/build/config_vars.mk ${wrksrc}
# Use the modified apxs
configure_args+=" --with-apxs=${wrksrc}/apxs"
# Use the ${wrksrc}/config_vars.mk
vsed -i apxs \
-e "s;[$]installbuilddir/config_vars.mk;${wrksrc}/config_vars.mk;g"
# Use apr-1-config and apu-1-config wrappers
vsed -i config_vars.mk \
-e "/^APR_CONFIG/ s;=.*;= ${XBPS_WRAPPERDIR}/apr-1-config;" \
-e "/^APU_CONFIG/ s;=.*;= ${XBPS_WRAPPERDIR}/apu-1-config;" \
-e "s;\([I ]\)/usr/include;\1${XBPS_CROSS_BASE}/usr/include;g"
export PERL5LIB=${XBPS_STATEDIR}/perlprefix/${XBPS_TARGET_MACHINE}-linux
mkdir -p $PERL5LIB
cp "$XBPS_CROSS_BASE/usr/lib/perl5/core_perl/Config"*.p? $PERL5LIB
cp "$XBPS_CROSS_BASE/usr/lib/perl5/core_perl/Errno.pm" $PERL5LIB
vsed -e "s;archlibexp => '\(.*\)';archlibexp => '${XBPS_CROSS_BASE}\1';" \
-i $PERL5LIB/Config.pm
vsed -e "s;archlibexp='\(.*\)';archlibexp='${XBPS_CROSS_BASE}\1';" \
-i $PERL5LIB/Config_heavy.pl
else
configure_args+=" --with-apxs"
fi
if [ "$XBPS_BUILD_ENVIRONMENT" = "void-packages-ci" ]; then
# This test will fail when run as the root user,
# because flock() will ignore file permissions.
vsed -i subversion/tests/libsvn_fs/locks-test.c -e '/SVN_TEST_OPTS_PASS(obtain_write_lock_failure,/,+3d'
fi
}
post_configure() {
if [ "$CROSS_BUILD" ]; then
cd subversion/bindings/swig/perl/native
PERL_MM_USE_DEFAULT=1 CC="$CC" LD="$CC" OPTIMIZE="$CFLAGS" \
CFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/usr/include" \
CCFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/usr/include" \
LDFLAGS="$LDFLAGS -L$XBPS_CROSS_BASE/usr/lib -lperl" \
LDDLFLAGS="-shared $CFLAGS -L$XBPS_CROSS_BASE/usr/lib" \
INSTALLDIRS=vendor \
perl Makefile.PL PREFIX=/usr
fi
}
do_build() {
make ${makejobs} LT_LDFLAGS="-L$Fdestdir/usr/lib"
make ${makejobs} \
swig_pydir=${XBPS_CROSS_BASE}/usr/lib/python$py3_ver/site-packages/libsvn \
swig_pydir_extra=${XBPS_CROSS_BASE}/usr/lib/python$py3_ver/site-packages/svn \
swig-py
make ${makejobs} INSTALLDIRS=vendor \
PERL_MM_USE_DEFAULT=1 CC="$CC" LD="$CC" OPTIMIZE="$CFLAGS" \
CFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/usr/include" \
CCFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/usr/include" \
LDFLAGS="$LDFLAGS -L$XBPS_CROSS_BASE/usr/lib -lperl" \
LDDLFLAGS="-shared $CFLAGS -L$XBPS_CROSS_BASE/usr/lib" \
swig-pl
}
do_install() {
export LD_LIBRARY_PATH=${DESTDIR}/usr/lib:$LD_LIBRARY_PATH
make DESTDIR=${DESTDIR} INSTALLDIRS=vendor install
make DESTDIR=${DESTDIR} INSTALLDIRS=vendor \
swig_pydir=${XBPS_CROSS_BASE}/usr/lib/python$py3_ver/site-packages/libsvn \
swig_pydir_extra=${XBPS_CROSS_BASE}/usr/lib/python$py3_ver/site-packages/svn \
install-swig-py
make DESTDIR=${DESTDIR} INSTALLDIRS=vendor \
PERL_MM_USE_DEFAULT=1 CC="$CC" LD="$CC" OPTIMIZE="$CFLAGS" \
CFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/usr/include" \
CCFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/usr/include" \
LDFLAGS="$LDFLAGS -L$XBPS_CROSS_BASE/usr/lib -lperl" \
LDDLFLAGS="-shared $CFLAGS -L$XBPS_CROSS_BASE/usr/lib" \
install-swig-pl
rm -rf ${DESTDIR}/usr/lib/perl5/core_perl
vmkdir usr/share/subversion
install -d -m755 tools/hook-scripts ${DESTDIR}/usr/share/subversion/
rm -f ${DESTDIR}/usr/share/subversion/hook-scripts/*.in
install -Dm644 tools/client-side/bash_completion \
${DESTDIR}/usr/share/bash-completion/completions/subversion
for i in svn svnadmin svndumpfilter svnlook svnsync svnversion; do
ln -sf subversion ${DESTDIR}/usr/share/bash-completion/completions/${i}
done
vsv svnserve
vlicense LICENSE
}
libsvn_package() {
short_desc+=" - shared libraries"
pkg_install() {
vmove "usr/lib/libsvn_ra*.so.*"
vmove "usr/lib/libsvn_fs*.so.*"
vmove "usr/lib/libsvn_subr*.so.*"
vmove "usr/lib/libsvn_wc*.so.*"
vmove "usr/lib/libsvn_delta*.so.*"
vmove "usr/lib/libsvn_diff*.so.*"
vmove "usr/lib/libsvn_repos*.so.*"
vmove "usr/lib/libsvn_client*.so.*"
}
}
subversion-apache_package() {
short_desc+=" - apache httpd modules"
pkg_install() {
vmove usr/libexec
}
}
subversion-devel_package() {
depends="libsvn>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.so"
vmove usr/share/pkgconfig
}
}
subversion-gnome-keyring-auth_package() {
lib32disabled=yes
short_desc+=" - gnome-keyring authentication support"
pkg_install() {
vmove "usr/lib/libsvn_auth_gnome_keyring*"
}
}
subversion-python_package() {
lib32disabled=yes
depends="python3"
short_desc+=" - python bindings"
pkg_install() {
vmove "usr/lib/libsvn_swig_py*"
vmove "usr/lib/python*"
}
}
subversion-perl_package() {
lib32disabled=yes
depends="perl"
short_desc+=" - perl bindings"
pkg_install() {
vmove "usr/lib/libsvn_swig_perl*"
vmove usr/lib/perl5
vmove usr/share/man/man3
}
}