You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-cpp/sol2/sol2-3.2.2.ebuild

81 lines
1.6 KiB

# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-{1,3,4} luajit )
inherit cmake lua
DESCRIPTION="Header-only C++ <-> Lua API wrapper"
HOMEPAGE="https://github.com/ThePhD/sol2"
SRC_URI="https://github.com/ThePhD/sol2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
REQUIRED_USE="test? ( ${LUA_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
DEPEND="
test? (
${LUA_DEPS}
dev-cpp/catch:0
)
"
BDEPEND="
test? (
virtual/pkgconfig
)
"
PATCHES=(
"${FILESDIR}"/${P}-gcc11.patch
"${FILESDIR}"/${P}-luajit-pkgconf.patch
"${FILESDIR}"/${P}-catch-depend.patch
)
src_prepare() {
# TODO: remove this sed on next bump
sed -i -e 's/-Werror//' \
tests/runtime_tests/CMakeLists.txt \
tests/regression_tests/1011/CMakeLists.txt \
tests/config_tests/function_pointers/CMakeLists.txt \
examples/customization/CMakeLists.txt \
examples/CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
cmake_src_configure
if use test; then
sol2_configure_wrapper() {
local mycmakeargs=(
-DSOL2_BUILD_LUA=no
-DSOL2_TESTS=yes
-DSOL2_LUA_VERSION="${ELUA}"
-DCATCH_INC_DIR="${ESYSROOT}/usr/include/catch2"
)
cmake_src_configure
}
lua_foreach_impl sol2_configure_wrapper
fi
}
src_compile() {
use test && lua_foreach_impl cmake_src_compile
}
src_test() {
sol2_test_wrapper() {
if [[ ${ELUA} == luajit ]]; then
einfo "Skipping test due to https://github.com/ThePhD/sol2/issues/1221"
else
cmake_src_test
fi
}
lua_foreach_impl sol2_test_wrapper
}