# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="3" SUPPORT_PYTHON_ABIS="1" RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*" inherit cmake-utils python DESCRIPTION="OpenSync synchronisation framework library" HOMEPAGE="http://www.opensync.org/" SRC_URI="http://www.opensync.org/download/releases/${PV}/${P}.tar.bz2" KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd" SLOT="0" LICENSE="LGPL-2.1" IUSE="debug doc python" # test RDEPEND="dev-db/sqlite:3 dev-libs/glib:2 dev-libs/libxml2 dev-libs/libxslt" DEPEND="${RDEPEND} virtual/pkgconfig doc? ( app-doc/doxygen media-gfx/graphviz ) python? ( >=dev-lang/swig-1.3.17 )" # test? ( >=dev-libs/check-0.9.2 )" DOCS="AUTHORS CODING README" # Tests don't pass RESTRICT="test" src_prepare() { # Has hardcoded python versions, use the module shipped with cmake instead # bug #276220 rm "${S}"/cmake/modules/FindPythonLibs.cmake use python && python_copy_sources } src_configure() { local mycmakeargs=" -DCMAKE_SKIP_RPATH=ON $(cmake-utils_use_build doc DOCUMENTATION) $(cmake-utils_use_enable python WRAPPER) $(cmake-utils_use python OPENSYNC_PYTHONBINDINGS) $(cmake-utils_use debug OPENSYNC_DEBUG_MODULES) $(cmake-utils_use debug OPENSYNC_TRACE)" # $(cmake-utils_use test OPENSYNC_UNITTESTS)" do_configure() { if use python; then CMAKE_BUILD_DIR="${WORKDIR}/${P}-${PYTHON_ABI}" CMAKE_USE_DIR="${CMAKE_BUILD_DIR}" # since we're using cmake's FindPythonLibs PYTHON_VERSION is # not defined sed -i -e "s:\${PYTHON_VERSION}:${PYTHON_ABI}:g" \ "${CMAKE_BUILD_DIR}"/wrapper/CMakeLists.txt fi cmake-utils_src_configure || die } use python \ && python_execute_function -s do_configure \ || do_configure } src_compile() { do_compile() { if use python; then CMAKE_BUILD_DIR="${WORKDIR}/${P}-${PYTHON_ABI}" CMAKE_USE_DIR="${CMAKE_BUILD_DIR}" fi cmake-utils_src_compile || die } use python \ && python_execute_function -s do_compile \ || do_compile if use doc ; then cmake-utils_src_make DoxygenDoc || die fi } # TODO - fix src_test() { pushd "${CMAKE_BUILD_DIR}" > /dev/null if ! LD_LIBRARY_PATH="${CMAKE_BUILD_DIR}/opensync/" emake -j1 test ; then die "Make test failed. See above for details." fi popd > /dev/null } src_install() { do_install() { if use python; then CMAKE_BUILD_DIR="${WORKDIR}/${P}-${PYTHON_ABI}" CMAKE_USE_DIR="${CMAKE_BUILD_DIR}" fi cmake-utils_src_install || die } use python \ && python_execute_function -s do_install \ || do_install find "${D}" -name '*.la' -exec rm -f {} + || die if use doc; then cd "${CMAKE_BUILD_DIR}" dohtml docs/html/* || die fi } pkg_postinst() { elog "Enabling the 'debug' useflag is required for bug reports." elog "Also see: http://www.opensync.org/wiki/tracing" }