# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="C++ Web Toolkit" HOMEPAGE="http://www.webtoolkit.eu" SRC_URI="mirror://sourceforge/witty/${P}.tar.gz" EAPI="2" LICENSE="GPL" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="connector_fcgi connector_http examples doc" DEPEND=" >=sys-devel/gcc-4 || ( >=dev-libs/boost-1.35 ( >=dev-libs/boost-1.34.1 connector_http? ( dev-cpp/asio ) ) ) connector_fcgi? ( virtual/httpd-fastcgi dev-libs/fcgi ) examples? ( media-libs/gd =dev-db/mysql++-2* ) " RDEPEND="${DEPEND}" inherit cmake-utils src_prepare() { # fix sandbox violation sed -i "s:\${DESTDIR}:${D}:" "${S}"/WtInstall.cmake || die "sed failed" # add missing link directory sed -i "s:ELSE (NOT_QT_FOUND):ELSE (NOT_QT_FOUND)\n LINK_DIRECTORIES(\${QT_LIBRARY_DIR}):" \ "${S}"/examples/wtwithqt/CMakeLists.txt EXAMPLE_INSTALL_PATH="/var/www/localhost/wt-examples" for i in "${S}"/examples/*/CMakeLists.txt; do # remove quoting sed -i 's:"?\(.*CMAKE_CURRENT_SOURCE_DIR.*\)"?:\1:g' "$i" # add install targets for examples cat >> "$i" << EOT INSTALL(TARGETS \${APPBIN} RUNTIME DESTINATION $EXAMPLE_INSTALL_PATH/\${APPNAME}) SEPARATE_ARGUMENTS(APPRESOURCES) FILE(GLOB RESOURCES \${APPRESOURCES}) FOREACH(RESOURCE \${RESOURCES}) IF(IS_DIRECTORY \${RESOURCE}) INSTALL(DIRECTORY \${RESOURCE} DESTINATION $EXAMPLE_INSTALL_PATH/\${APPNAME}) ELSE(IS_DIRECTORY \${RESOURCE}) INSTALL(FILES \${RESOURCE} DESTINATION $EXAMPLE_INSTALL_PATH/\${APPNAME}) ENDIF(IS_DIRECTORY \${RESOURCE}) ENDFOREACH(RESOURCE \${RESOURCES}) EOT done } src_configure() { if ! use connector_fcgi && ! use connector_http; then eerror eerror "Please choose which connector to build:" eerror eerror " USE=connector_fcgi FastCGI connector" eerror " USE=connector_http built-in HTTP server" eerror die "no connector selected" fi # configure connectors to be built mycmakeargs="${mycmakeargs} -DCONNECTOR_FCGI=$(use connector_fcgi && echo ON || echo OFF)" mycmakeargs="${mycmakeargs} -DCONNECTOR_HTTP=$(use connector_http && echo ON || echo OFF)" cmake-utils_src_configure } src_compile() { cmake-utils_src_compile use examples && cmake-utils_src_compile -C examples } src_install() { use doc && DOCS="AUTHORS BUGS INSTALL INSTALL.html ReleaseNotes.html" cmake-utils_src_install use examples && cmake-utils_src_make DESTDIR="${D}" -C "${CMAKE_BUILD_DIR}"/examples install if use doc; then mv "${S}"/doc/* "${D}"/usr/share/doc/${PF} || die fi }