Hi.

Attached is a patch for enabling building openni for mipsel arch.

Can you please do a peer review?

Thanks,


Gustavo Prado Alkmim
Bacharel em Ciência da Computação (UFLA)
Doutorando em Ciência da Computação (UNICAMP)

--
"Do que adianta para o homem ganhar o mundo e perder sua alma???"

2015-06-14 6:56 GMT-03:00 James Cowgill <james...@cowgill.org.uk>:

> Control: severity -1 important
>
> On Sun, 2015-06-14 at 08:51 +0100, Gustavo Prado Alkmim wrote:
> > Package: openni
> > Version: 1.5.4.0-12
> > Severity: serious
> > Justification: fails to build from source
> >
> > Dear Maintainer,
> >
> > Package is failing to build on buildd. I'm working on a fix and I
> > will attach it as soon as possible. Full log is attached.
>
> Since openni has never built on mipsel (it's in the uncompiled state),
> this bug is not RC.
>
> I see you're working on the mips ports as part of GSoC - patches are
> welcome :)
>
> James
diff -rupN openni-1.5.4.0/debian/patches/0015-Add-mipsel-support.patch new.openni-1.5.4.0/debian/patches/0015-Add-mipsel-support.patch
--- openni-1.5.4.0/debian/patches/0015-Add-mipsel-support.patch	1970-01-01 00:00:00.000000000 +0000
+++ new.openni-1.5.4.0/debian/patches/0015-Add-mipsel-support.patch	2015-06-20 21:30:36.359637995 +0000
@@ -0,0 +1,182 @@
+Index: new.openni-1.5.4.0/Include/XnPlatform.h
+===================================================================
+--- new.openni-1.5.4.0.orig/Include/XnPlatform.h
++++ new.openni-1.5.4.0/Include/XnPlatform.h
+@@ -37,6 +37,7 @@
+ #define XN_PLATFORM_ANDROID_ARM 9
+ #define XN_PLATFORM_LINUX_POWERPC 10
+ #define XN_PLATFORM_LINUX_AARCH64 11
++#define XN_PLATFORM_LINUX_MIPSEL 12
+ 
+ #define XN_PLATFORM_IS_LITTLE_ENDIAN 1
+ #define XN_PLATFORM_IS_BIG_ENDIAN    2
+@@ -72,6 +73,8 @@
+ 	#include "Linux-AArch64/XnPlatformLinux-AArch64.h"
+ #elif (__linux__ && __powerpc__)
+ 	#include "Linux-Powerpc/XnPlatformLinux-Powerpc.h"
++#elif (__linux__ && __mips__)
++	#include "Linux-Mipsel/XnPlatformLinux-Mipsel.h"
+ #elif _ARC
+ 	#include "ARC/XnPlatformARC.h"
+ #elif (__APPLE__)
+Index: new.openni-1.5.4.0/Platform/Linux/Build/Common/CommonDefs.mak
+===================================================================
+--- new.openni-1.5.4.0.orig/Platform/Linux/Build/Common/CommonDefs.mak
++++ new.openni-1.5.4.0/Platform/Linux/Build/Common/CommonDefs.mak
+@@ -22,6 +22,8 @@ else ifneq (,$(findstring aarch64,$(MACH
+ 	HOST_PLATFORM = AArch64
+ else ifneq (,$(findstring ppc,$(MACHINE)))
+ 	HOST_PLATFORM = Powerpc
++else ifneq (,$(findstring mips,$(MACHINE)))
++	HOST_PLATFORM = Mipsel
+ else
+ 	DUMMY:=$(error Can't determine host platform)
+ endif
+Index: new.openni-1.5.4.0/Platform/Linux/Build/Common/Platform.Mipsel
+===================================================================
+--- /dev/null
++++ new.openni-1.5.4.0/Platform/Linux/Build/Common/Platform.Mipsel
+@@ -0,0 +1,11 @@
++export GLUT_SUPPORTED=1
++
++ifeq "$(CFG)" "Release"
++
++    # 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
+Index: new.openni-1.5.4.0/Samples/NiViewer/NiViewer.cpp
+===================================================================
+--- new.openni-1.5.4.0.orig/Samples/NiViewer/NiViewer.cpp
++++ new.openni-1.5.4.0/Samples/NiViewer/NiViewer.cpp
+@@ -49,7 +49,7 @@
+ // --------------------------------
+ #include <XnCppWrapper.h>
+ 
+-#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC)
++#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPSEL)
+ 	#define UNIX
+ 	#define GLX_GLXEXT_LEGACY
+ #endif
+@@ -79,7 +79,7 @@ using namespace glh;
+ #if (XN_PLATFORM == XN_PLATFORM_WIN32)
+ 	#include <conio.h>
+ 	#include <direct.h>	
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM_LINUX_POWERPC)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPSEL)
+ 	#define _getch() getchar()
+ #endif
+ 
+Index: new.openni-1.5.4.0/Source/OpenNI/XnOpenNI.cpp
+===================================================================
+--- new.openni-1.5.4.0.orig/Source/OpenNI/XnOpenNI.cpp
++++ new.openni-1.5.4.0/Source/OpenNI/XnOpenNI.cpp
+@@ -7062,7 +7062,7 @@ XN_C_API XnStatus xnScriptNodeRun(XnNode
+ 	#define XN_OPEN_NI_FILES_LOCATION "\\Data\\"
+ #elif (CE4100)
+ 	#define XN_OPEN_NI_FILES_LOCATION "/usr/etc/ni/"
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPSEL)
+ 	#define XN_OPEN_NI_FILES_LOCATION "/var/lib/ni/"
+ #elif (XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
+ 	#define XN_OPEN_NI_FILES_LOCATION "/data/ni/"
+Index: new.openni-1.5.4.0/Include/Linux-Mipsel/XnPlatformLinux-Mipsel.h
+===================================================================
+--- /dev/null
++++ new.openni-1.5.4.0/Include/Linux-Mipsel/XnPlatformLinux-Mipsel.h
+@@ -0,0 +1,45 @@
++/****************************************************************************
++*                                                                           *
++*  OpenNI 1.x Alpha                                                         *
++*  Copyright (C) 2011 PrimeSense Ltd.                                       *
++*                                                                           *
++*  This file is part of OpenNI.                                             *
++*                                                                           *
++*  OpenNI 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, either version 3 of the License, or     *
++*  (at your option) any later version.                                      *
++*                                                                           *
++*  OpenNI 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 OpenNI. If not, see <http://www.gnu.org/licenses/>.           *
++*                                                                           *
++****************************************************************************/
++#ifndef _XN_PLATFORM_LINUX_MIPSEL_H_
++#define _XN_PLATFORM_LINUX_MIPSEL_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
++#undef XN_PLATFORM_ENDIAN_TYPE
++#define XN_PLATFORM XN_PLATFORM_LINUX_MIPSEL
++#define XN_PLATFORM_STRING "Linux-Mipsel"
++
++#ifdef __BIG_ENDIAN__
++#define XN_PLATFORM_ENDIAN_TYPE XN_PLATFORM_IS_BIG_ENDIAN
++#else
++#define XN_PLATFORM_ENDIAN_TYPE XN_PLATFORM_IS_LITTLE_ENDIAN
++
++#endif // __BIG_ENDIAN__
++#endif //_XN_PLATFORM_LINUX_MIPSEL_H_
++
++
+Index: new.openni-1.5.4.0/Platform/Linux/CreateRedist/Redist_OpenNi.py
+===================================================================
+--- new.openni-1.5.4.0.orig/Platform/Linux/CreateRedist/Redist_OpenNi.py
++++ new.openni-1.5.4.0/Platform/Linux/CreateRedist/Redist_OpenNi.py
+@@ -190,6 +190,8 @@ else:
+         PLATFORM = "AArch64"
+     elif machinetype[:3] == "ppc":
+         PLATFORM = "Powerpc"
++    elif machinetype == "mips":
++        PLATFORM = "Mipsel"
+     else:
+         print "Unknown platform:", machinetype
+         finish_script(1)
+@@ -339,6 +341,7 @@ shutil.copytree("../../Include/Linux-x86
+ shutil.copytree("../../Include/Linux-Arm", REDIST_DIR + "/Include/Linux-Arm")
+ shutil.copytree("../../Include/Linux-AArch64", REDIST_DIR + "/Include/Linux-AArch64")
+ shutil.copytree("../../Include/Linux-Powerpc", REDIST_DIR + "/Include/Linux-Powerpc")
++shutil.copytree("../../Include/Linux-Mipsel", REDIST_DIR + "/Include/Linux-Mipsel")
+ shutil.copytree("../../Include/MacOSX", REDIST_DIR + "/Include/MacOSX")
+ shutil.copytree("Build/Common", REDIST_DIR + "/Samples/Build/Common")
+ 
+Index: new.openni-1.5.4.0/Include/XnOS.h
+===================================================================
+--- new.openni-1.5.4.0.orig/Include/XnOS.h
++++ new.openni-1.5.4.0/Include/XnOS.h
+@@ -44,7 +44,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_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPSEL)
+ 	#include "Linux-x86/XnOSLinux-x86.h"
+ #elif defined(_ARC)
+ 	#include "ARC/XnOSARC.h"
+Index: new.openni-1.5.4.0/Include/XnUSBDevice.h
+===================================================================
+--- new.openni-1.5.4.0.orig/Include/XnUSBDevice.h
++++ new.openni-1.5.4.0/Include/XnUSBDevice.h
+@@ -48,7 +48,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 || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPSEL)
+ 	#include <linux/usb/ch9.h>
+ 	typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor;
+ 	typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor;
diff -rupN openni-1.5.4.0/debian/patches/series new.openni-1.5.4.0/debian/patches/series
--- openni-1.5.4.0/debian/patches/series	2015-06-06 21:34:02.000000000 +0000
+++ new.openni-1.5.4.0/debian/patches/series	2015-06-20 21:20:44.854539286 +0000
@@ -13,3 +13,4 @@
 0013-Enabled-ppc.patch
 0013-Add-ARM-support.patch
 0014-Add-arm64-support.patch
+0015-Add-mipsel-support.patch
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to