summaryrefslogtreecommitdiff
path: root/dev-libs/OpenNI2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/OpenNI2
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/OpenNI2')
-rw-r--r--dev-libs/OpenNI2/Manifest10
-rw-r--r--dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild100
-rw-r--r--dev-libs/OpenNI2/OpenNI2-9999.ebuild98
-rw-r--r--dev-libs/OpenNI2/files/c++14.patch145
-rw-r--r--dev-libs/OpenNI2/files/jpeg.patch90
-rw-r--r--dev-libs/OpenNI2/files/libopenni2.pc.in10
-rw-r--r--dev-libs/OpenNI2/files/pthread.patch26
-rw-r--r--dev-libs/OpenNI2/files/rpath.patch13
-rw-r--r--dev-libs/OpenNI2/files/soname.patch13
-rw-r--r--dev-libs/OpenNI2/metadata.xml11
10 files changed, 516 insertions, 0 deletions
diff --git a/dev-libs/OpenNI2/Manifest b/dev-libs/OpenNI2/Manifest
new file mode 100644
index 000000000000..68c109423736
--- /dev/null
+++ b/dev-libs/OpenNI2/Manifest
@@ -0,0 +1,10 @@
+AUX c++14.patch 4647 BLAKE2B dcaa0006bd184de0299c091bd18f396843ea836ea8b5063d1ce07ed004ddb21b8ebe2ddb19aff769b6053042cd8f256fbc8ad3d85c6fd2aa34ba908e5014d4d2 SHA512 528aa9640dc5fa0e502da02dac8a49dbed1761b149f44705e709c2d9109981dea2c42f4f9a16ab00bb040205fda3a0fdb696b8b797e4ac08655f5d940900b22a
+AUX jpeg.patch 2579 BLAKE2B 82620715f4345f98515aec80a99fa9c2af370671e7583c87de0e9269b7806b0d29b9e246ae28258e65cd5f6648d81b207400aaf34839859efe41b01bf09e0d66 SHA512 caf822ff7781acee8b676a0d786ab3cd72dfaf83bcd4b53247d6b83aaace2649c430f9f88c4f79d59fe53f049fb884c178b4e1877d9442f7c8d8fce5c0729b70
+AUX libopenni2.pc.in 311 BLAKE2B 9581e8fa5fc9295bc83b94cf96b5c0a3cb1428783cba351edb36b24881ed7d70dee6f5bf3671eb7e29854673737e80fd4a8f673e7c8ce43e9aa946d79492584d SHA512 5532f380b1a69862bf55f1db3f775913e31d2969dc0b824d205637925d9787441c07beb8fcedb8a727b908bf98b5408caaa58f85f2da3b36b864fa1d4d37568a
+AUX pthread.patch 977 BLAKE2B ce3989613ea9672b67deecd0ca35f5f4bb31d8bcd6cd46985e629b32d5033cb9a44d97a768d8032a726b69ccd10439dda00da23fbe54407c53a9715b0d8df188 SHA512 d2f91c57e262399e454aac99bec8b8a054e80a60329c89eee9498ab5344b3711485d13502861fe96d452f9ba2693cab3c93726ded56cd278448cd4cf1d43fb14
+AUX rpath.patch 569 BLAKE2B 5a9433fb5ef61c73c08b22d942f8f9a4b5340bf3e8f7fe834f56025dac0d4a65c17065a0e8151d36c2fbcd7651a3e6c4d4c7579ad1dfff6f552877197c619345 SHA512 86adda790d6814b0339ff969e262b78282c977ff4dc16268d4e7831e1086886aefee5c37c5bae9e97b7caf3e9f22e922f87e429e586fafc8e5503b4f99ef4adc
+AUX soname.patch 674 BLAKE2B ba4b8038016ced8d573e57257cbcc7a61f175ec29a720f2d86c04aeacbd5608d315ee54e8ef260daf1548788a59ebe2cafe0d911cedf58b7eae9f8c0b9c6dec6 SHA512 fec4ab17efd29e1fc05a880584aa63559d311a248ef6def36af9c7c652f93aa0ba77f600115f0e4093b7c5c0b446955a4d36d9663196882f5c460a26d99498be
+DIST OpenNI2-2.2_beta2.tar.gz 8681740 BLAKE2B b5191fefd93a5b10e43412d4f0c1ae095a5168ea788d0e2b325daff3ee0329a47f3341c0d712c3a186d23cb3f9fa03478f3342acbd634502cc92aaed0d97d185 SHA512 60a3a3043679f3069aea869e92dc5881328ce4393d4140ea8d089027321ac501ae27d283657214e2834d216d0d49bf4f29a4b3d3e43df27a6ed21f889cd0083f
+EBUILD OpenNI2-2.2_beta2.ebuild 2500 BLAKE2B 05b0b1c6a71efa8c9ab4031126d1cfc9f43e09935a2b9be4f3b811534ae1dc0773050ef2c11fa2c557b63b783b46a1a7ac3b0bcb7e047d5bd417193c1a4b2c88 SHA512 44cf0ac43f6b96c6d9566543fb3caaa4bce7de745c99dca1433cbcff7fd139d4445be10c9a6fc3f66d058efe8868fa2b5d6eda473162d980f08414492eb65eed
+EBUILD OpenNI2-9999.ebuild 2441 BLAKE2B ab4607cfb156bb3a37e7fe2e6619a17249f1314102b74e42771a5c34b2b71bf351bf6747fb87a1fa30f36793a54341b1a1f40baa3c6e937585f6256e3aa813f7 SHA512 f890fc3f3bddffb4f576847fc377da836f522a2e79f9ac0f3892b0fe443cf5c5b4727fb7151a144e623bf82ff4f5a1443aa9c7bb98537f642f65503e7a953d14
+MISC metadata.xml 341 BLAKE2B 5cf0f39369a82aea80badc678a0766aa9f9d2d2fef2108fa27bca9f7233d443371298334b356ba6253edba043d941a0ce821e23f5c1a119cddcedd8e79b1c9b7 SHA512 414b64e60046dc1628494ab50ae5f4c5594b9fe71daf7cdc844428200e6122bc471e27f982fa4eaaed6db6f93fb53312118a35dd52e01c576e8597f3e21b23c8
diff --git a/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild b/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild
new file mode 100644
index 000000000000..4f39df7f4066
--- /dev/null
+++ b/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/occipital/openni2"
+fi
+
+inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+DESCRIPTION="OpenNI2 SDK"
+HOMEPAGE="https://structure.io/openni"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java neon opengl static-libs"
+
+RDEPEND="
+ virtual/libusb:1
+ virtual/libudev
+ virtual/jpeg:0
+ opengl? ( media-libs/freeglut )
+ java? ( >=virtual/jre-1.5:* )
+"
+DEPEND="${RDEPEND}
+ dev-lang/python
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5:* )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/jpeg.patch" \
+ "${FILESDIR}/rpath.patch" \
+ "${FILESDIR}/soname.patch" \
+ "${FILESDIR}/pthread.patch" \
+ "${FILESDIR}/c++14.patch"
+
+ rm -rf ThirdParty/LibJPEG
+ for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
+ echo "" > ${i}
+ done
+}
+
+src_compile() {
+ use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ ALLOW_WARNINGS=1 \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_WRAPPERS="") \
+ $(usex java "" JAVA_SAMPLES="")
+
+ if use doc ; then
+ cd "${S}/Source/Documentation"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Bin/"*Release/*.so
+ cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
+
+ use static-libs && dolib.a "${S}/Bin/"*Release/*.a
+
+ insinto /usr/include/openni2
+ doins -r Include/*
+
+ dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
+ use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ dodoc CHANGES.txt NOTICE README ReleaseNotes.txt Source/Documentation/Text/*.txt
+
+ if use doc ; then
+ dohtml -r "${S}/Source/Documentation/html/"*
+ fi
+
+ dodir /usr/$(get_libdir)/pkgconfig
+ sed \
+ -e "s/@libdir@/$(get_libdir)/" \
+ -e "s/@version@/${PV}/" \
+ "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
+}
diff --git a/dev-libs/OpenNI2/OpenNI2-9999.ebuild b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
new file mode 100644
index 000000000000..1ced5f727b73
--- /dev/null
+++ b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/occipital/openni2"
+fi
+
+inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+DESCRIPTION="OpenNI2 SDK"
+HOMEPAGE="https://structure.io/openni"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="doc java neon opengl static-libs"
+
+RDEPEND="
+ virtual/libusb:1
+ virtual/libudev
+ virtual/jpeg:0
+ opengl? ( media-libs/freeglut )
+ java? ( >=virtual/jre-1.5:* )
+"
+DEPEND="${RDEPEND}
+ dev-lang/python
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5:* )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/jpeg.patch" \
+ "${FILESDIR}/rpath.patch" \
+ "${FILESDIR}/soname.patch"
+
+ rm -rf ThirdParty/LibJPEG
+ for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
+ echo "" > ${i}
+ done
+}
+
+src_compile() {
+ use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ ALLOW_WARNINGS=1 \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_WRAPPERS="") \
+ $(usex java "" JAVA_SAMPLES="")
+
+ if use doc ; then
+ cd "${S}/Source/Documentation"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Bin/"*Release/*.so
+ cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
+
+ use static-libs && dolib.a "${S}/Bin/"*Release/*.a
+
+ insinto /usr/include/openni2
+ doins -r Include/*
+
+ dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
+ use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ dodoc CHANGES.txt NOTICE README.md ReleaseNotes.txt Source/Documentation/Text/*.txt
+
+ if use doc ; then
+ dohtml -r "${S}/Source/Documentation/html/"*
+ fi
+
+ dodir /usr/$(get_libdir)/pkgconfig
+ sed \
+ -e "s/@libdir@/$(get_libdir)/" \
+ -e "s/@version@/${PV}/" \
+ "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
+}
diff --git a/dev-libs/OpenNI2/files/c++14.patch b/dev-libs/OpenNI2/files/c++14.patch
new file mode 100644
index 000000000000..95343a60059a
--- /dev/null
+++ b/dev-libs/OpenNI2/files/c++14.patch
@@ -0,0 +1,145 @@
+The 'equivalent' macro clashes with equivalent() member functions of the
+std::error_category::equivalent class in C++11 and above.
+See also:
+https://bugs.gentoo.org/show_bug.cgi?id=594910
+
+--- a/ThirdParty/GL/glh/glh_linear.h
++++ b/ThirdParty/GL/glh/glh_linear.h
+@@ -77,7 +77,7 @@
+ #define GLH_EPSILON GLH_REAL(10e-6)
+ #define GLH_PI GLH_REAL(3.1415926535897932384626433832795)
+
+-#define equivalent(a,b) (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false)
++#define equivalent_(a,b) (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false)
+
+ namespace glh
+ {
+@@ -1093,7 +1093,7 @@
+
+ real norm = q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3];
+
+- s = (equivalent(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm );
++ s = (equivalent_(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm );
+
+ xs = q[0] * s;
+ ys = q[1] * s;
+@@ -1194,7 +1194,7 @@
+ theta *= real(0.5);
+ real sin_theta = real(sin(theta));
+
+- if (!equivalent(sqnorm,GLH_ONE))
++ if (!equivalent_(sqnorm,GLH_ONE))
+ sin_theta /= real(sqrt(sqnorm));
+ x = sin_theta * axis.v[0];
+ y = sin_theta * axis.v[1];
+@@ -1216,14 +1216,14 @@
+
+ alpha = p1.dot(p2);
+
+- if(equivalent(alpha,GLH_ONE))
++ if(equivalent_(alpha,GLH_ONE))
+ {
+ *this = identity();
+ return *this;
+ }
+
+ // ensures that the anti-parallel case leads to a positive dot
+- if(equivalent(alpha,-GLH_ONE))
++ if(equivalent_(alpha,-GLH_ONE))
+ {
+ vec3 v;
+
+@@ -1280,7 +1280,7 @@
+ void normalize()
+ {
+ real rnorm = GLH_ONE / real(sqrt(w * w + x * x + y * y + z * z));
+- if (equivalent(rnorm, GLH_ZERO))
++ if (equivalent_(rnorm, GLH_ZERO))
+ return;
+ x *= rnorm;
+ y *= rnorm;
+@@ -1439,10 +1439,10 @@
+ inline
+ bool operator == ( const quaternion & q1, const quaternion & q2 )
+ {
+- return (equivalent(q1.x, q2.x) &&
+- equivalent(q1.y, q2.y) &&
+- equivalent(q1.z, q2.z) &&
+- equivalent(q1.w, q2.w) );
++ return (equivalent_(q1.x, q2.x) &&
++ equivalent_(q1.y, q2.y) &&
++ equivalent_(q1.z, q2.z) &&
++ equivalent_(q1.w, q2.w) );
+ }
+
+ inline
+--- a/ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/glh_linear.h
++++ b/ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/glh_linear.h
+@@ -77,7 +77,7 @@
+ #define GLH_EPSILON GLH_REAL(10e-6)
+ #define GLH_PI GLH_REAL(3.1415926535897932384626433832795)
+
+-#define equivalent(a,b) (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false)
++#define equivalent_(a,b) (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false)
+
+ namespace glh
+ {
+@@ -1093,7 +1093,7 @@
+
+ real norm = q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3];
+
+- s = (equivalent(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm );
++ s = (equivalent_(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm );
+
+ xs = q[0] * s;
+ ys = q[1] * s;
+@@ -1194,7 +1194,7 @@
+ theta *= real(0.5);
+ real sin_theta = real(sin(theta));
+
+- if (!equivalent(sqnorm,GLH_ONE))
++ if (!equivalent_(sqnorm,GLH_ONE))
+ sin_theta /= real(sqrt(sqnorm));
+ x = sin_theta * axis.v[0];
+ y = sin_theta * axis.v[1];
+@@ -1216,14 +1216,14 @@
+
+ alpha = p1.dot(p2);
+
+- if(equivalent(alpha,GLH_ONE))
++ if(equivalent_(alpha,GLH_ONE))
+ {
+ *this = identity();
+ return *this;
+ }
+
+ // ensures that the anti-parallel case leads to a positive dot
+- if(equivalent(alpha,-GLH_ONE))
++ if(equivalent_(alpha,-GLH_ONE))
+ {
+ vec3 v;
+
+@@ -1280,7 +1280,7 @@
+ void normalize()
+ {
+ real rnorm = GLH_ONE / real(sqrt(w * w + x * x + y * y + z * z));
+- if (equivalent(rnorm, GLH_ZERO))
++ if (equivalent_(rnorm, GLH_ZERO))
+ return;
+ x *= rnorm;
+ y *= rnorm;
+@@ -1439,10 +1439,10 @@
+ inline
+ bool operator == ( const quaternion & q1, const quaternion & q2 )
+ {
+- return (equivalent(q1.x, q2.x) &&
+- equivalent(q1.y, q2.y) &&
+- equivalent(q1.z, q2.z) &&
+- equivalent(q1.w, q2.w) );
++ return (equivalent_(q1.x, q2.x) &&
++ equivalent_(q1.y, q2.y) &&
++ equivalent_(q1.z, q2.z) &&
++ equivalent_(q1.w, q2.w) );
+ }
+
+ inline
diff --git a/dev-libs/OpenNI2/files/jpeg.patch b/dev-libs/OpenNI2/files/jpeg.patch
new file mode 100644
index 000000000000..e7f4f35ea7dd
--- /dev/null
+++ b/dev-libs/OpenNI2/files/jpeg.patch
@@ -0,0 +1,90 @@
+Index: OpenNI2-9999/Source/Core/Makefile
+===================================================================
+--- OpenNI2-9999.orig/Source/Core/Makefile
++++ OpenNI2-9999/Source/Core/Makefile
+@@ -5,14 +5,12 @@ BIN_DIR = ../../Bin
+ INC_DIRS = \
+ ../../Include \
+ ../../ThirdParty/PSCommon/XnLib/Include \
+- ../Drivers/OniFile/Formats \
+- ../../ThirdParty/LibJPEG
++ ../Drivers/OniFile/Formats
+
+ SRC_FILES = \
+ *.cpp \
+ ../Drivers/OniFile/Formats/XnCodec.cpp \
+- ../Drivers/OniFile/Formats/XnStreamCompression.cpp \
+- ../../ThirdParty/LibJPEG/*.c \
++ ../Drivers/OniFile/Formats/XnStreamCompression.cpp
+
+ ifeq ("$(OSTYPE)","Darwin")
+ INC_DIRS += /opt/local/include
+@@ -23,7 +21,7 @@ endif
+ LIB_NAME = OpenNI2
+
+ LIB_DIRS = ../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib dl pthread
++USED_LIBS = XnLib jpeg dl pthread
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt
+ endif
+Index: OpenNI2-9999/Source/Drivers/OniFile/Makefile
+===================================================================
+--- OpenNI2-9999.orig/Source/Drivers/OniFile/Makefile
++++ OpenNI2-9999/Source/Drivers/OniFile/Makefile
+@@ -6,14 +6,12 @@ INC_DIRS = \
+ . \
+ ../../../Include \
+ ../../../ThirdParty/PSCommon/XnLib/Include \
+- ../../../ThirdParty/LibJPEG \
+ Formats
+
+ SRC_FILES = \
+ *.cpp \
+ Formats/*.cpp \
+- XnLibExtensions/*.cpp \
+- ../../../ThirdParty/LibJPEG/*.c
++ XnLibExtensions/*.cpp
+
+
+ ifeq ("$(OSTYPE)","Darwin")
+@@ -25,7 +23,7 @@ endif
+ LIB_NAME = OniFile
+
+ LIB_DIRS = ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib pthread
++USED_LIBS = XnLib jpeg pthread
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt
+ endif
+Index: OpenNI2-9999/Source/Drivers/PS1080/Makefile
+===================================================================
+--- OpenNI2-9999.orig/Source/Drivers/PS1080/Makefile
++++ OpenNI2-9999/Source/Drivers/PS1080/Makefile
+@@ -7,7 +7,6 @@ INC_DIRS = \
+ Include \
+ ../../../Include \
+ ../../../ThirdParty/PSCommon/XnLib/Include \
+- ../../../ThirdParty/LibJPEG \
+ ../../DepthUtils
+
+ SRC_FILES = \
+@@ -16,8 +15,7 @@ SRC_FILES = \
+ DriverImpl/*.cpp\
+ Formats/*.cpp \
+ Include/*.cpp \
+- Sensor/*.cpp \
+- ../../../ThirdParty/LibJPEG/*.c
++ Sensor/*.cpp
+
+
+ ifeq ("$(OSTYPE)","Darwin")
+@@ -30,7 +28,7 @@ LIB_NAME = PS1080
+
+ LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+ LIB_DIRS += $(BIN_DIR)/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib dl pthread DepthUtils
++USED_LIBS = XnLib jpeg dl pthread DepthUtils
+ ifneq ("$(OSTYPE)","Darwin")
+ USED_LIBS += rt usb-1.0 udev
+ else
diff --git a/dev-libs/OpenNI2/files/libopenni2.pc.in b/dev-libs/OpenNI2/files/libopenni2.pc.in
new file mode 100644
index 000000000000..550b13df60df
--- /dev/null
+++ b/dev-libs/OpenNI2/files/libopenni2.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@libdir@
+includedir=${prefix}/include/openni2
+
+Name: OpenNI2
+Description: A general purpose driver for all OpenNI cameras.
+Version: @version@
+Cflags: -I${includedir}
+Libs: -L${libdir} -lOpenNI2 -L${libdir}/OpenNI2/Drivers -lDummyDevice -lOniFile -lPS1080
diff --git a/dev-libs/OpenNI2/files/pthread.patch b/dev-libs/OpenNI2/files/pthread.patch
new file mode 100644
index 000000000000..62d8a0c86789
--- /dev/null
+++ b/dev-libs/OpenNI2/files/pthread.patch
@@ -0,0 +1,26 @@
+commit 716cffb2888bb2a0fa3264a22085caf8ce26368f
+Author: Pedro Asad <pasad@cos.ufrj.br>
+Date: Wed Oct 8 18:18:57 2014 -0300
+
+ Added a missing -lpthread flag to one Makefile
+
+ The lack of the -lpthread flag on Source/Tools/NiViewer/Makefile prevented the
+ whole project from compiling correctly on Ubuntu 14.04 64 bit. Just added the
+ missing flag to this Makefile, according to the same solution for issue 47 of
+ the old OpenNI2 Github repository, that boils down to a similar problem and
+ can be found here, on Github
+ https://github.com/OpenNI/OpenNI2/issues/47
+
+diff --git a/Source/Tools/NiViewer/Makefile b/Source/Tools/NiViewer/Makefile
+index 1eba049..1b5714d 100644
+--- a/Source/Tools/NiViewer/Makefile
++++ b/Source/Tools/NiViewer/Makefile
+@@ -26,7 +26,7 @@ else
+ endif
+
+ LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS += OpenNI2 XnLib
++USED_LIBS += OpenNI2 XnLib pthread
+
+ EXE_NAME = NiViewer
+
diff --git a/dev-libs/OpenNI2/files/rpath.patch b/dev-libs/OpenNI2/files/rpath.patch
new file mode 100644
index 000000000000..9203733ee80e
--- /dev/null
+++ b/dev-libs/OpenNI2/files/rpath.patch
@@ -0,0 +1,13 @@
+Index: OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+===================================================================
+--- OpenNI2-9999.orig/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
++++ OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+@@ -93,8 +93,6 @@ ifneq "$(LIB_NAME)" ""
+ endif
+ ifneq "$(EXE_NAME)" ""
+ OUTPUT_NAME = $(EXE_NAME)
+- # We want the executables to look for the .so's locally first:
+- LDFLAGS += -Wl,-rpath ./
+ OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS)
+ endif
+ ifneq "$(SLIB_NAME)" ""
diff --git a/dev-libs/OpenNI2/files/soname.patch b/dev-libs/OpenNI2/files/soname.patch
new file mode 100644
index 000000000000..248ac631af58
--- /dev/null
+++ b/dev-libs/OpenNI2/files/soname.patch
@@ -0,0 +1,13 @@
+Index: OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+===================================================================
+--- OpenNI2-9999.orig/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
++++ OpenNI2-9999/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+@@ -84,7 +84,7 @@ ifneq "$(LIB_NAME)" ""
+ ifneq ("$(OSTYPE)","Darwin")
+ LDFLAGS += -Wl,--no-undefined
+ OUTPUT_NAME = lib$(LIB_NAME).so
+- OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared
++ OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) -Wl,-soname,$(OUTPUT_NAME) $(LDFLAGS) -shared
+ else
+ LDFLAGS += -undefined error
+ OUTPUT_NAME = lib$(LIB_NAME).dylib
diff --git a/dev-libs/OpenNI2/metadata.xml b/dev-libs/OpenNI2/metadata.xml
new file mode 100644
index 000000000000..561873a856c0
--- /dev/null
+++ b/dev-libs/OpenNI2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">occipital/OpenNI2</remote-id>
+ </upstream>
+</pkgmetadata>