dev-libs/botan: Declare distribution name
[gentoo.git] / dev-libs / OpenNI2 / OpenNI2-2.2_beta2.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=5
5
6 SCM=""
7 if [ "${PV#9999}" != "${PV}" ] ; then
8         SCM="git-r3"
9         EGIT_REPO_URI="https://github.com/occipital/openni2"
10 fi
11
12 inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
13
14 if [ "${PV#9999}" != "${PV}" ] ; then
15         KEYWORDS=""
16         SRC_URI=""
17 else
18         KEYWORDS="~amd64 ~arm"
19         SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
20         S="${WORKDIR}/${P/_/-}"
21 fi
22
23 DESCRIPTION="OpenNI2 SDK"
24 HOMEPAGE="https://structure.io/openni"
25 LICENSE="Apache-2.0"
26 SLOT="0"
27 IUSE="doc java neon opengl static-libs"
28
29 RDEPEND="
30         virtual/libusb:1
31         virtual/libudev
32         virtual/jpeg:0
33         opengl? ( media-libs/freeglut )
34         java? ( >=virtual/jre-1.5:* )
35 "
36 DEPEND="${RDEPEND}
37         doc? ( app-doc/doxygen )
38         java? ( >=virtual/jdk-1.5:* )"
39
40 src_prepare() {
41         epatch \
42                 "${FILESDIR}/jpeg.patch" \
43                 "${FILESDIR}/rpath.patch" \
44                 "${FILESDIR}/soname.patch" \
45                 "${FILESDIR}/pthread.patch" \
46                 "${FILESDIR}/c++14.patch"
47
48         rm -rf ThirdParty/LibJPEG
49         for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
50                 echo "" > ${i}
51         done
52 }
53
54 src_compile() {
55         use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
56         emake \
57                 CC="$(tc-getCC)" \
58                 CXX="$(tc-getCXX)" \
59                 ALLOW_WARNINGS=1 \
60                 GLUT_SUPPORTED="$(usex opengl 1 0)" \
61                 $(usex java "" ALL_WRAPPERS="") \
62                 $(usex java "" JAVA_SAMPLES="")
63
64         if use doc ; then
65                 cd "${S}/Source/Documentation"
66                 doxygen || die
67         fi
68 }
69
70 src_install() {
71         dolib.so "${S}/Bin/"*Release/*.so
72         cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
73
74         use static-libs && dolib.a "${S}/Bin/"*Release/*.a
75
76         insinto /usr/include/openni2
77         doins -r Include/*
78
79         dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
80         use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
81
82         if use java ; then
83                 java-pkg_dojar "${S}/Bin/"*Release/*.jar
84                 echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
85                 dobin org.openni.Samples.SimpleViewer
86         fi
87
88         dodoc CHANGES.txt NOTICE README ReleaseNotes.txt Source/Documentation/Text/*.txt
89
90         if use doc ; then
91                 dohtml -r "${S}/Source/Documentation/html/"*
92         fi
93
94         dodir /usr/$(get_libdir)/pkgconfig
95         sed \
96                 -e "s/@libdir@/$(get_libdir)/" \
97                 -e "s/@version@/${PV}/" \
98                 "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
99 }