* [ISSUE] WIP: subversion cross compiling
@ 2020-01-31 20:38 voidlinux-github
2020-02-07 17:36 ` [ISSUE] [CLOSED] " voidlinux-github
0 siblings, 1 reply; 2+ messages in thread
From: voidlinux-github @ 2020-01-31 20:38 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 4782 bytes --]
New issue by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/issues/18699
Description:
If someone wants to help me getting subversion cross compiled, here's what I have so far:
```
# Template file for 'subversion'
pkgname=subversion
version=1.13.0
revision=1
build_style=gnu-configure
configure_args="--with-apxs --disable-javahl --disable-static --with-kwallet
--with-gnome-keyring --with-editor=vi --disable-mod-activation
--with-utf8proc=internal"
hostmakedepends="automake libtool pkg-config perl"
makedepends="apache-devel gdbm-devel libgnome-keyring-devel serf-devel
libsecret-devel liblz4-devel python-devel sqlite-devel swig kdelibs4support-devel"
depends="ca-certificates"
short_desc="Enterprise-class centralized version control for the masses"
maintainer="Orphaned <orphan@voidlinux.org>"
license="Apache-2.0, BSD-3-Clause"
homepage="http://subversion.apache.org/"
distfiles="http://apache.uvigo.es/subversion/subversion-${version}.tar.bz2"
checksum=bc50ce2c3faa7b1ae9103c432017df98dfd989c4239f9f8270bb3a314ed9e5bd
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" apache-devel"
fi
pre_configure() {
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;/usr/share/apache/webroot/build;${wrksrc};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"
# Remove failing tests for Mac OS specific features
vsed -i configure.ac \
-e "/SVN_LIB_MACHO_ITERATE/d" \
-e "/SVN_LIB_MACOS_PLIST/d" \
-e "/SVN_LIB_MACOS_KEYCHAIN/d"
NOCONFIGURE=1 autoreconf -fi
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
}
do_install() {
export LD_LIBRARY_PATH=${DESTDIR}/usr/lib:$LD_LIBRARY_PATH
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
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-kwallet-auth_package() {
lib32disabled=yes
short_desc+=" - KDE kwallet authentication support"
pkg_install() {
vmove "usr/lib/libsvn_auth_kwallet*"
}
}
subversion-python_package() {
lib32disabled=yes
depends="python"
pycompile_module="libsvn svn"
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
}
}
```
A build now fails to find `kf5-config` and I don't know if whether would be okay to add `kdelibs4support` to the hostmakedepends or if the target arch binary needs to be run under `qemu-${XBPS_TARGET_QEMU_MACHINE}-static`.
Or perhaps we should make `kwallet` support an option?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ISSUE] [CLOSED] WIP: subversion cross compiling
2020-01-31 20:38 [ISSUE] WIP: subversion cross compiling voidlinux-github
@ 2020-02-07 17:36 ` voidlinux-github
0 siblings, 0 replies; 2+ messages in thread
From: voidlinux-github @ 2020-02-07 17:36 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 4841 bytes --]
Closed issue by pullmoll on void-packages repository
https://github.com/void-linux/void-packages/issues/18699
Description:
If someone wants to help me getting subversion cross compiled, here's what I have so far:
```
# Template file for 'subversion'
pkgname=subversion
version=1.13.0
revision=1
build_style=gnu-configure
configure_args="--with-apxs --disable-javahl --disable-static --with-kwallet
--with-gnome-keyring --with-editor=vi --disable-mod-activation
--with-utf8proc=internal"
hostmakedepends="automake libtool pkg-config perl python"
makedepends="apache-devel gdbm-devel libgnome-keyring-devel serf-devel
libsecret-devel liblz4-devel python-devel sqlite-devel swig kdelibs4support-devel"
depends="ca-certificates"
short_desc="Enterprise-class centralized version control for the masses"
maintainer="Orphaned <orphan@voidlinux.org>"
license="Apache-2.0, BSD-3-Clause"
homepage="http://subversion.apache.org/"
distfiles="http://apache.uvigo.es/subversion/subversion-${version}.tar.bz2"
checksum=bc50ce2c3faa7b1ae9103c432017df98dfd989c4239f9f8270bb3a314ed9e5bd
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" apache-devel kdelibs4support kwallet-devel"
fi
pre_configure() {
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;/usr/share/apache/webroot/build;${wrksrc};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"
# Remove failing tests for Mac OS specific features
vsed -i configure.ac \
-e "/SVN_LIB_MACHO_ITERATE/d" \
-e "/SVN_LIB_MACOS_PLIST/d" \
-e "/SVN_LIB_MACOS_KEYCHAIN/d"
NOCONFIGURE=1 autoreconf -fi
sed -i Makefile.in \
-e "s;@SVN_MACOS_PLIST_LIBS@;;" \
-e "s;@SVN_MACOS_KEYCHAIN_LIBS@;;"
fi
}
do_build() {
make ${makejobs} LT_LDFLAGS="-L$Fdestdir/usr/lib"
make ${makejobs} swig_pydir=${XBPS_CROSS_BASE}/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=${XBPS_CROSS_BASE}/usr/lib/python2.7/site-packages/svn \
swig-py swig-pl
}
do_install() {
export LD_LIBRARY_PATH=${DESTDIR}/usr/lib:$LD_LIBRARY_PATH
make DESTDIR=${DESTDIR} INSTALLDIRS=vendor \
swig_pydir=${XBPS_CROSS_BASE}/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=${XBPS_CROSS_BASE}/usr/lib/python2.7/site-packages/svn \
install install-swig-py 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-kwallet-auth_package() {
lib32disabled=yes
short_desc+=" - KDE kwallet authentication support"
pkg_install() {
vmove "usr/lib/libsvn_auth_kwallet*"
}
}
subversion-python_package() {
lib32disabled=yes
depends="python"
pycompile_module="libsvn svn"
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
}
}
```
Current problem left is that swig-pl (perl bindings) are compiled or linked with `gcc` instead of `$XBPS_CROSS_TRIPLET-gcc`.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-02-07 17:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-31 20:38 [ISSUE] WIP: subversion cross compiling voidlinux-github
2020-02-07 17:36 ` [ISSUE] [CLOSED] " voidlinux-github
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).