2021-08-22 12:12:37 +02:00
|
|
|
# Copyright 2021 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
2021-09-28 13:40:58 +02:00
|
|
|
EAPI=8
|
2021-08-22 12:12:37 +02:00
|
|
|
|
|
|
|
inherit cmake
|
|
|
|
|
|
|
|
DESCRIPTION="REST SDK using an asynchronous C++ API design"
|
|
|
|
HOMEPAGE="https://github.com/Microsoft/cpprestsdk"
|
|
|
|
SRC_URI="https://github.com/microsoft/cpprestsdk/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
|
|
|
S="${WORKDIR}/cpprestsdk-${PV}"
|
|
|
|
|
|
|
|
LICENSE="MIT"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="~amd64"
|
|
|
|
IUSE="brotli test +websockets"
|
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
|| (
|
|
|
|
<dev-libs/boost-1.77.0[nls,threads]
|
|
|
|
>=dev-libs/boost-1.77.0[nls]
|
|
|
|
)
|
|
|
|
dev-libs/openssl
|
|
|
|
sys-libs/zlib
|
|
|
|
brotli? ( app-arch/brotli )
|
|
|
|
websockets? ( dev-cpp/websocketpp )
|
|
|
|
"
|
|
|
|
DEPEND="${RDEPEND}"
|
|
|
|
|
|
|
|
RESTRICT="!test? ( test )"
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
my_disable_tests() {
|
|
|
|
local my_cmake_file="${1}"
|
|
|
|
local -n my_tests="${2}"
|
|
|
|
|
|
|
|
for file in "${my_tests[@]}"; do
|
|
|
|
sed -i "/${file}/d" "Release/tests/${my_cmake_file}" || die
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
local -a my_http_client_tests=(
|
|
|
|
"authentication_tests.cpp"
|
|
|
|
"connections_and_errors.cpp"
|
|
|
|
"outside_tests.cpp"
|
|
|
|
"redirect_tests.cpp"
|
|
|
|
)
|
|
|
|
my_disable_tests "functional/http/client/CMakeLists.txt" my_http_client_tests
|
|
|
|
|
|
|
|
local -a my_websockets_tests=(
|
|
|
|
"authentication_tests.cpp"
|
|
|
|
)
|
|
|
|
my_disable_tests "functional/websockets/CMakeLists.txt" my_websockets_tests
|
|
|
|
|
|
|
|
cmake_src_prepare
|
|
|
|
}
|
|
|
|
|
|
|
|
src_configure() {
|
|
|
|
local -a mycmakeargs=(
|
|
|
|
"-DWERROR=OFF"
|
|
|
|
"-DBUILD_SAMPLES=OFF"
|
|
|
|
"-DCPPREST_EXCLUDE_WEBSOCKETS=$(usex websockets OFF ON)"
|
|
|
|
"-DBUILD_TESTS=$(usex test ON OFF)"
|
|
|
|
"-DCPPREST_EXCLUDE_BROTLI=$(usex brotli OFF ON)"
|
|
|
|
)
|
|
|
|
|
|
|
|
cmake_src_configure
|
|
|
|
}
|