diff options
Diffstat (limited to 'dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild')
-rw-r--r-- | dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild b/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild new file mode 100644 index 000000000000..dd1ccb8c41f8 --- /dev/null +++ b/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM="git-r3" + EGIT_REPO_URI="https://github.com/OpenNI/OpenNI" +fi + +inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2 + +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +else + KEYWORDS="amd64 ~arm" + SRC_URI="https://github.com/OpenNI/OpenNI/archive/Stable-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-Stable-${PV}" +fi + +DESCRIPTION="OpenNI SDK" +HOMEPAGE="https://github.com/OpenNI/OpenNI" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc java opengl" + +RDEPEND=" + media-libs/libjpeg-turbo:= + virtual/libusb:1 + virtual/libudev + dev-libs/tinyxml + opengl? ( media-libs/freeglut !dev-libs/OpenNI2[opengl] ) + java? ( virtual/jre:1.8 ) +" +DEPEND="${RDEPEND} + java? ( virtual/jdk:1.8 )" +BDEPEND="doc? ( app-doc/doxygen )" + +PATCHES=( + "${FILESDIR}/tinyxml.patch" + "${FILESDIR}/jpeg.patch" + "${FILESDIR}/soname.patch" + "${FILESDIR}/${P}-gcc6.patch" + "${FILESDIR}/betterdefines.patch" +) + +src_prepare() { + default + + rm -rf External/{LibJPEG,TinyXml} + for i in Platform/Linux/Build/Common/Platform.* Externals/PSCommon/Linux/Build/Platform.* ; do + echo "" > ${i} + done + + find . -type f -print0 | xargs -0 sed -i "s:\".*/SamplesConfig.xml:\"${EPREFIX}/usr/share/${PN}/SamplesConfig.xml:" || die +} + +src_compile() { + # bug #855671 + append-flags -fno-strict-aliasing + + emake -C "${S}/Platform/Linux/Build" \ + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + GLUT_SUPPORTED="$(usex opengl 1 0)" \ + $(usex java "" ALL_JAVA_PROJS="") \ + $(usex java "" JAVA_SAMPLES="") \ + ALL_MONO_PROJS="" \ + MONO_SAMPLES="" \ + MONO_FORMS_SAMPLES="" + + if use doc ; then + cd "${S}/Source/DoxyGen" + doxygen || die + fi +} + +src_install() { + dolib.so "${S}/Platform/Linux/Bin/"*Release/*.so + + insinto /usr/include/openni + doins -r Include/* + + dobin "${S}/Platform/Linux/Bin/"*Release/{ni*,Ni*,Sample-*} + + if use java ; then + java-pkg_dojar "${S}/Platform/Linux/Bin/"*Release/*.jar + echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer + dobin org.openni.Samples.SimpleViewer + fi + + insinto /usr/share/${PN} + doins Data/* + + dodoc Documentation/OpenNI_UserGuide.pdf CHANGES NOTICE README + + if use doc ; then + docinto html + dodoc -r "${S}/Source/DoxyGen/html/"* + dodoc Source/DoxyGen/Text/*.txt + fi + + keepdir /var/lib/ni +} + +pkg_postinst() { + if [ "${ROOT:-/}" = "/" ] ; then + for i in "${EROOR}/usr/$(get_libdir)"/libnim*.so ; do + einfo "Registering module ${i}" + niReg -r "${i}" + done + fi +} |