# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Source: Written from scratch for sunset-repo overlay EAPI=8 inherit cmake DESCRIPTION="Low-level C++ wrapper around the Berkeley sockets library" HOMEPAGE="https://fpagliughi.github.io/sockpp/" SRC_URI="https://github.com/fpagliughi/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0/1" KEYWORDS="~amd64" IUSE="static-libs doc utils test" # Implicit depend on C and C++ standard libraries and nothing else BDEPEND="test? ( dev-cpp/catch:0 )" RESTRICT="!test? ( test )" src_prepare() { cmake_src_prepare if use doc then # Convince the docs to end up in /usr/share/doc/${P} sed -e "/OUTPUT_DIRECTORY/s#doc#doc/@CMAKE_PROJECT_NAME@-@CMAKE_PROJECT_VERSION@#g" -i "doc/Doxyfile.cmake" doxygen -u "doc/Doxyfile.cmake" 2>/dev/null || die "Updating Doxygen configuration failed" fi } src_configure() { local mycmakeargs=( -DSOCKPP_BUILD_SHARED=ON -DSOCKPP_BUILD_STATIC=$(usex static-libs) -DSOCKPP_BUILD_DOCUMENTATION=$(usex doc) -DSOCKPP_BUILD_EXAMPLES=$(usex utils) -DSOCKPP_BUILD_TESTS=$(usex test) -DSOCKPP_BUILD_CAN=OFF ) cmake_src_configure } src_install() { cmake_src_install if use utils then # Binary names are quite generic and this is the easiest fix cd "${D}/usr/bin" for i in * do mv "$i" "${PN}-$i" done fi } src_test() { cd "${CMAKE_USE_DIR}_build/tests/unit" cmake_src_test }