# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{11..14} ) inherit cmake python-single-r1 xdg DESCRIPTION="Fast and minimalist 3D viewer." HOMEPAGE="https://f3d.app/ https://github.com/f3d-app/f3d" SRC_URI="https://github.com/f3d-app/f3d/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" S="${WORKDIR}/${PN}-${PV}" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64" IUSE="alembic assimp exr +hdf occt pdal python vdb webp" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # shellcheck disable=SC2016 RDEPEND=" dev-cpp/nlohmann_json dev-libs/cxxopts media-libs/freetype >=sci-libs/vtk-9.5.2-r1[rendering] virtual/opengl alembic? ( media-gfx/alembic ) assimp? ( >=media-libs/assimp-5.4.0 ) exr? ( media-libs/openexr:= ) hdf? ( sci-libs/vtk[netcdf] ) occt? ( >=sci-libs/opencascade-7.6.3:= ) pdal? ( sci-libs/vtk[pdal] ) python? ( ${PYTHON_DEPS} $(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]') ) vdb? ( sci-libs/vtk[openvdb] ) webp? ( media-libs/libwebp:= ) " DEPEND="${RDEPEND}" # media-libs/libwebp ships only pkg-config files, but f3d's WebP module looks # for a CMake config providing WebP::webp. Patch it to use pkg-config instead. PATCHES=( "${FILESDIR}/${P}-webp-pkgconfig.patch" ) pkg_setup() { use python && python-single-r1_pkg_setup } src_configure() { local mycmakeargs=( -DBUILD_TESTING=OFF -DF3D_BINDINGS_C=OFF -DF3D_BINDINGS_JAVA=OFF "-DF3D_BINDINGS_PYTHON=$(usex python)" -DF3D_BUILD_APPLICATION=ON "-DF3D_MODULE_EXR=$(usex exr)" -DF3D_MODULE_UI=ON "-DF3D_MODULE_WEBP=$(usex webp)" "-DF3D_PLUGIN_BUILD_ALEMBIC=$(usex alembic)" "-DF3D_PLUGIN_BUILD_ASSIMP=$(usex assimp)" "-DF3D_PLUGIN_BUILD_HDF=$(usex hdf)" "-DF3D_PLUGIN_BUILD_OCCT=$(usex occt)" "-DF3D_PLUGIN_BUILD_PDAL=$(usex pdal)" "-DF3D_PLUGIN_BUILD_VDB=$(usex vdb)" -DF3D_USE_EXTERNAL_CXXOPTS=ON -DF3D_USE_EXTERNAL_NLOHMANN_JSON=ON ) use python && mycmakeargs+=( -DPython_EXECUTABLE="${PYTHON}" ) cmake_src_configure }