# Copyright 2000-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="C++ library for developing interactive web applications."
MY_P=${P/_/-}
HOMEPAGE="http://webtoolkit.eu/"
SRC_URI="https://github.com/kdeforche/wt/archive/${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="fcgi firebird graphicsmagick mysql pdf postgres resources +server +ssl +sqlite test"
RDEPEND="
dev-libs/boost:=
pdf? (
media-libs/libharu
x11-libs/pango
)
firebird? ( dev-db/firebird )
graphicsmagick? ( media-gfx/graphicsmagick )
postgres? ( dev-db/postgresql:* )
mysql? ( virtual/mysql )
sqlite? ( dev-db/sqlite:3 )
fcgi? (
dev-libs/fcgi
virtual/httpd-fastcgi
)
server? (
ssl? ( dev-libs/openssl )
)
sys-libs/zlib
"
DOCS="Changelog INSTALL"
S=${WORKDIR}/${MY_P}
pkg_setup() {
if use !server && use !fcgi; then
ewarn "You have to select at least built-in server support or fcgi support."
ewarn "Invalid use flag combination, enable at least one of: server, fcgi"
fi
if use test && use !sqlite; then
ewarn "Tests need sqlite, disabling."
fi
}
src_prepare() {
# just to be sure
rm -rf Wt/Dbo/backend/amalgamation
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DDESTDIR="${D}"
-DLIB_INSTALL_DIR=$(get_libdir)
-DBUILD_TESTS=$(usex test)
-DSHARED_LIBS=ON
-DMULTI_THREADED=ON
-DUSE_SYSTEM_SQLITE3=ON
-DWEBUSER=wt
-DWEBGROUP=wt
-DWT_WRASTERIMAGE_IMPLEMENTATION=$(usex graphicsmagick GraphicsMagick none)
-DENABLE_FIREBIRD=$(usex firebird)
-DENABLE_HARU=$(usex pdf)
-DENABLE_MYSQL=$(usex mysql)
-DENABLE_POSTGRES=$(usex postgres)
-DENABLE_QT4=OFF
-DENABLE_QT5=OFF
-DENABLE_QT6=OFF
-DENABLE_SQLITE=$(usex sqlite)
-DENABLE_SSL=$(usex ssl)
-DCONNECTOR_FCGI=$(usex fcgi)
-DCONNECTOR_HTTP=$(usex server)
-DBUILD_EXAMPLES=OFF
)
cmake_src_configure
}
src_test() {
# Tests need sqlite
if use sqlite; then
pushd "${CMAKE_BUILD_DIR}" > /dev/null
./test/test || die
popd > /dev/null
fi
}
pkg_postinst() {
if use fcgi; then
elog "You selected fcgi support. Please make sure that the web-server"
elog "has fcgi support and access to the fcgi socket."
elog "You can use spawn-fcgi to spawn the witty-processes and run them"
elog "in a chroot environment."
fi
}