diff options
author | Daniel Bermond | 2017-02-28 21:07:51 -0300 |
---|---|---|
committer | Daniel Bermond | 2017-02-28 21:07:51 -0300 |
commit | 8af7201a2bab34d88c2748176e8e9f1832fe8141 (patch) | |
tree | c5b9f8d15ff49bd7a8713e7b4297f5caab6fd154 | |
download | aur-8af7201a2bab34d88c2748176e8e9f1832fe8141.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 37 | ||||
-rw-r--r-- | 0002-Change-path-of-config-files-to-etc-openni2.patch | 31 | ||||
-rw-r--r-- | 0003-Use-system-wide-libjpeg.patch | 97 | ||||
-rw-r--r-- | 0005-change-default-ni-drivers-path.patch | 11 | ||||
-rw-r--r-- | 0013-Fix-GCC6-compilation.patch | 190 | ||||
-rw-r--r-- | PKGBUILD | 113 | ||||
-rw-r--r-- | libopenni2.pc | 10 |
7 files changed, 489 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..dfbcfaa4ff46 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +# Generated by mksrcinfo v8 +# Wed Mar 1 00:07:04 UTC 2017 +pkgbase = openni2-git + pkgdesc = Framework for sensor-based 'Natural Interaction' (Git version) + pkgver = 2.2.beta.r25.g1fce8ed + pkgrel = 1 + url = https://github.com/occipital/OpenNI2/ + arch = i686 + arch = x86_64 + license = APACHE + makedepends = git + makedepends = python + makedepends = doxygen + makedepends = graphviz + depends = freeglut + depends = glu + depends = libusb + depends = java-environment + depends = libjpeg-turbo + provides = openni2 + conflicts = openni2 + conflicts = openni2-libfreenect + source = openni2-git::git+https://github.com/occipital/OpenNI2.git + source = 0002-Change-path-of-config-files-to-etc-openni2.patch + source = 0003-Use-system-wide-libjpeg.patch + source = 0005-change-default-ni-drivers-path.patch + source = 0013-Fix-GCC6-compilation.patch + source = libopenni2.pc + sha256sums = SKIP + sha256sums = 368c0b41a26a65377359ce22a914cb8b6f4020e2972f67f151f2b9bdbf1a5a50 + sha256sums = 1ca20e60ac10a193cbf0ca4759230ba7930479baa7d237476583359e7b62f604 + sha256sums = 635c762230a2dc57977c7f42cc7d1c25438d3864baca7632360466e8c031e3b5 + sha256sums = 0fd53b2c41a48cb4b28e67c6cfcedf4d17ffbe675bd2eb21793a683bbb0d85bb + sha256sums = 57c9236c77133437a533d3cac6775da4749a070dd468e88e29b07d7a83aaaab1 + +pkgname = openni2-git + diff --git a/0002-Change-path-of-config-files-to-etc-openni2.patch b/0002-Change-path-of-config-files-to-etc-openni2.patch new file mode 100644 index 000000000000..e624f75ad030 --- /dev/null +++ b/0002-Change-path-of-config-files-to-etc-openni2.patch @@ -0,0 +1,31 @@ +From: Hauke Wintjen <hwintjen@rimpl-consulting.de> +Date: Fri, 29 Mar 2013 21:16:28 +0100 +Subject: Change path of config files to /etc/openni2 + +--- + Source/Drivers/PS1080/Sensor/XnSensor.cpp | 2 +- + Source/Tools/NiViewer/NiViewer.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/Source/Tools/NiViewer/NiViewer.cpp ++++ b/Source/Tools/NiViewer/NiViewer.cpp +@@ -96,7 +96,7 @@ + // -------------------------------- + // Defines + // -------------------------------- +-#define SAMPLE_XML_PATH "../../../../Data/SamplesConfig.xml" ++#define SAMPLE_XML_PATH "/etc/openni2/SamplesConfig.xml" + + // -------------------------------- + // Types +--- a/Source/Core/OniContext.cpp ++++ b/Source/Core/OniContext.cpp +@@ -23,7 +23,7 @@ + #include <XnLog.h> + #include <XnOSCpp.h> + +-static const char* ONI_CONFIGURATION_FILE = "OpenNI.ini"; ++static const char* ONI_CONFIGURATION_FILE = "/etc/openni2/OpenNI.ini"; + static const char* ONI_DEFAULT_DRIVERS_REPOSITORY = "OpenNI2" XN_FILE_DIR_SEP "Drivers"; + + #define XN_MASK_ONI_CONTEXT "OniContext" diff --git a/0003-Use-system-wide-libjpeg.patch b/0003-Use-system-wide-libjpeg.patch new file mode 100644 index 000000000000..37b3d118891f --- /dev/null +++ b/0003-Use-system-wide-libjpeg.patch @@ -0,0 +1,97 @@ +From: Hauke Wintjen <hwintjen@rimpl-consulting.de> +Date: Fri, 29 Mar 2013 22:21:36 +0100 +Subject: Use system wide libjpeg + +--- + Source/Core/Makefile | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +--- a/Source/Core/Makefile ++++ b/Source/Core/Makefile +@@ -5,14 +5,12 @@ + 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 @@ + LIB_NAME = OpenNI2 + + LIB_DIRS = ../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG) +-USED_LIBS = XnLib dl pthread ++USED_LIBS = XnLib dl pthread jpeg + ifneq ("$(OSTYPE)","Darwin") + USED_LIBS += rt + endif +@@ -32,4 +30,11 @@ + + CFLAGS += -Wall + ++ifeq ($(shell ld -ljpeg -o /dev/null 1>&2 2> /dev/null; echo $$?), 0) ++ USED_LIBS += jpeg ++else ++ INC_DIRS += ../../ThirdParty/LibJPEG ++ SRC_FILES += ../../ThirdParty/LibJPEG/*.c ++endif ++ + include ../../ThirdParty/PSCommon/BuildSystem/CommonCppMakefile +--- a/Source/Drivers/OniFile/Makefile ++++ b/Source/Drivers/OniFile/Makefile +@@ -6,15 +6,12 @@ + . \ + ../../../Include \ + ../../../ThirdParty/PSCommon/XnLib/Include \ +- ../../../ThirdParty/LibJPEG \ + Formats + + SRC_FILES = \ + *.cpp \ + Formats/*.cpp \ +- XnLibExtensions/*.cpp \ +- ../../../ThirdParty/LibJPEG/*.c +- ++ XnLibExtensions/*.cpp + + ifeq ("$(OSTYPE)","Darwin") + INC_DIRS += /opt/local/include +@@ -25,7 +22,7 @@ + LIB_NAME = OniFile + + LIB_DIRS = ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG) +-USED_LIBS = XnLib pthread ++USED_LIBS = XnLib pthread jpeg + ifneq ("$(OSTYPE)","Darwin") + USED_LIBS += rt + endif +--- a/Source/Drivers/PS1080/Makefile ++++ b/Source/Drivers/PS1080/Makefile +@@ -16,8 +16,7 @@ + DriverImpl/*.cpp\ + Formats/*.cpp \ + Include/*.cpp \ +- Sensor/*.cpp \ +- ../../../ThirdParty/LibJPEG/*.c ++ Sensor/*.cpp + + + ifeq ("$(OSTYPE)","Darwin") +@@ -30,7 +29,7 @@ + + LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG) + LIB_DIRS += $(BIN_DIR)/$(PLATFORM)-$(CFG) +-USED_LIBS = XnLib dl pthread DepthUtils ++USED_LIBS = XnLib dl pthread DepthUtils jpeg + ifneq ("$(OSTYPE)","Darwin") + USED_LIBS += rt usb-1.0 udev + else diff --git a/0005-change-default-ni-drivers-path.patch b/0005-change-default-ni-drivers-path.patch new file mode 100644 index 000000000000..63008d33246c --- /dev/null +++ b/0005-change-default-ni-drivers-path.patch @@ -0,0 +1,11 @@ +--- a/Source/Core/OniContext.cpp ++++ b/Source/Core/OniContext.cpp +@@ -24,7 +24,7 @@ + #include <XnOSCpp.h> + + static const char* ONI_CONFIGURATION_FILE = "/etc/openni2/OpenNI.ini"; +-static const char* ONI_DEFAULT_DRIVERS_REPOSITORY = "OpenNI2" XN_FILE_DIR_SEP "Drivers"; ++static const char* ONI_DEFAULT_DRIVERS_REPOSITORY = "/usr/lib/" "OpenNI2" XN_FILE_DIR_SEP "Drivers"; + + #define XN_MASK_ONI_CONTEXT "OniContext" + diff --git a/0013-Fix-GCC6-compilation.patch b/0013-Fix-GCC6-compilation.patch new file mode 100644 index 000000000000..8227c97fd89b --- /dev/null +++ b/0013-Fix-GCC6-compilation.patch @@ -0,0 +1,190 @@ +From: Jochen Sprickerhof <git@jochen.sprickerhof.de> +Date: Sat, 23 Jan 2016 15:56:22 +0100 +Subject: Fix GCC6 compilation + +* Ignore Warray-bounds +* Rename equivalent to fix compilation on gcc6 +* Fix -Werror=misleading-indentation +--- + Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp | 3 ++ + ThirdParty/GL/glh/glh_glut2.h | 2 +- + ThirdParty/GL/glh/glh_linear.h | 66 +++++++++++------------ + 3 files changed, 37 insertions(+), 34 deletions(-) + +diff --git a/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp b/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp +index 120534c..7759333 100644 +--- a/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp ++++ b/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp +@@ -26,6 +26,8 @@ + #include "XnFormats.h" + #include <XnOS.h> + #include <XnLog.h> ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Warray-bounds" + + //--------------------------------------------------------------------------- + // Defines +@@ -240,3 +242,4 @@ XnStatus XnFormatsMirrorPixelData(OniPixelFormat nOutputFormat, XnUChar* pBuffer + return XN_STATUS_ERROR; + } + } ++#pragma GCC diagnostic pop +diff --git a/ThirdParty/GL/glh/glh_glut2.h b/ThirdParty/GL/glh/glh_glut2.h +index 908a0fc..0430698 100644 +--- a/ThirdParty/GL/glh/glh_glut2.h ++++ b/ThirdParty/GL/glh/glh_glut2.h +@@ -190,7 +190,7 @@ namespace glh + { + if (interactors.empty()) + return; +- std::list<glut_interactor *>::iterator it = ++ std::list<glut_interactor *>::iterator it = + std::find(interactors.begin(), interactors.end(), gi); + if(it != interactors.end()) + interactors.erase(it); +diff --git a/ThirdParty/GL/glh/glh_linear.h b/ThirdParty/GL/glh/glh_linear.h +index 422c05f..2e033ba 100644 +--- a/ThirdParty/GL/glh/glh_linear.h ++++ b/ThirdParty/GL/glh/glh_linear.h +@@ -77,7 +77,7 @@ glh_linear.h + #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 glh_equivalent(a,b) (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false) + + namespace glh + { +@@ -225,7 +225,7 @@ namespace glh + for(int i = 0; i < N; i++) + if(v1.v[i] != v2.v[i]) + return false; +- return true; ++ return true; + } + + template <int N, class T> inline +@@ -633,7 +633,7 @@ namespace glh + scp[i] = real(fabs(s[i][0])); + for(j=1;j<4;j++) + if(real(fabs(s[i][j])) > scp[i]) scp[i] = real(fabs(s[i][j])); +- if(scp[i] == 0.0) return minv; // singular matrix! ++ if(scp[i] == 0.0) return minv; // singular matrix! + } + + int pivot_to; +@@ -647,26 +647,26 @@ namespace glh + for(p=i+1;p<4;p++) + if(real(fabs(s[p][i]/scp[p])) > scp_max) + { scp_max = real(fabs(s[p][i]/scp[p])); pivot_to = p; } +- // Pivot if necessary +- if(pivot_to != i) +- { +- tmprow = s[i]; +- s[i] = s[pivot_to]; +- s[pivot_to] = tmprow; +- real tmpscp; +- tmpscp = scp[i]; +- scp[i] = scp[pivot_to]; +- scp[pivot_to] = tmpscp; +- } +- +- real mji; +- // perform gaussian elimination +- for(j=i+1;j<4;j++) +- { +- mji = s[j][i]/s[i][i]; +- s[j][i] = 0.0; +- for(jj=i+1;jj<8;jj++) +- s[j][jj] -= mji*s[i][jj]; ++ // Pivot if necessary ++ if(pivot_to != i) ++ { ++ tmprow = s[i]; ++ s[i] = s[pivot_to]; ++ s[pivot_to] = tmprow; ++ real tmpscp; ++ tmpscp = scp[i]; ++ scp[i] = scp[pivot_to]; ++ scp[pivot_to] = tmpscp; ++ } ++ ++ real mji; ++ // perform gaussian elimination ++ for(j=i+1;j<4;j++) ++ { ++ mji = s[j][i]/s[i][i]; ++ s[j][i] = 0.0; ++ for(jj=i+1;jj<8;jj++) ++ s[j][jj] -= mji*s[i][jj]; + } + } + if(s[3][3] == 0.0) return minv; // singular matrix! +@@ -702,7 +702,7 @@ namespace glh + for(j=0;j<4;j++) + minv(i,j) = s[i][j+4] / s[i][i]; + +- return minv; ++ return minv; + } + + +@@ -1093,7 +1093,7 @@ namespace glh + + 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 = (glh_equivalent(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm ); + + xs = q[0] * s; + ys = q[1] * s; +@@ -1194,7 +1194,7 @@ namespace glh + theta *= real(0.5); + real sin_theta = real(sin(theta)); + +- if (!equivalent(sqnorm,GLH_ONE)) ++ if (!glh_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 @@ namespace glh + + alpha = p1.dot(p2); + +- if(equivalent(alpha,GLH_ONE)) ++ if(glh_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(glh_equivalent(alpha,-GLH_ONE)) + { + vec3 v; + +@@ -1280,7 +1280,7 @@ namespace glh + void normalize() + { + real rnorm = GLH_ONE / real(sqrt(w * w + x * x + y * y + z * z)); +- if (equivalent(rnorm, GLH_ZERO)) ++ if (glh_equivalent(rnorm, GLH_ZERO)) + return; + x *= rnorm; + y *= rnorm; +@@ -1439,10 +1439,10 @@ namespace glh + 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 (glh_equivalent(q1.x, q2.x) && ++ glh_equivalent(q1.y, q2.y) && ++ glh_equivalent(q1.z, q2.z) && ++ glh_equivalent(q1.w, q2.w) ); + } + + inline diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..3091bc1ef77f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,113 @@ +# Maintainer : Daniel Bermond < yahoo-com: danielbermond > + +pkgname=openni2-git +pkgver=2.2.beta.r25.g1fce8ed +pkgrel=1 +pkgdesc="Framework for sensor-based 'Natural Interaction' (Git version)" +arch=('i686' 'x86_64') +url="https://github.com/occipital/OpenNI2/" +license=('APACHE') +depends=('freeglut' 'glu' 'libusb' 'java-environment' 'libjpeg-turbo') +makedepends=('git' 'python' 'doxygen' 'graphviz') +provides=('openni2') +conflicts=('openni2' 'openni2-libfreenect') +source=('openni2-git'::'git+https://github.com/occipital/OpenNI2.git' + '0002-Change-path-of-config-files-to-etc-openni2.patch' + '0003-Use-system-wide-libjpeg.patch' + '0005-change-default-ni-drivers-path.patch' + '0013-Fix-GCC6-compilation.patch' + 'libopenni2.pc') +sha256sums=('SKIP' + '368c0b41a26a65377359ce22a914cb8b6f4020e2972f67f151f2b9bdbf1a5a50' + '1ca20e60ac10a193cbf0ca4759230ba7930479baa7d237476583359e7b62f604' + '635c762230a2dc57977c7f42cc7d1c25438d3864baca7632360466e8c031e3b5' + '0fd53b2c41a48cb4b28e67c6cfcedf4d17ffbe675bd2eb21793a683bbb0d85bb' + '57c9236c77133437a533d3cac6775da4749a070dd468e88e29b07d7a83aaaab1') + +prepare() { + cd "${srcdir}/${pkgname}" + + # fix building documentation with java 8 + # https://github.com/OpenNI/OpenNI2/issues/87 + local _javaver="$(archlinux-java get | grep -o '^[^-]*.[0-9]*')" + if [ "$(vercmp "$_javaver" "java-8")" -ge "0" ] + then + sed -i "s/cmd = \[javaDocExe, '-d', 'java'\]/cmd = [javaDocExe, '-d', 'java', '-Xdoclint:none']/" Source/Documentation/Runme.py + fi + + # apply patches + patch -Np1 -i "${srcdir}/0002-Change-path-of-config-files-to-etc-openni2.patch" + patch -Np1 -i "${srcdir}/0003-Use-system-wide-libjpeg.patch" + patch -Np1 -i "${srcdir}/0005-change-default-ni-drivers-path.patch" + patch -Np1 -i "${srcdir}/0013-Fix-GCC6-compilation.patch" +} + +pkgver() { + cd "${srcdir}/${pkgname}" + + # Git, tags availabe + git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +build() { + cd "${srcdir}/${pkgname}" + make + make doc +} + +package() { + if [ "${CARCH}" = "x86_64" ] + then + _architecture="x64" + elif [ "${CARCH}" = "i686" ] + then + _architecture="x86" + fi + + # directories creation + mkdir -p "${pkgdir}/usr/"{bin,include/openni2/{Linux-Arm,Linux-x86}} + mkdir -p "${pkgdir}/usr/lib/"{OpenNI2/Drivers,pkgconfig} + mkdir -p "${pkgdir}/usr/share/"{doc/"${pkgname}",licenses/"${pkgname}"} + mkdir -p "${pkgdir}/usr/lib/udev/rules.d" # usb rules (udev rules) + mkdir -p "${pkgdir}/etc/openni2/Drivers" # config + + # binaries and libraries + cd "${srcdir}/${pkgname}/Bin/${_architecture}-Release" + install -m755 NiViewer "${pkgdir}/usr/bin/NiViewer2" + install -D -m755 ClosestPointViewer "${pkgdir}/usr/bin" + install -D -m755 EventBasedRead "${pkgdir}/usr/bin" + install -D -m755 Multi* "${pkgdir}/usr/bin" + install -D -m755 MWClosestPointApp "${pkgdir}/usr/bin" + install -D -m755 PS* "${pkgdir}/usr/bin" + install -D -m755 Simple* "${pkgdir}/usr/bin" + install -D -m755 *.so "${pkgdir}/usr/lib" + install -D -m755 OpenNI2/Drivers/*.so "${pkgdir}/usr/lib/OpenNI2/Drivers" + + # includes + cd "${srcdir}/${pkgname}/Include" + install -D -m644 *.h "${pkgdir}/usr/include/openni2" + install -D -m644 Linux-Arm/* "${pkgdir}/usr/include/openni2/Linux-Arm" + install -D -m644 Linux-x86/* "${pkgdir}/usr/include/openni2/Linux-x86" + + # udev rules + cd "${srcdir}/${pkgname}/Packaging/Linux" + install -m644 primesense-usb.rules "${pkgdir}/usr/lib/udev/rules.d/60-openni2-usb.rules" + + # config + cd "${srcdir}/${pkgname}/Config" + install -D -m644 *.ini "${pkgdir}/etc/openni2" + install -D -m644 OpenNI2/Drivers/* "${pkgdir}/etc/openni2/Drivers" + + # documentation + cd "${srcdir}/${pkgname}/Source/Documentation/html" + install -D -m644 * "${pkgdir}/usr/share/doc/${pkgname}" + + # pkg-config file + cd "$srcdir" + install -D -m644 "${srcdir}/libopenni2.pc" "${pkgdir}/usr/lib/pkgconfig" + + # license + cd "${srcdir}/${pkgname}" + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}" + install -D -m644 NOTICE "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/libopenni2.pc b/libopenni2.pc new file mode 100644 index 000000000000..7da42efa01f1 --- /dev/null +++ b/libopenni2.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include/openni2 + +Name: openni2 +Description: A general purpose driver for all OpenNI cameras. +Version: 2.2.0 +Cflags: -I${includedir} +Libs: -L${libdir} -lOpenNI2 |