From bb8471eef051366196b52a216f504966f587f6a0 Mon Sep 17 00:00:00 2001 From: Jochen Sprickerhof Date: Sat, 5 May 2018 16:40:24 +0100 Subject: [PATCH] Import openni2_2.2.0.33+dfsg-11.debian.tar.xz [dgit import tarball openni2 2.2.0.33+dfsg-11 openni2_2.2.0.33+dfsg-11.debian.tar.xz] --- TODO | 1 + changelog | 128 +++++++++ clean | 8 + compat | 1 + control | 78 ++++++ copyright | 246 ++++++++++++++++++ gbp.conf | 11 + libopenni2-0.install | 3 + libopenni2-0.udev | 19 ++ libopenni2-dev.examples | 2 + libopenni2-dev.install | 4 + libopenni2.pc | 10 + openni2-doc.docs | 5 + openni2-utils.install | 1 + patches/0001-Add-SONAME-to-libraries.patch | 37 +++ ...-path-of-config-files-to-etc-openni2.patch | 31 +++ patches/0003-Use-system-wide-libjpeg.patch | 97 +++++++ patches/0004-disable-rpath.patch | 29 +++ .../0005-change-default-ni-drivers-path.patch | 11 + patches/0006-Disable-SSE.patch | 27 ++ ...issing-OniPlatformLinux-Arm.h-header.patch | 41 +++ ...against-ptherad-DSO-on-Ubuntu-raring.patch | 18 ++ ...bute-to-fix-compilation-with-gcc-4.8.patch | 21 ++ patches/0009-Add-ARMhf-support.patch | 52 ++++ patches/0011-Mark-variables-unused.patch | 74 ++++++ patches/0012-generic-linux.patch | 225 ++++++++++++++++ patches/0013-Fix-GCC6-compilation.patch | 190 ++++++++++++++ .../0014-fix-format-overflow-for-GCC7.patch | 37 +++ .../0015-Initialize-variable-for-gcc7.patch | 21 ++ ...platform-for-armel-armhf-NEON-is-not.patch | 22 ++ patches/series | 16 ++ rules | 12 + source.lintian-overrides | 3 + source/format | 1 + source/options | 1 + watch | 7 + 36 files changed, 1490 insertions(+) create mode 100644 TODO create mode 100644 changelog create mode 100644 clean create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 gbp.conf create mode 100644 libopenni2-0.install create mode 100644 libopenni2-0.udev create mode 100644 libopenni2-dev.examples create mode 100644 libopenni2-dev.install create mode 100644 libopenni2.pc create mode 100644 openni2-doc.docs create mode 100644 openni2-utils.install create mode 100644 patches/0001-Add-SONAME-to-libraries.patch create mode 100644 patches/0002-Change-path-of-config-files-to-etc-openni2.patch create mode 100644 patches/0003-Use-system-wide-libjpeg.patch create mode 100644 patches/0004-disable-rpath.patch create mode 100644 patches/0005-change-default-ni-drivers-path.patch create mode 100644 patches/0006-Disable-SSE.patch create mode 100644 patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch create mode 100644 patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch create mode 100644 patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch create mode 100644 patches/0009-Add-ARMhf-support.patch create mode 100644 patches/0011-Mark-variables-unused.patch create mode 100644 patches/0012-generic-linux.patch create mode 100644 patches/0013-Fix-GCC6-compilation.patch create mode 100644 patches/0014-fix-format-overflow-for-GCC7.patch create mode 100644 patches/0015-Initialize-variable-for-gcc7.patch create mode 100644 patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source.lintian-overrides create mode 100644 source/format create mode 100644 source/options create mode 100644 watch diff --git a/TODO b/TODO new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/TODO @@ -0,0 +1 @@ + diff --git a/changelog b/changelog new file mode 100644 index 0000000..049bd0a --- /dev/null +++ b/changelog @@ -0,0 +1,128 @@ +openni2 (2.2.0.33+dfsg-11) unstable; urgency=medium + + [ Ondřej Nový ] + * d/copyright: Use https protocol in Format field + + [ Felipe Sateler ] + * Change maintainer address to debian-multimedia@lists.debian.org + + [ Jochen Sprickerhof ] + * Update Vcs URLs to salsa.d.o + * Move cleanup to d/clean + * Add R³ + * http -> https + * Fix dh_clean + * Fix missing-notice-file-for-apache-license + * Bump policy and debhelper versions + * Don't build with -Werror (Closes: #897827) + + -- Jochen Sprickerhof Sat, 05 May 2018 17:40:24 +0200 + +openni2 (2.2.0.33+dfsg-10) unstable; urgency=medium + + * Add patch for arm. + Thanks to Adrian Bunk (Closes: #874220) + * Remove flags, not needed anymore + + -- Jochen Sprickerhof Sat, 09 Sep 2017 16:17:46 +0200 + +openni2 (2.2.0.33+dfsg-9) unstable; urgency=medium + + * Add patch for GCC7 (Closes: #871157) + * Delete removed paragraphs from copyright + * Bump standards version (no changes needed) + + -- Jochen Sprickerhof Wed, 09 Aug 2017 08:40:32 +0200 + +openni2 (2.2.0.33+dfsg-8) unstable; urgency=medium + + [ Hans-Christoph Steiner ] + * remove myself from Uploaders + + [ Jochen Sprickerhof ] + * Remove Temp documentation to make package build reproducible + * Add patch for GCC7 (Closes: #853597) + * Remove Cosimo Alfarano from Uploaders (Closes: #846822) + * bump compat to 10 (no changes needed) + * Remove versioned dependencies + + -- Jochen Sprickerhof Tue, 07 Feb 2017 18:40:17 +0100 + +openni2 (2.2.0.33+dfsg-7) unstable; urgency=medium + + * Don't link plugins in pkg-config file + * Fix lintian warnings + * Add watch file + * Update my email address + * Bumped Standards-Version to 3.9.8, no changes needed. + + -- Jochen Sprickerhof Mon, 12 Sep 2016 11:32:44 +0200 + +openni2 (2.2.0.33+dfsg-6) unstable; urgency=medium + + * Add gcc6 patch (Closes: #812056) + + -- Jochen Sprickerhof Sat, 23 Jan 2016 16:56:31 +0100 + +openni2 (2.2.0.33+dfsg-5) unstable; urgency=medium + + * Add 0012-generic-linux.patch. + Thanks to Riku Voipio (Closes: #801123) + + -- Jochen Sprickerhof Fri, 09 Oct 2015 22:34:31 +0200 + +openni2 (2.2.0.33+dfsg-4) unstable; urgency=medium + + * Add myself to Uploaders + * Fix Vcs-Git URL + * Fix Homepage (closes: #795276) + + -- Jochen Sprickerhof Mon, 17 Aug 2015 12:14:36 +0200 + +openni2 (2.2.0.33+dfsg-3) unstable; urgency=medium + + * Properly fix unused variables + + -- Jochen Sprickerhof Sun, 16 Aug 2015 10:10:00 +0200 + +openni2 (2.2.0.33+dfsg-2) unstable; urgency=medium + + * Fix compilation with GCC5 + * Add ARMhf support. + + -- Jochen Sprickerhof Sat, 15 Aug 2015 14:17:54 +0200 + +openni2 (2.2.0.33+dfsg-1) unstable; urgency=low + + [ Hauke Wintjen ] + * Merged upstream to 2.2.0.33 + * Refresh patches + + [ Jochen Sprickerhof ] + * Bump standards version + * Initial release. (Closes: #607160) + * Add more licenses + * Filter non dfsg free files in gbp.conf + * Imported Upstream version 2.2.0.33+dfsg + + -- Hans-Christoph Steiner Wed, 25 Mar 2015 10:49:04 -0400 + +openni2 (2.1.0.4-1ubuntu1~1.gbp2a4158) UNRELEASED; urgency=low + + ** SNAPSHOT build @2a4158ba551d1f7de2549afc4400bd4110641cce ** + + * Some ignores + * Ignore eclipse projects + * Some more ignores + * Some ignores + * Refresh patches + * Refresh patches + * more refresh + + -- Hauke Wintjen Fri, 29 Mar 2013 23:14:11 +0100 + +openni2 (2.1.0.4-1) unstable; urgency=low + + * Initial creation of debian package + + -- Hauke Wintjen Tue, 14 Mar 2013 00:40:17 +0100 diff --git a/clean b/clean new file mode 100644 index 0000000..1cbe6f8 --- /dev/null +++ b/clean @@ -0,0 +1,8 @@ +Source/Documentation/html/ +Source/Documentation/Temp/ +Source/Documentation/java/ +Bin/Intermediate/ +Bin/*-Release/ +ThirdParty/PSCommon/XnLib/Bin/*-Release/ +ThirdParty/PSCommon/XnLib/Bin/Intermediate/ +Source/Documentation/doxygen_sqlite3.db diff --git a/compat b/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000..8d326b6 --- /dev/null +++ b/control @@ -0,0 +1,78 @@ +Source: openni2 +Priority: optional +Section: libs +Maintainer: Debian Multimedia Maintainers +Uploaders: Nobuhiro Iwamatsu , + Jochen Sprickerhof +Build-Depends: debhelper (>= 11), + debsums, + freeglut3-dev, + libusb-1.0-0-dev, + python, + doxygen, + graphviz, + libjpeg-dev, + libudev-dev, + default-jdk +Standards-Version: 4.1.4 +Rules-Requires-Root: no +Homepage: https://structure.io/openni +Vcs-Git: https://salsa.debian.org/multimedia-team/openni2.git +Vcs-Browser: https://salsa.debian.org/multimedia-team/openni2 + +Package: libopenni2-0 +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: framework for sensor-based 'Natural Interaction' + OpenNI2 is a framework for getting data to support 'Natural Interaction', + i.e. skeleton tracking, gesture tracking, and similar ways of getting data + from humans. OpenNI2 provides the interface for physical devices and for + middleware components. The API enables modules to be registered in the OpenNI2 + framework, which then produce sensory data. OpenNI2 also allows selection of + different hardware and middleware modules. + +Package: openni2-utils +Section: utils +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: debug and test utilities OpenNI2 framework + OpenNI2 is a framework for getting data to support 'Natural Interaction', + i.e. skeleton tracking, gesture tracking, and similar ways of getting data + from humans. OpenNI2 provides the interface for physical devices and for + middleware components. The API enables modules to be registered in the OpenNI2 + framework, which then produce sensory data. OpenNI2 also allows selection of + different hardware and middleware modules. + . + This package provides a number of related utilities for debugging, testing, + and view the results of the sensor modules. + +Package: libopenni2-dev +Section: libdevel +Architecture: any +Depends: ${misc:Depends}, + libopenni2-0 (= ${binary:Version}) +Suggests: openni2-doc +Description: headers for OpenNI 'Natural Interaction' frameworks + OpenNI is a framework for getting data to support 'Natural Interaction', + i.e. skeleton tracking, gesture tracking, and similar ways of getting data + from humans. OpenNI provides the interface for physical devices and for + middleware components. The API enables modules to be registered in the OpenNI + framework, which then produce sensory data. OpenNI also allows selection of + different hardware and middleware modules. + +Package: openni2-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Description: developer documentation for OpenNI frameworks + OpenNI is a framework for getting data to support 'Natural Interaction', + i.e. skeleton tracking, gesture tracking, and similar ways of getting data + from humans. OpenNI provides the interface for physical devices and for + middleware components. The API enables modules to be registered in the OpenNI + framework, which then produce sensory data. OpenNI also allows selection of + different hardware and middleware modules. + . + This package provides developer documentation for developing using the OpenNI2 + frameworks. diff --git a/copyright b/copyright new file mode 100644 index 0000000..3957ffb --- /dev/null +++ b/copyright @@ -0,0 +1,246 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: OpenNI2 +Upstream-Contact: OpenNI, http://www.openni.org/contact-us +Source: https://github.com/occipital/openni2 + +Files: * +Copyright: 2010-2013, PrimeSense Ltd. +License: APACHE-2.0 + +Files: Packaging/Linux/install.sh +Copyright: 2012, PrimeSense Ltd. +License: GPL-3+ + +Files: ThirdParty/GL/glh/* + ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/* +Copyright: 2000, Cass Everitt + 2000-2001 NVIDIA Corporation +License: BSD-3-clause-NVIDIA-LICENSE + +Files: ThirdParty/LibJPEG/* +Copyright: 1991-1998, Thomas G. Lane. +License: LibJPEG + +Files: ThirdParty/PSCommon/Testing/* +Copyright: 2003,2005-2009, Google Inc. +License: Google + +Files: ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/Android.mk +Copyright: 2012, PrimeSense Ltd. +License: APACHE-2.0 + +Files: ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/* +Copyright: Copyright (C) 2007-2009 Daniel Drake + Copyright (c) 2001 Johannes Erdfelt + Copyright (C) 2008-2012 Nathan Hjelm + Copyright (C) 2009-2012 Pete Batard + Copyright (C) 2010 Michael Plante + Copyright (C) 2010-2012 Peter Stuge + Copyright (C) 2011-2012 Hans de Goede + Copyright (C) 2012 Martin Pieuchot +License: LGPL-2.1 + +Files: debian/* +Copyright: 2010-2013, Hans-Christoph Steiner + 2011, Cosimo Alfarano + 2013, Hauke Wintjen + 2013-2014, Jochen Sprickerhof +License: GPL-3+ + + +License: APACHE-2.0 + OpenNI 2.0 + Copyright (c) 2012 PrimeSense Ltd. + . + This product is licensed under the Apache License, Version 2.0 (the "License"); + . + You should have received a copy of the Apache License + along with OpenNI. If not, see: + http://www.apache.org/licenses/LICENSE-2.0 + . + This software is based in part on the work of the Independent JPEG Group. + . + Your use of the library may involve use of the Microsoft Kinect for Windows Software Development Kit, + which is currently subject to the following license: + http://www.microsoft.com/en-us/kinectforwindows/develop/sdk-eula.aspx + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General Public + License version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; + version 2.1 of the License. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU Lesser General Public + License version 2.1 can be found in the file + `/usr/share/common-licenses/LGPL-2.1'. + +License: Google + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause-NVIDIA-LICENSE + Copyright (c) 2000 Cass Everitt + Copyright (c) 2000 NVIDIA Corporation + All rights reserved. + . + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + . + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + . + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + . + * The names of contributors to this software may not be used + to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: LibJPEG + In plain English: + . + 1. We don't promise that this software works. (But if you find any bugs, + please let us know!) + 2. You can use this software for whatever you want. You don't have to pay us. + 3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. + . + In legalese: + . + The authors make NO WARRANTY or representation, either express or implied, + with respect to this software, its quality, accuracy, merchantability, or + fitness for a particular purpose. This software is provided "AS IS", and + you, its user, assume the entire risk as to its quality and accuracy. + . + This software is copyright (C) 1991-1998, Thomas G. Lane. + All Rights Reserved except as specified below. + . + Permission is hereby granted to use, copy, modify, and distribute this + software (or portions thereof) for any purpose, without fee, subject to these + conditions: + (1) If any part of the source code for this software is distributed, then this + README file must be included, with this copyright and no-warranty notice + unaltered; and any additions, deletions, or changes to the original files + must be clearly indicated in accompanying documentation. + (2) If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the work of + the Independent JPEG Group". + (3) Permission for use of this software is granted only if the user accepts + full responsibility for any undesirable consequences; the authors accept + NO LIABILITY for damages of any kind. + . + These conditions apply to any software derived from or based on the IJG code, + not just to the unmodified library. If you use our work, you ought to + acknowledge us. + . + Permission is NOT granted for the use of any IJG author's name or company name + in advertising or publicity relating to this software or products derived from + it. This software may be referred to only as "the Independent JPEG Group's + software". + . + We specifically permit and encourage the use of this software as the basis of + commercial products, provided that all warranty or liability claims are + assumed by the product vendor. + . + ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, + sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. + ansi2knr.c is NOT covered by the above copyright and conditions, but instead + by the usual distribution terms of the Free Software Foundation; principally, + that you must include source code if you redistribute it. (See the file + ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part + of any program generated from the IJG code, this does not limit you more than + the foregoing paragraphs do. + . + The Unix configuration script "configure" was produced with GNU Autoconf. + It is copyright by the Free Software Foundation but is freely distributable. + The same holds for its supporting scripts (config.guess, config.sub, + ltconfig, ltmain.sh). Another support script, install-sh, is copyright + by M.I.T. but is also freely distributable. + . + It appears that the arithmetic coding option of the JPEG spec is covered by + patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot + legally be used without obtaining one or more licenses. For this reason, + support for arithmetic coding has been removed from the free JPEG software. + (Since arithmetic coding provides only a marginal gain over the unpatented + Huffman mode, it is unlikely that very many implementations will support it.) + So far as we are aware, there are no patent restrictions on the remaining + code. + . + The IJG distribution formerly included code to read and write GIF files. + To avoid entanglement with the Unisys LZW patent, GIF reading support has + been removed altogether, and the GIF writer has been simplified to produce + "uncompressed GIFs". This technique does not use the LZW algorithm; the + resulting GIF files are larger than usual, but are readable by all standard + GIF decoders. + . + We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..4790de2 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,11 @@ +[DEFAULT] +upstream-branch = upstream +debian-branch = master +upstream-tag = upstream/%(version)s +debian-tag = debian/%(version)s +pristine-tar = True +sign-tags = True + +[git-import-orig] +filter = ['ThirdParty/GL/GL', 'ThirdParty/PSCommon/XnLib/ThirdParty/GL/GL', 'ThirdParty/PSCommon/XnLib/Driver/Win32/Bin/psdrv3.inf'] +filter-pristine-tar = True diff --git a/libopenni2-0.install b/libopenni2-0.install new file mode 100644 index 0000000..7258244 --- /dev/null +++ b/libopenni2-0.install @@ -0,0 +1,3 @@ +Bin/*-Release/libOpenNI2.so.* usr/lib/ +Bin/*-Release/OpenNI2/Drivers/lib*.so.* usr/lib/OpenNI2/Drivers/ +Config/*.ini etc/openni2/ diff --git a/libopenni2-0.udev b/libopenni2-0.udev new file mode 100644 index 0000000..5607ca8 --- /dev/null +++ b/libopenni2-0.udev @@ -0,0 +1,19 @@ +# Make primesense device mount with writing permissions (default is read only for unknown devices) +SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="2100", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="2200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="0400", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" +SUBSYSTEM=="usb", ATTR{idProduct}=="02c2", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video" diff --git a/libopenni2-dev.examples b/libopenni2-dev.examples new file mode 100644 index 0000000..2ff580f --- /dev/null +++ b/libopenni2-dev.examples @@ -0,0 +1,2 @@ +Samples/ + diff --git a/libopenni2-dev.install b/libopenni2-dev.install new file mode 100644 index 0000000..ca27a49 --- /dev/null +++ b/libopenni2-dev.install @@ -0,0 +1,4 @@ +Include/* usr/include/openni2/ +debian/libopenni2.pc usr/lib/pkgconfig +Bin/*-Release/libOpenNI2.so usr/lib/ +Bin/*-Release/OpenNI2/Drivers/lib*.so usr/lib/OpenNI2/Drivers/ diff --git a/libopenni2.pc b/libopenni2.pc new file mode 100644 index 0000000..dede1c3 --- /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.3 +Cflags: -I${includedir} +Libs: -L${libdir} -lOpenNI2 diff --git a/openni2-doc.docs b/openni2-doc.docs new file mode 100644 index 0000000..d2945ea --- /dev/null +++ b/openni2-doc.docs @@ -0,0 +1,5 @@ +Source/Documentation/html +Source/Documentation/java +README +ReleaseNotes.txt +NOTICE diff --git a/openni2-utils.install b/openni2-utils.install new file mode 100644 index 0000000..b8643a8 --- /dev/null +++ b/openni2-utils.install @@ -0,0 +1 @@ +Bin/*-Release/NiViewer2 usr/bin/ diff --git a/patches/0001-Add-SONAME-to-libraries.patch b/patches/0001-Add-SONAME-to-libraries.patch new file mode 100644 index 0000000..c48267b --- /dev/null +++ b/patches/0001-Add-SONAME-to-libraries.patch @@ -0,0 +1,37 @@ +From: Hauke Wintjen +Date: Fri, 29 Mar 2013 21:04:33 +0100 +Subject: Add SONAME to libraries + +--- + ThirdParty/PSCommon/BuildSystem/CommonCppMakefile | 4 ++-- + ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile +index ffdc236..6d0d0b4 100644 +--- a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile ++++ b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile +@@ -77,8 +77,8 @@ ifneq "$(LIB_NAME)" "" + OUTPUT_NAME = lib$(LIB_NAME).so + ifneq ("$(OSTYPE)","Darwin") + LDFLAGS += -Wl,--no-undefined +- OUTPUT_NAME = lib$(LIB_NAME).so +- OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared ++ OUTPUT_NAME = lib$(LIB_NAME).so.0 ++ OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared -Wl,-soname,${OUTPUT_NAME} && cd ${OUT_DIR} && ln -fs ${OUTPUT_NAME} lib$(LIB_NAME).so + else + LDFLAGS += -undefined error + OUTPUT_NAME = lib$(LIB_NAME).dylib +diff --git a/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h b/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h +index f8d1ecd..7262b00 100644 +--- a/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h ++++ b/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h +@@ -78,7 +78,7 @@ typedef void* XN_LIB_HANDLE; + #define XN_SHARED_LIBRARY_PREFIX "lib" + + /** A string that specifies the postfix of shared library files. */ +-#define XN_SHARED_LIBRARY_POSTFIX ".so" ++#define XN_SHARED_LIBRARY_POSTFIX ".so.0" + + //--------------------------------------------------------------------------- + // Threads diff --git a/patches/0002-Change-path-of-config-files-to-etc-openni2.patch b/patches/0002-Change-path-of-config-files-to-etc-openni2.patch new file mode 100644 index 0000000..e624f75 --- /dev/null +++ b/patches/0002-Change-path-of-config-files-to-etc-openni2.patch @@ -0,0 +1,31 @@ +From: Hauke Wintjen +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 + #include + +-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/patches/0003-Use-system-wide-libjpeg.patch b/patches/0003-Use-system-wide-libjpeg.patch new file mode 100644 index 0000000..37b3d11 --- /dev/null +++ b/patches/0003-Use-system-wide-libjpeg.patch @@ -0,0 +1,97 @@ +From: Hauke Wintjen +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/patches/0004-disable-rpath.patch b/patches/0004-disable-rpath.patch new file mode 100644 index 0000000..6e430e2 --- /dev/null +++ b/patches/0004-disable-rpath.patch @@ -0,0 +1,29 @@ +From: Hauke Wintjen +Date: Tue, 2 Apr 2013 21:09:09 +0200 +Subject: disable rpath + +This has the advance that we dont get any lintian warnings but the drawback that afterwards +the drivers.so are no longer found. + +So this patch is DISABLED in series currently. + +This is caused by the fact that dlopen does not consider the current dir if not told so +(XnLinuxSharedLibs.cpp should be fixed for that). + +--- + ThirdParty/PSCommon/BuildSystem/CommonCppMakefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile +index 4d53302..c442865 100644 +--- a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile ++++ b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile +@@ -88,7 +88,7 @@ endif + ifneq "$(EXE_NAME)" "" + OUTPUT_NAME = $(EXE_NAME) + # We want the executables to look for the .so's locally first: +- LDFLAGS += -Wl,-rpath ./ ++ # LDFLAGS += -Wl,-rpath ./ + OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) + endif + ifneq "$(SLIB_NAME)" "" diff --git a/patches/0005-change-default-ni-drivers-path.patch b/patches/0005-change-default-ni-drivers-path.patch new file mode 100644 index 0000000..63008d3 --- /dev/null +++ b/patches/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 + + 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/patches/0006-Disable-SSE.patch b/patches/0006-Disable-SSE.patch new file mode 100644 index 0000000..399a321 --- /dev/null +++ b/patches/0006-Disable-SSE.patch @@ -0,0 +1,27 @@ +From: Jochen Sprickerhof +Date: Mon, 20 May 2013 13:06:29 +0200 +Subject: Disable SSE + +--- + ThirdParty/PSCommon/BuildSystem/Platform.x86 | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/ThirdParty/PSCommon/BuildSystem/Platform.x86 ++++ b/ThirdParty/PSCommon/BuildSystem/Platform.x86 +@@ -2,7 +2,7 @@ + export GLUT_SUPPORTED=1 + + ifndef SSE_GENERATION +- SSE_GENERATION = 3 ++ SSE_GENERATION = 0 + endif + + ifeq ("$(OSTYPE)","Darwin") +@@ -19,7 +19,5 @@ + ifeq ($(SSSE3_ENABLED), 1) + CFLAGS += -mssse3 + endif +- else +- DUMMY:=($error "Only SSE2 and SSE3 are supported") + endif + endif diff --git a/patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch b/patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch new file mode 100644 index 0000000..5329a2c --- /dev/null +++ b/patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch @@ -0,0 +1,41 @@ +From 9ae6d6ca4e8a3e17149d307bf97e5d0ac0f931d0 Mon Sep 17 00:00:00 2001 +From: Hauke Wintjen +Date: Wed, 30 Jan 2013 21:38:18 +0100 +Subject: [PATCH] Added Armv6l as new target platform + +--- + ThirdParty/PSCommon/BuildSystem/CommonDefs.mak | 2 + + ThirdParty/PSCommon/BuildSystem/Platform.Armv6l | 14 ++++ + 3 files changed, 118 insertions(+) + create mode 100644 ThirdParty/PSCommon/BuildSystem/Platform.Armv6l + +--- a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak ++++ b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak +@@ -16,6 +16,8 @@ + HOST_PLATFORM = x86 + else ifneq (,$(findstring i386,$(MACHINE))) + HOST_PLATFORM = x86 ++else ifneq (,$(findstring armv6l,$(MACHINE))) ++ HOST_PLATFORM = Armv6l + else ifneq (,$(findstring arm,$(MACHINE))) + HOST_PLATFORM = Arm + else +--- /dev/null ++++ b/ThirdParty/PSCommon/BuildSystem/Platform.Armv6l +@@ -0,0 +1,16 @@ ++# Platform defs for Raspberry PI Hard floats ++export GLUT_SUPPORTED=1 ++ ++ifeq "$(CFG)" "Release" ++ ++ # Hardware specifying flags ++ # hardfp is now default, so no extra flags needed ++ # CFLAGS += -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard ++ ++ # Optimization level, minus currently buggy optimizing methods (which break bit-exact) ++ CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing ++ ++ # More optimization flags ++ CFLAGS += -ftree-vectorize -ffast-math -funsafe-math-optimizations -fsingle-precision-constant ++ ++endif diff --git a/patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch b/patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch new file mode 100644 index 0000000..1653a49 --- /dev/null +++ b/patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch @@ -0,0 +1,18 @@ +From: Jochen Sprickerhof +Date: Sat, 25 May 2013 10:28:22 +0200 +Subject: Link NiViewer against ptherad (DSO on Ubuntu raring) + +--- + Source/Tools/NiViewer/Makefile | 1 + + 1 file changed, 1 insertion(+) + +--- a/Source/Tools/NiViewer/Makefile ++++ b/Source/Tools/NiViewer/Makefile +@@ -23,6 +23,7 @@ + else + CFLAGS += -DUNIX -DGLX_GLXEXT_LEGACY + USED_LIBS += glut GL ++ LDFLAGS += -pthread + endif + + LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG) diff --git a/patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch b/patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch new file mode 100644 index 0000000..73658f7 --- /dev/null +++ b/patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch @@ -0,0 +1,21 @@ +From: Jochen Sprickerhof +Date: Fri, 28 Feb 2014 11:23:06 +0100 +Subject: Add unused attribute to fix compilation with gcc-4.8 + +--- + Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h b/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h +index d3f16b7..0657b7a 100644 +--- a/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h ++++ b/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h +@@ -15,7 +15,7 @@ + #define XN_MASK_LINK "xnLink" + + #ifndef XN_COMPILER_ASSERT +-#define XN_COMPILER_ASSERT(x) typedef int compileAssert[x ? 1 : -1] ++#define XN_COMPILER_ASSERT(x) typedef int compileAssert[x ? 1 : -1] __attribute__((unused)) + #endif + + template diff --git a/patches/0009-Add-ARMhf-support.patch b/patches/0009-Add-ARMhf-support.patch new file mode 100644 index 0000000..b37b383 --- /dev/null +++ b/patches/0009-Add-ARMhf-support.patch @@ -0,0 +1,52 @@ +--- a/Packaging/Harvest.py ++++ b/Packaging/Harvest.py +@@ -98,9 +98,7 @@ class Harvest: + self.copySharedObject(binDriversDir, 'Kinect', targetDriversDir) + + def copySample(self, samplesDir, name, isLibrary = False, isGL = False, isJava = False): +- if self.arch == 'Arm' and isGL: +- return +- ++ + sampleTargetDir = os.path.join(samplesDir, name) + sampleSourceDir = os.path.join(self.rootDir, 'Samples', name) + +@@ -262,9 +260,7 @@ $(OUTPUT_FILE): copy-redist + self.copyExecutable(self.binDir, name, os.path.join(samplesDir, 'Bin')) + + def copyTool(self, toolsDir, name, isGL = False): +- if self.arch == 'Arm' and isGL: +- return +- ++ + self.copyExecutable(self.binDir, name, toolsDir) + + def copyDocumentation(self, docDir): +--- 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 + +--- a/ThirdParty/PSCommon/BuildSystem/Platform.Arm ++++ b/ThirdParty/PSCommon/BuildSystem/Platform.Arm +@@ -1,7 +1,10 @@ ++# some defaults ++export GLUT_SUPPORTED=1 ++ + ifeq "$(CFG)" "Release" + + # Hardware specifying flags +- CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8 ++ CFLAGS += -Wno-unused-local-typedefs -march=armv7-a -mtune=cortex-a9 -mfpu=neon #-mfloat-abi=softfp #-mcpu=cortex-a8 + + # Optimization level, minus currently buggy optimizing methods (which break bit-exact) + CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing +-- +1.9.1 + diff --git a/patches/0011-Mark-variables-unused.patch b/patches/0011-Mark-variables-unused.patch new file mode 100644 index 0000000..98d26b2 --- /dev/null +++ b/patches/0011-Mark-variables-unused.patch @@ -0,0 +1,74 @@ +From: Jochen Sprickerhof +Date: Sun, 16 Aug 2015 09:33:27 +0200 +Subject: Mark variables unused + +--- + ThirdParty/PSCommon/XnLib/Include/XnMath.h | 8 ++++---- + ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h | 2 +- + ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp | 2 +- + ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp | 2 +- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/ThirdParty/PSCommon/XnLib/Include/XnMath.h b/ThirdParty/PSCommon/XnLib/Include/XnMath.h +index df6044d..c52ea7e 100644 +--- a/ThirdParty/PSCommon/XnLib/Include/XnMath.h ++++ b/ThirdParty/PSCommon/XnLib/Include/XnMath.h +@@ -155,15 +155,15 @@ namespace xnl + #endif + static const XnFloat ONE_THIRD = (XnFloat)(1.0f/3.0f); + static const XnFloat ONE_SIXTH = (XnFloat)(1.0f/6.0f); +- static const XnFloat ROOT_TWO = (XnFloat)Sqrt(2.0f); +- static const XnFloat ROOT_THREE = (XnFloat)Sqrt(3.0f); ++ static const XnFloat ROOT_TWO __attribute__ ((unused)) = (XnFloat)Sqrt(2.0f); ++ static const XnFloat ROOT_THREE __attribute__ ((unused)) = (XnFloat)Sqrt(3.0f); + static const XnFloat PI = (XnFloat)M_PI; + static const XnFloat HALF_PI = (XnFloat)(0.5f*M_PI); + static const XnFloat TWO_PI = (XnFloat)(2.0f*M_PI); +- static const XnFloat ROOT_TWO_PI = (XnFloat)Sqrt(2.0f*M_PI); ++ static const XnFloat ROOT_TWO_PI __attribute__ ((unused)) = (XnFloat)Sqrt(2.0f*M_PI); + static const XnFloat DTR = (XnFloat)(M_PI / 180.0f); + static const XnFloat RTD = (XnFloat)(180.0f / M_PI); +- static const XnFloat PHI = (XnFloat)((-1.0f + Sqrt(5.0f)) / 2.0f); ++ static const XnFloat PHI __attribute__ ((unused)) = (XnFloat)((-1.0f + Sqrt(5.0f)) / 2.0f); + + } // Math + } // xnl +diff --git a/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h b/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h +index bdca0df..cc1ae77 100644 +--- a/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h ++++ b/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h +@@ -73,7 +73,7 @@ XN_C_API XnStatus XN_C_DECL xnRegisterErrorCodeMessages(XnUInt16 nGroup, XnUInt1 + /** Marks the end of a message map. */ + #define XN_STATUS_MESSAGE_MAP_END_FROM(group, first) \ + }; \ +- static XnStatus s_##group##first##_result = xnRegisterErrorCodeMessages(group, first, sizeof(_XN_ERROR_GROUP_NAME(group, first)) / sizeof(XnErrorCodeData), _XN_ERROR_GROUP_NAME(group, first)); ++ static XnStatus s_##group##first##_result __attribute__ ((unused)) = xnRegisterErrorCodeMessages(group, first, sizeof(_XN_ERROR_GROUP_NAME(group, first)) / sizeof(XnErrorCodeData), _XN_ERROR_GROUP_NAME(group, first)); + + #define XN_STATUS_REGISTER + +diff --git a/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp b/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp +index 75f5b8d..1f8b8ae 100644 +--- a/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp ++++ b/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp +@@ -30,7 +30,7 @@ XnOSTimer g_xnOSHighResGlobalTimer; + bool g_xnOSInitialized = false; + + XnStatus xnOSTimeInit(); +-static XnStatus g_initalizeStatus = xnOSTimeInit(); ++static XnStatus g_initalizeStatus __attribute__ ((unused)) = xnOSTimeInit(); + + //--------------------------------------------------------------------------- + // Macros +diff --git a/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp b/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp +index 1659649..9c19e6b 100644 +--- a/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp ++++ b/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp +@@ -44,7 +44,7 @@ typedef xnl::Hash XnGroupsHash; + static XnGroupsHash* g_pErrorGroups = NULL; + + static XnErrorCodeData s_OK_Data = { XN_STATUS_OK, XN_STRINGIFY(XN_STATUS_OK), "OK" }; +-static XnStatus s_XN_OK_result = xnRegisterErrorCodeMessages(0, 0, 1, &s_OK_Data); ++static XnStatus s_XN_OK_result __attribute__ ((unused)) = xnRegisterErrorCodeMessages(0, 0, 1, &s_OK_Data); + + //--------------------------------------------------------------------------- + // Code diff --git a/patches/0012-generic-linux.patch b/patches/0012-generic-linux.patch new file mode 100644 index 0000000..d2c1cb2 --- /dev/null +++ b/patches/0012-generic-linux.patch @@ -0,0 +1,225 @@ +diff -urN openni2-2.2.0.33+dfsg.old/Include/Linux-generic/OniPlatformLinux-generic.h openni2-2.2.0.33+dfsg/Include/Linux-generic/OniPlatformLinux-generic.h +--- openni2-2.2.0.33+dfsg.old/Include/Linux-generic/OniPlatformLinux-generic.h 1970-01-01 02:00:00.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/Include/Linux-generic/OniPlatformLinux-generic.h 2015-10-06 15:58:43.000000000 +0300 +@@ -0,0 +1,36 @@ ++/***************************************************************************** ++* * ++* OpenNI 2.x Alpha * ++* Copyright (C) 2012 PrimeSense Ltd. * ++* * ++* This file is part of OpenNI. * ++* * ++* Licensed under the Apache License, Version 2.0 (the "License"); * ++* you may not use this file except in compliance with the License. * ++* You may obtain a copy of the License at * ++* * ++* http://www.apache.org/licenses/LICENSE-2.0 * ++* * ++* Unless required by applicable law or agreed to in writing, software * ++* distributed under the License is distributed on an "AS IS" BASIS, * ++* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * ++* See the License for the specific language governing permissions and * ++* limitations under the License. * ++* * ++*****************************************************************************/ ++#ifndef _ONI_PLATFORM_LINUX_GENERIC_H_ ++#define _ONI_PLATFORM_LINUX_GENERIC_H_ ++ ++// Start with Linux-x86, and override what's different ++#include "../Linux-x86/OniPlatformLinux-x86.h" ++ ++//--------------------------------------------------------------------------- ++// Platform Basic Definition ++//--------------------------------------------------------------------------- ++#undef ONI_PLATFORM ++#undef ONI_PLATFORM_STRING ++#define ONI_PLATFORM ONI_PLATFORM_LINUX_GENERIC ++#define ONI_PLATFORM_STRING "Linux-generic" ++ ++#endif //_ONI_PLATFORM_LINUX_GENERIC_H_ ++ +diff -urN openni2-2.2.0.33+dfsg.old/Include/OniPlatform.h openni2-2.2.0.33+dfsg/Include/OniPlatform.h +--- openni2-2.2.0.33+dfsg.old/Include/OniPlatform.h 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/Include/OniPlatform.h 2015-10-06 16:00:13.000000000 +0300 +@@ -27,6 +27,7 @@ + #define ONI_PLATFORM_LINUX_ARM 3 + #define ONI_PLATFORM_MACOSX 4 + #define ONI_PLATFORM_ANDROID_ARM 5 ++#define ONI_PLATFORM_LINUX_GENERIC 6 + + #if (defined _WIN32) + # ifndef RC_INVOKED +@@ -41,6 +42,8 @@ + # include "Linux-x86/OniPlatformLinux-x86.h" + #elif (__linux__ && __arm__) + # include "Linux-Arm/OniPlatformLinux-Arm.h" ++#elif (__linux__) ++# include "Linux-generic/OniPlatformLinux-generic.h" + #elif _ARC + # include "ARC/OniPlaformARC.h" + #elif (__APPLE__) +diff -urN openni2-2.2.0.33+dfsg.old/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h openni2-2.2.0.33+dfsg/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h +--- openni2-2.2.0.33+dfsg.old/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h 2015-10-06 16:03:01.000000000 +0300 +@@ -57,7 +57,7 @@ + + #define XN_SENSOR_USB_MISC_BUFFER_SIZE 0x1000 + #define XN_SENSOR_USB_MISC_BUFFERS 1 +-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) ++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC) + #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_ISO 32 + #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_BULK 40 + #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_LOWBAND_ISO 16 +diff -urN openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp +--- openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp 2015-10-06 16:06:15.000000000 +0300 +@@ -16,7 +16,7 @@ + const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_BULK = 120; + const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_BULK = 8; + const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_BULK = 1000; +-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) ++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC ) + const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_ISO = 32; + const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_ISO = 16; + const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_ISO = 100; +diff -urN openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/PS1200Device.cpp openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/PS1200Device.cpp +--- openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/PS1200Device.cpp 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/PS1200Device.cpp 2015-10-06 16:04:19.000000000 +0300 +@@ -43,7 +43,7 @@ + // On all platforms other than Windows, prefer BULK + nRetVal = SetUsbAltInterface(0); + XN_IS_STATUS_OK_LOG_ERROR("Switch to ISO", nRetVal); +-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) ++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC) + // On all platforms other than Windows, prefer BULK + nRetVal = SetUsbAltInterface(1); + XN_IS_STATUS_OK_LOG_ERROR("Switch to BULK", nRetVal); +diff -urN openni2-2.2.0.33+dfsg.old/Source/Tools/NiViewer/NiViewer.cpp openni2-2.2.0.33+dfsg/Source/Tools/NiViewer/NiViewer.cpp +--- openni2-2.2.0.33+dfsg.old/Source/Tools/NiViewer/NiViewer.cpp 2015-10-06 16:52:52.000000000 +0300 ++++ openni2-2.2.0.33+dfsg/Source/Tools/NiViewer/NiViewer.cpp 2015-10-06 16:08:39.000000000 +0300 +@@ -89,7 +89,8 @@ + #if (ONI_PLATFORM == ONI_PLATFORM_WIN32) + #include + #include +-#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM || ONI_PLATFORM == ONI_PLATFORM_MACOSX) ++#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM \ ++ || ONI_PLATFORM == ONI_PLATFORM_MACOSX ||ONI_PLATFORM == ONI_PLATFORM_LINUX_GENERIC) + #define _getch() getchar() + #endif + +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak 2015-10-06 16:52:52.000000000 +0300 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak 2015-10-05 16:29:38.000000000 +0300 +@@ -21,7 +21,7 @@ + else ifneq (,$(findstring arm,$(MACHINE))) + HOST_PLATFORM = Arm + else +- DUMMY:=$(error Can't determine host platform) ++ HOST_PLATFORM = generic + endif + + # now check if this is a cross-compilation or not +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/Platform.generic openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/Platform.generic +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/Platform.generic 1970-01-01 02:00:00.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/Platform.generic 2015-10-05 15:18:40.000000000 +0300 +@@ -0,0 +1,4 @@ ++# some defaults ++export GLUT_SUPPORTED=1 ++FLAGS += -O3 -fno-strict-aliasing ++ +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h 1970-01-01 02:00:00.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h 2015-10-05 15:22:50.000000000 +0300 +@@ -0,0 +1,36 @@ ++/***************************************************************************** ++* * ++* PrimeSense PSCommon Library * ++* Copyright (C) 2012 PrimeSense Ltd. * ++* * ++* This file is part of PSCommon. * ++* * ++* Licensed under the Apache License, Version 2.0 (the "License"); * ++* you may not use this file except in compliance with the License. * ++* You may obtain a copy of the License at * ++* * ++* http://www.apache.org/licenses/LICENSE-2.0 * ++* * ++* Unless required by applicable law or agreed to in writing, software * ++* distributed under the License is distributed on an "AS IS" BASIS, * ++* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * ++* See the License for the specific language governing permissions and * ++* limitations under the License. * ++* * ++*****************************************************************************/ ++#ifndef _XN_PLATFORM_LINUX_GENERIC_H_ ++#define _XN_PLATFORM_LINUX_GENERIC_H_ ++ ++// Start with Linux-x86, and override what's different ++#include "../Linux-x86/XnPlatformLinux-x86.h" ++ ++//--------------------------------------------------------------------------- ++// Platform Basic Definition ++//--------------------------------------------------------------------------- ++#undef XN_PLATFORM ++#undef XN_PLATFORM_STRING ++#define XN_PLATFORM XN_PLATFORM_LINUX_GENERIC ++#define XN_PLATFORM_STRING "Linux-generic" ++ ++#endif //_XN_PLATFORM_LINUX_GENERIC_H_ ++ +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnOS.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnOS.h +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnOS.h 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnOS.h 2015-10-05 15:41:15.000000000 +0300 +@@ -43,7 +43,7 @@ + //--------------------------------------------------------------------------- + #if (XN_PLATFORM == XN_PLATFORM_WIN32) + #include "Win32/XnOSWin32.h" +-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM) ++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC) + #include "Linux-x86/XnOSLinux-x86.h" + #elif (XN_PLATFORM == XN_PLATFORM_MACOSX) + #include "MacOSX/XnOSMacOSX.h" +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h 2015-10-06 15:47:56.000000000 +0300 +@@ -31,6 +31,7 @@ + #define XN_PLATFORM_LINUX_ARM 7 + #define XN_PLATFORM_MACOSX 8 + #define XN_PLATFORM_ANDROID_ARM 9 ++#define XN_PLATFORM_LINUX_GENERIC 10 + + #define XN_PLATFORM_IS_LITTLE_ENDIAN 1 + #define XN_PLATFORM_IS_BIG_ENDIAN 2 +@@ -53,6 +54,8 @@ + #include "Linux-x86/XnPlatformLinux-x86.h" + #elif (__linux__ && __arm__) + #include "Linux-Arm/XnPlatformLinux-Arm.h" ++#elif (__linux__) ++#include "Linux-generic/XnPlatformLinux-generic.h" + #elif _ARC + #include "ARC/XnPlaformARC.h" + #elif (__APPLE__) +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h 2015-10-05 15:42:37.000000000 +0300 +@@ -47,7 +47,7 @@ + #define USB_DT_DEVICE_SIZE 0 + #define USB_DT_DEVICE 0 + +-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM) ++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC) + #include + typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor; + typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor; +diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp +--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp 2013-11-12 16:12:23.000000000 +0200 ++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp 2015-10-05 15:43:24.000000000 +0300 +@@ -36,7 +36,7 @@ + #include + #include + +-#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM) ++#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC) + #include + #define XN_USE_UDEV + #endif diff --git a/patches/0013-Fix-GCC6-compilation.patch b/patches/0013-Fix-GCC6-compilation.patch new file mode 100644 index 0000000..8227c97 --- /dev/null +++ b/patches/0013-Fix-GCC6-compilation.patch @@ -0,0 +1,190 @@ +From: Jochen Sprickerhof +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 + #include ++#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::iterator it = ++ std::list::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 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/patches/0014-fix-format-overflow-for-GCC7.patch b/patches/0014-fix-format-overflow-for-GCC7.patch new file mode 100644 index 0000000..98c3922 --- /dev/null +++ b/patches/0014-fix-format-overflow-for-GCC7.patch @@ -0,0 +1,37 @@ +From: Jochen Sprickerhof +Date: Tue, 7 Feb 2017 17:30:41 +0100 +Subject: fix format-overflow for GCC7 + +--- + Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp | 4 ++-- + Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp b/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp +index 9663e41..62cf1c7 100644 +--- a/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp ++++ b/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp +@@ -40,8 +40,8 @@ XnFrameStreamProcessor::XnFrameStreamProcessor(XnFrameStream* pStream, XnSensorS + m_nLastSOFPacketID(0), + m_nFirstPacketTimestamp(0) + { +- sprintf(m_csInDumpMask, "%sIn", pStream->GetType()); +- sprintf(m_csInternalDumpMask, "Internal%s", pStream->GetType()); ++ snprintf(m_csInDumpMask, 100, "%.90sIn", pStream->GetType()); ++ snprintf(m_csInternalDumpMask, 100, "Internal%.90s", pStream->GetType()); + m_InDump = xnDumpFileOpen(m_csInDumpMask, "%s_0.raw", m_csInDumpMask); + m_InternalDump = xnDumpFileOpen(m_csInternalDumpMask, "%s_0.raw", m_csInternalDumpMask); + } +diff --git a/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp b/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp +index f93f333..d962ec0 100644 +--- a/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp ++++ b/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp +@@ -263,7 +263,7 @@ XnStatus XnSensorFirmwareParams::AddFirmwareParam(XnActualIntProperty& Property, + XN_IS_STATUS_OK(nRetVal); + + XnChar csNewName[XN_DEVICE_MAX_STRING_LENGTH]; +- sprintf(csNewName, "%s (%d)", Property.GetName(), nFirmwareParam); ++ snprintf(csNewName, XN_DEVICE_MAX_STRING_LENGTH, "%.150s (%d)", Property.GetName(), nFirmwareParam); + + Property.UpdateName("Firmware", csNewName); + Property.SetLogSeverity(XN_LOG_VERBOSE); diff --git a/patches/0015-Initialize-variable-for-gcc7.patch b/patches/0015-Initialize-variable-for-gcc7.patch new file mode 100644 index 0000000..321f0e1 --- /dev/null +++ b/patches/0015-Initialize-variable-for-gcc7.patch @@ -0,0 +1,21 @@ +From: Jochen Sprickerhof +Date: Tue, 8 Aug 2017 22:53:14 +0200 +Subject: Initialize variable for gcc7 + +--- + Source/Tools/NiViewer/Device.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/Tools/NiViewer/Device.cpp b/Source/Tools/NiViewer/Device.cpp +index 28cbfee..7037320 100644 +--- a/Source/Tools/NiViewer/Device.cpp ++++ b/Source/Tools/NiViewer/Device.cpp +@@ -364,7 +364,7 @@ void toggleMirror(int ) + + void toggleCloseRange(int ) + { +- bool bCloseRange; ++ bool bCloseRange = false; + g_depthStream.getProperty(XN_STREAM_PROPERTY_CLOSE_RANGE, &bCloseRange); + + bCloseRange = !bCloseRange; diff --git a/patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch b/patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch new file mode 100644 index 0000000..1fb5800 --- /dev/null +++ b/patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch @@ -0,0 +1,22 @@ +From: Adrian Bunk +Date: Sat, 9 Sep 2017 15:02:51 +0200 +Subject: Use the generic platform for armel+armhf NEON is not part of the + armel and armhf baselines. + +--- + ThirdParty/PSCommon/BuildSystem/CommonDefs.mak | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak +index c29d9bd..6384ef8 100644 +--- a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak ++++ b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak +@@ -18,8 +18,6 @@ else ifneq (,$(findstring i386,$(MACHINE))) + HOST_PLATFORM = x86 + else ifneq (,$(findstring armv6l,$(MACHINE))) + HOST_PLATFORM = Armv6l +-else ifneq (,$(findstring arm,$(MACHINE))) +- HOST_PLATFORM = Arm + else + HOST_PLATFORM = generic + endif diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..17c1a0f --- /dev/null +++ b/patches/series @@ -0,0 +1,16 @@ +0001-Add-SONAME-to-libraries.patch +0002-Change-path-of-config-files-to-etc-openni2.patch +0003-Use-system-wide-libjpeg.patch +0004-disable-rpath.patch +0005-change-default-ni-drivers-path.patch +0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch +0006-Disable-SSE.patch +0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch +0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch +0009-Add-ARMhf-support.patch +0011-Mark-variables-unused.patch +0012-generic-linux.patch +0013-Fix-GCC6-compilation.patch +0014-fix-format-overflow-for-GCC7.patch +0015-Initialize-variable-for-gcc7.patch +0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch diff --git a/rules b/rules new file mode 100755 index 0000000..008669b --- /dev/null +++ b/rules @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +%: + dh $@ --buildsystem=makefile + +override_dh_auto_build: + make ALLOW_WARNINGS=1 + -( cd Source/Documentation ; python ./Runme.py ) + cd Bin/*-Release/ && mv NiViewer NiViewer2 + +override_dh_shlibdeps: + dh_shlibdeps -- --ignore-missing-info diff --git a/source.lintian-overrides b/source.lintian-overrides new file mode 100644 index 0000000..d4a6f0f --- /dev/null +++ b/source.lintian-overrides @@ -0,0 +1,3 @@ +# this source code is not used at all, instead Debian's libusb is used +openni2 source: outdated-autotools-helper-file ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/config.sub 2010-09-11 +openni2 source: outdated-autotools-helper-file ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/config.guess 2010-09-24 diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/options b/source/options new file mode 100644 index 0000000..0415744 --- /dev/null +++ b/source/options @@ -0,0 +1 @@ +extend-diff-ignore = "(^|/)(.project|.cproject|.pc)$" diff --git a/watch b/watch new file mode 100644 index 0000000..dd8d9ed --- /dev/null +++ b/watch @@ -0,0 +1,7 @@ +# Watch control file for uscan +# Compulsory line, this is a version 3 file +version=3 +# For GitHub projects you can use the tags page: + +opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/openni2-$1\.tar\.gz/ \ + https://github.com/occipital/OpenNI2/releases .*/v?(\d\S*)\.tar\.gz -- 2.30.2