[dev-libs/Ice] put back LD_LIBRARY_PATH hack for tests since its actually required to make it not link to system libs, make 3.6.9999 work

This commit is contained in:
Robert Förster 2016-03-18 15:32:25 +01:00
parent 030ca240b1
commit 9cb696259f
2 changed files with 46 additions and 39 deletions

View File

@ -312,6 +312,7 @@ src_install() {
} }
src_test() { src_test() {
export LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
emake -C cpp ${MAKE_RULES} test || die "emake cpp test failed" emake -C cpp ${MAKE_RULES} test || die "emake cpp test failed"
# php tests require the extension loaded and are therefore skipped # php tests require the extension loaded and are therefore skipped

View File

@ -17,14 +17,19 @@ PHP_EXT_OPTIONAL_USE=php
USE_PHP="php5-6" USE_PHP="php5-6"
EGIT_REPO_URI="https://github.com/zeroc-ice/ice.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}"
EGIT_BRANCH="3.6"
inherit toolchain-funcs versionator php-ext-source-r2 python-r1 mono-env ruby-ng db-use git-r3 inherit toolchain-funcs versionator php-ext-source-r2 python-r1 mono-env ruby-ng db-use git-r3
# for mono-env
unset SRC_URI
DESCRIPTION="ICE middleware C++ library and generator tools" DESCRIPTION="ICE middleware C++ library and generator tools"
HOMEPAGE="http://www.zeroc.com/" HOMEPAGE="http://www.zeroc.com/"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0/36" SLOT="0/36"
EGIT_REPO_URI="https://github.com/zeroc-ice/ice.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/${PN}
KEYWORDS="" KEYWORDS=""
IUSE="doc examples libressl +ncurses mono php php_namespaces python ruby test debug" IUSE="doc examples libressl +ncurses mono php php_namespaces python ruby test debug"
@ -73,7 +78,7 @@ pkg_setup() {
src_unpack() { src_unpack() {
# prevent ruby-ng.eclass from messing with src_unpack # prevent ruby-ng.eclass from messing with src_unpack
default git-r3_src_unpack
} }
src_prepare() { src_prepare() {
@ -117,14 +122,14 @@ src_prepare() {
# skip udp test due to multicast # skip udp test due to multicast
# skip IceSSL tests due to requirement of internet connection # skip IceSSL tests due to requirement of internet connection
#sed -i \ sed -i \
# -e 's|allTests.py|allTests.py --rfilter=udp --rfilter=IceSSL --rfilter=IceGrid\/simple|' \ -e 's|allTests.py|allTests.py --rfilter=udp --rfilter=IceSSL --rfilter=IceGrid\/simple|' \
# cpp/Makefile || die "sed failed" cpp/Makefile || die "sed failed"
# mainly broken .ice files # mainly broken .ice files
#sed -i \ sed -i \
# -e 's|allTests.py|allTests.py --rfilter=operations --rfilter=slicing\/objects|' \ -e 's|allTests.py|allTests.py --rfilter=operations --rfilter=slicing\/objects|' \
# python/Makefile || die "sed failed" python/Makefile || die "sed failed"
if ! use test ; then if ! use test ; then
sed -i \ sed -i \
@ -249,6 +254,37 @@ src_compile() {
fi fi
} }
src_test() {
export LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
emake -C cpp ${MAKE_RULES} test || die "emake cpp test failed"
# php tests require the extension loaded and are therefore skipped
if use python ; then
testing() {
# tests require that the directory is named 'python'
ln -f -s ../"${BUILD_DIR}"/python python/python || die
cd "${S}"/python
emake -C . ${MAKE_RULES} \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \
test || die "emake python-${EPYTHON} test failed"
cd "${S}"
}
BUILD_DIR=python python_foreach_impl testing
fi
if use ruby ; then
emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} test || die "emake ruby test failed"
fi
if use mono ; then
# skip mono tests, bug #498484
ewarn "Tests for C# are currently disabled."
# emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} test || die "emake csharp test failed"
fi
}
src_install() { src_install() {
dodoc CHANGELOG*.md README.md dodoc CHANGELOG*.md README.md
@ -307,33 +343,3 @@ src_install() {
emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake csharp install failed" emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake csharp install failed"
fi fi
} }
src_test() {
emake -C cpp ${MAKE_RULES} test || die "emake cpp test failed"
# php tests require the extension loaded and are therefore skipped
if use python ; then
testing() {
# tests require that the directory is named 'python'
ln -f -s ../"${BUILD_DIR}"/python python/python || die
cd "${S}"/python
emake -C . ${MAKE_RULES} \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \
test || die "emake python-${EPYTHON} test failed"
cd "${S}"
}
BUILD_DIR=python python_foreach_impl testing
fi
if use ruby ; then
emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} test || die "emake ruby test failed"
fi
if use mono ; then
# skip mono tests, bug #498484
ewarn "Tests for C# are currently disabled."
# emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} test || die "emake csharp test failed"
fi
}