--- /usr/portage/dev-libs/json-c/json-c-0.11.ebuild 2013-05-09 06:31:08.000000000 +0100 +++ dev-libs/json-c/json-c-0.11.ebuild 2013-11-12 14:49:02.904499463 +0000 @@ -6,7 +6,7 @@ AUTOTOOLS_AUTORECONF=true -inherit autotools-utils +inherit flag-o-matic autotools-multilib DESCRIPTION="A JSON implementation in C" HOMEPAGE="https://github.com/json-c/json-c/wiki" @@ -15,30 +15,46 @@ LICENSE="MIT" SLOT="0/0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="doc static-libs" +IUSE="doc static-libs test" -# tests break otherwise -AUTOTOOLS_IN_SOURCE_BUILD=1 +ECONF_SOURCE="${S}" + +_prepare_tests() { + mkdir -p "${BUILD_DIR}"/tests + einfo "Symlinking expected test results into ${BUILD_DIR}/tests" + cp -s "${S}"/tests/*.expected "${BUILD_DIR}"/tests + einfo "Symlinking headers into ${BUILD_DIR} to compile tests" + cp -s "${S}"/*.h "${BUILD_DIR}" +} src_prepare() { sed -i -e "s:-Werror::" Makefile.am.inc || die - autotools-utils_src_prepare + filter-ldflags -Wl,--relax + # source comes pre-configured for an obscure system, + # reconfigure and distclean first + ebegin "Cleaning source tree" + econf &>/dev/null + emake distclean &>/dev/null + eend + autotools-multilib_src_prepare + # Fix up tests for out of source build + use test && multilib_parallel_foreach_abi _prepare_tests } src_configure() { # Disable old lib compatibility myeconfargs=(--disable-oldname-compat) - autotools-utils_src_configure + autotools-multilib_src_configure } src_test() { export USE_VALGRIND=0 VERBOSE=1 - autotools-utils_src_test + autotools-multilib_src_test } src_install() { use doc && HTML_DOCS=( "${S}"/doc/html ) - autotools-utils_src_install + autotools-multilib_src_install # add symlink for projects not using pkgconfig dosym ../json-c /usr/include/json-c/json