summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/bullet/bullet-3.22b.ebuild')
-rw-r--r--sci-physics/bullet/bullet-3.22b.ebuild87
1 files changed, 87 insertions, 0 deletions
diff --git a/sci-physics/bullet/bullet-3.22b.ebuild b/sci-physics/bullet/bullet-3.22b.ebuild
new file mode 100644
index 000000000000..236d0a1e53d8
--- /dev/null
+++ b/sci-physics/bullet/bullet-3.22b.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Continuous Collision Detection and Physics Library"
+HOMEPAGE="https://pybullet.org/wordpress/"
+SRC_URI="https://github.com/bulletphysics/${PN}3/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc double-precision examples extras openmp tbb test +threads"
+
+REQUIRED_USE="
+ openmp? ( threads )
+ tbb? ( threads )
+"
+
+RDEPEND="
+ virtual/opengl
+ media-libs/freeglut
+ tbb? ( <dev-cpp/tbb-2021.4.0:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.85-soversion.patch )
+
+DOCS=( AUTHORS.txt LICENSE.txt README.md )
+
+# Building / linking of third Party library BussIK does not work out of the box
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}3-${PV}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # allow to generate docs
+ sed -i -e 's/GENERATE_HTMLHELP.*//g' Doxyfile || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPU_DEMOS=OFF
+ -DBUILD_OPENGL3_DEMOS=OFF
+ -DBUILD_BULLET2_DEMOS=OFF
+ -DUSE_GRAPHICAL_BENCHMARK=OFF
+ -DINSTALL_LIBS=ON
+ -DBUILD_BULLET3=ON
+ -DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF # This module depends on example libraries
+ -DBUILD_EXTRAS=$(usex extras)
+ -DUSE_DOUBLE_PRECISION=$(usex double-precision)
+ -DBUILD_UNIT_TESTS=$(usex test)
+ -DBULLET2_MULTITHREADING=$(usex threads)
+ -DBULLET2_USE_OPEN_MP_MULTITHREADING=$(usex openmp)
+ -DBULLET2_USE_TBB_MULTITHREADING=$(usex tbb)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ doxygen || die
+ HTML_DOCS+=( html/. )
+ DOCS+=( docs/*.pdf )
+ fi
+
+ if use examples; then
+ # throws QA warnings
+ rm examples/ThirdPartyLibs/openvr/*/linux*/libopenvr_api.so || die
+ DOCS+=( examples )
+ fi
+}