# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # $Id: 4b2d7d4597f54263cada2fe28f9e55f9e4f0033d $ EAPI=8 inherit cmake DESCRIPTION="C++ engine for simulating rigid bodies in 2D games" HOMEPAGE="https://box2d.org/" SRC_URI="https://github.com/erincatto/Box2D/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="ZLIB" SLOT="0" KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86" IUSE="doc test" RESTRICT="!test? ( test )" DEPEND="test? ( dev-cpp/doctest )" BDEPEND="doc? ( app-text/doxygen )" PATCHES=( "${FILESDIR}/${P}-sandbox-error.patch" # bug 907072, downstream "${FILESDIR}/${P}-cmake-minreqver-3.10.patch" # bug 964480, on par w/ git master ) src_prepare() { cmake_src_prepare # unbundle doctest rm unit-test/doctest.h || die ln -s "${ESYSROOT}"/usr/include/doctest/doctest.h unit-test/ || die } src_configure() { local mycmakeargs=( -DBOX2D_BUILD_TESTBED=OFF # bundled libs, broken anyway right now -DBOX2D_BUILD_UNIT_TESTS=$(usex test) -DBOX2D_BUILD_DOCS=$(usex doc) ) cmake_src_configure } src_test() { "${BUILD_DIR}"/bin/unit_test || die } src_install() { cmake_src_install local pkgconfig_dir="/usr/$(get_libdir)/pkgconfig" dodir "${pkgconfig_dir}" sed \ -e "s|@libdir@|$(get_libdir)|" \ -e "s|@version@|${PV}|" \ "${FILESDIR}"/box2d.pc.in > \ "${ED}${pkgconfig_dir}"/${PN}.pc || die }