subversion: cross compile

Close: #18699
This commit is contained in:
Đoàn Trần Công Danh 2020-02-06 18:17:11 +07:00 committed by Jürgen Buchmüller
parent 4389c8a6a6
commit 1981c33b43
2 changed files with 102 additions and 11 deletions

View file

@ -0,0 +1,26 @@
--- Makefile.in
+++ Makefile.in
@@ -56,8 +56,6 @@
SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@
SVN_LZ4_LIBS = @SVN_LZ4_LIBS@
SVN_UTF8PROC_LIBS = @SVN_UTF8PROC_LIBS@
-SVN_MACOS_PLIST_LIBS = @SVN_MACOS_PLIST_LIBS@
-SVN_MACOS_KEYCHAIN_LIBS = @SVN_MACOS_KEYCHAIN_LIBS@
LIBS = @LIBS@
--- configure.ac
+++ configure.ac
@@ -479,12 +479,6 @@
[Defined if Cyrus SASL v2 is present on the system])
fi
-dnl Mac OS specific features -------------------
-
-SVN_LIB_MACHO_ITERATE
-SVN_LIB_MACOS_PLIST
-SVN_LIB_MACOS_KEYCHAIN
-
dnl APR_HAS_DSO -------------------
AC_MSG_CHECKING([whether APR has support for DSOs])

View file

@ -3,12 +3,14 @@ pkgname=subversion
version=1.13.0
revision=1
build_style=gnu-configure
configure_args="--with-apxs --disable-javahl --disable-static --with-kwallet
configure_args="--disable-javahl --disable-static --config-cache
--with-kwallet=${XBPS_CROSS_BASE}/usr/include:${XBPS_CROSS_BASE}/usr/lib
--with-gnome-keyring --with-editor=vi --disable-mod-activation
--with-utf8proc=internal"
hostmakedepends="pkg-config"
hostmakedepends="automake libtool pkg-config perl python apache-devel gettext"
makedepends="apache-devel gdbm-devel libgnome-keyring-devel serf-devel
libsecret-devel liblz4-devel python-devel sqlite-devel swig kdelibs4support-devel"
libsecret-devel liblz4-devel python-devel sqlite-devel swig
kdelibs4support-devel file-devel perl"
depends="ca-certificates"
short_desc="Enterprise-class centralized version control for the masses"
maintainer="Orphaned <orphan@voidlinux.org>"
@ -16,22 +18,86 @@ license="Apache-2.0, BSD-3-Clause"
homepage="http://subversion.apache.org/"
distfiles="http://apache.uvigo.es/subversion/subversion-${version}.tar.bz2"
checksum=bc50ce2c3faa7b1ae9103c432017df98dfd989c4239f9f8270bb3a314ed9e5bd
nocross="serf-devel is nocross"
pre_configure() {
# Based on native build values
cat <<-EOF >config.cache
ac_cv_python_includes=-I${XBPS_CROSS_BASE}/usr/include/python${py2_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 "s;/usr/bin/\(ap.-1-config\);${XBPS_WRAPPERDIR}/\1;g" \
-e "s;-I/usr/include;-I${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 $PERL5LIB/Config_heavy.pl
else
configure_args+=" --with-apxs"
fi
NOCONFIGURE=1 autoreconf -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=/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \
swig-py swig-pl
make ${makejobs} \
swig_pydir=${XBPS_CROSS_BASE}/usr/lib/python$py2_ver/site-packages/libsvn \
swig_pydir_extra=${XBPS_CROSS_BASE}/usr/lib/python$py2_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=/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \
install install-swig-py install-swig-pl
swig_pydir=${XBPS_CROSS_BASE}/usr/lib/python$py2_ver/site-packages/libsvn \
swig_pydir_extra=${XBPS_CROSS_BASE}/usr/lib/python$py2_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
@ -99,7 +165,6 @@ subversion-kwallet-auth_package() {
subversion-python_package() {
lib32disabled=yes
depends="python"
pycompile_module="libsvn svn"
short_desc+=" - python bindings"
pkg_install() {
vmove "usr/lib/libsvn_swig_py*"