diff --git a/srcpkgs/subversion/patches/cross.patch b/srcpkgs/subversion/patches/cross.patch new file mode 100644 index 00000000000..54aa0a49fd7 --- /dev/null +++ b/srcpkgs/subversion/patches/cross.patch @@ -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]) diff --git a/srcpkgs/subversion/template b/srcpkgs/subversion/template index 33444f000c6..ac136acff10 100644 --- a/srcpkgs/subversion/template +++ b/srcpkgs/subversion/template @@ -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 " @@ -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*"