Compare commits

..

No commits in common. "rawhide" and "f19" have entirely different histories.

11 changed files with 315 additions and 665 deletions

2
.gitignore vendored
View file

@ -1 +1 @@
libfreenect-*.tar.* /libfreenect-v0.1.2.tar.bz2

View file

@ -0,0 +1,177 @@
commit e1365de85617781e370abdc7ce1ef6d9875d55de
Author: Drew Fisher <drew.m.fisher@gmail.com>
Date: Mon Jan 23 07:41:41 2012 -0800
cameras.c: memcpy structs into properly aligned buffers before toggling endianness.
The new registration structs are not aligned to 4-byte boundaries in the
buffers that we get back from the Kinect. This might have been causing
breakage on ARM, where nonaligned access is prohibited.
Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
diff --git a/src/cameras.c b/src/cameras.c
index 9f0beb9..d391a7c 100644
--- a/src/cameras.c
+++ b/src/cameras.c
@@ -783,56 +783,55 @@ static int freenect_fetch_reg_info(freenect_device *dev)
FN_ERROR("freenect_fetch_reg_info: send_cmd read %d bytes (expected 118)\n", res);
return -1;
}
- freenect_reg_info *reg_info_ptr = (freenect_reg_info*)(&reply[2]);
- freenect_reg_info *dev_reg_info = &(dev->registration.reg_info);
- dev_reg_info->ax = fn_le32s(reg_info_ptr->ax);
- dev_reg_info->bx = fn_le32s(reg_info_ptr->bx);
- dev_reg_info->cx = fn_le32s(reg_info_ptr->cx);
- dev_reg_info->dx = fn_le32s(reg_info_ptr->dx);
- dev_reg_info->ay = fn_le32s(reg_info_ptr->ay);
- dev_reg_info->by = fn_le32s(reg_info_ptr->by);
- dev_reg_info->cy = fn_le32s(reg_info_ptr->cy);
- dev_reg_info->dy = fn_le32s(reg_info_ptr->dy);
- dev_reg_info->dx_start = fn_le32s(reg_info_ptr->dx_start);
- dev_reg_info->dy_start = fn_le32s(reg_info_ptr->dy_start);
- dev_reg_info->dx_beta_start = fn_le32s(reg_info_ptr->dx_beta_start);
- dev_reg_info->dy_beta_start = fn_le32s(reg_info_ptr->dy_beta_start);
- dev_reg_info->dx_beta_inc = fn_le32s(reg_info_ptr->dx_beta_inc);
- dev_reg_info->dy_beta_inc = fn_le32s(reg_info_ptr->dy_beta_inc);
- dev_reg_info->dxdx_start = fn_le32s(reg_info_ptr->dxdx_start);
- dev_reg_info->dxdy_start = fn_le32s(reg_info_ptr->dxdy_start);
- dev_reg_info->dydx_start = fn_le32s(reg_info_ptr->dydx_start);
- dev_reg_info->dydy_start = fn_le32s(reg_info_ptr->dydy_start);
- dev_reg_info->dxdxdx_start = fn_le32s(reg_info_ptr->dxdxdx_start);
- dev_reg_info->dydxdx_start = fn_le32s(reg_info_ptr->dydxdx_start);
- dev_reg_info->dxdxdy_start = fn_le32s(reg_info_ptr->dxdxdy_start);
- dev_reg_info->dydxdy_start = fn_le32s(reg_info_ptr->dydxdy_start);
- dev_reg_info->dydydx_start = fn_le32s(reg_info_ptr->dydydx_start);
- dev_reg_info->dydydy_start = fn_le32s(reg_info_ptr->dydydy_start);
- FN_SPEW("ax: %d\n", dev_reg_info->ax);
- FN_SPEW("bx: %d\n", dev_reg_info->bx);
- FN_SPEW("cx: %d\n", dev_reg_info->cx);
- FN_SPEW("dx: %d\n", dev_reg_info->dx);
- FN_SPEW("ay: %d\n", dev_reg_info->ay);
- FN_SPEW("by: %d\n", dev_reg_info->by);
- FN_SPEW("cy: %d\n", dev_reg_info->cy);
- FN_SPEW("dy: %d\n", dev_reg_info->dy);
- FN_SPEW("dx_start: %d\n", dev_reg_info->dx_start);
- FN_SPEW("dy_start: %d\n", dev_reg_info->dy_start);
- FN_SPEW("dx_beta_start: %d\n", dev_reg_info->dx_beta_start);
- FN_SPEW("dy_beta_start: %d\n", dev_reg_info->dy_beta_start);
- FN_SPEW("dx_beta_inc: %d\n", dev_reg_info->dx_beta_inc);
- FN_SPEW("dy_beta_inc: %d\n", dev_reg_info->dy_beta_inc);
- FN_SPEW("dxdx_start: %d\n", dev_reg_info->dxdx_start);
- FN_SPEW("dxdy_start: %d\n", dev_reg_info->dxdy_start);
- FN_SPEW("dydx_start: %d\n", dev_reg_info->dydx_start);
- FN_SPEW("dydy_start: %d\n", dev_reg_info->dydy_start);
- FN_SPEW("dxdxdx_start: %d\n", dev_reg_info->dxdxdx_start);
- FN_SPEW("dydxdx_start: %d\n", dev_reg_info->dydxdx_start);
- FN_SPEW("dxdxdy_start: %d\n", dev_reg_info->dxdxdy_start);
- FN_SPEW("dydxdy_start: %d\n", dev_reg_info->dydxdy_start);
- FN_SPEW("dydydx_start: %d\n", dev_reg_info->dydydx_start);
- FN_SPEW("dydydy_start: %d\n", dev_reg_info->dydydy_start);
+ memcpy(&dev->registration.reg_info, reply + 2, sizeof(dev->registration.reg_info));
+ dev->registration.reg_info.ax = fn_le32s(dev->registration.reg_info.ax);
+ dev->registration.reg_info.bx = fn_le32s(dev->registration.reg_info.bx);
+ dev->registration.reg_info.cx = fn_le32s(dev->registration.reg_info.cx);
+ dev->registration.reg_info.dx = fn_le32s(dev->registration.reg_info.dx);
+ dev->registration.reg_info.ay = fn_le32s(dev->registration.reg_info.ay);
+ dev->registration.reg_info.by = fn_le32s(dev->registration.reg_info.by);
+ dev->registration.reg_info.cy = fn_le32s(dev->registration.reg_info.cy);
+ dev->registration.reg_info.dy = fn_le32s(dev->registration.reg_info.dy);
+ dev->registration.reg_info.dx_start = fn_le32s(dev->registration.reg_info.dx_start);
+ dev->registration.reg_info.dy_start = fn_le32s(dev->registration.reg_info.dy_start);
+ dev->registration.reg_info.dx_beta_start = fn_le32s(dev->registration.reg_info.dx_beta_start);
+ dev->registration.reg_info.dy_beta_start = fn_le32s(dev->registration.reg_info.dy_beta_start);
+ dev->registration.reg_info.dx_beta_inc = fn_le32s(dev->registration.reg_info.dx_beta_inc);
+ dev->registration.reg_info.dy_beta_inc = fn_le32s(dev->registration.reg_info.dy_beta_inc);
+ dev->registration.reg_info.dxdx_start = fn_le32s(dev->registration.reg_info.dxdx_start);
+ dev->registration.reg_info.dxdy_start = fn_le32s(dev->registration.reg_info.dxdy_start);
+ dev->registration.reg_info.dydx_start = fn_le32s(dev->registration.reg_info.dydx_start);
+ dev->registration.reg_info.dydy_start = fn_le32s(dev->registration.reg_info.dydy_start);
+ dev->registration.reg_info.dxdxdx_start = fn_le32s(dev->registration.reg_info.dxdxdx_start);
+ dev->registration.reg_info.dydxdx_start = fn_le32s(dev->registration.reg_info.dydxdx_start);
+ dev->registration.reg_info.dxdxdy_start = fn_le32s(dev->registration.reg_info.dxdxdy_start);
+ dev->registration.reg_info.dydxdy_start = fn_le32s(dev->registration.reg_info.dydxdy_start);
+ dev->registration.reg_info.dydydx_start = fn_le32s(dev->registration.reg_info.dydydx_start);
+ dev->registration.reg_info.dydydy_start = fn_le32s(dev->registration.reg_info.dydydy_start);
+ FN_SPEW("ax: %d\n", dev->registration.reg_info.ax);
+ FN_SPEW("bx: %d\n", dev->registration.reg_info.bx);
+ FN_SPEW("cx: %d\n", dev->registration.reg_info.cx);
+ FN_SPEW("dx: %d\n", dev->registration.reg_info.dx);
+ FN_SPEW("ay: %d\n", dev->registration.reg_info.ay);
+ FN_SPEW("by: %d\n", dev->registration.reg_info.by);
+ FN_SPEW("cy: %d\n", dev->registration.reg_info.cy);
+ FN_SPEW("dy: %d\n", dev->registration.reg_info.dy);
+ FN_SPEW("dx_start: %d\n", dev->registration.reg_info.dx_start);
+ FN_SPEW("dy_start: %d\n", dev->registration.reg_info.dy_start);
+ FN_SPEW("dx_beta_start: %d\n", dev->registration.reg_info.dx_beta_start);
+ FN_SPEW("dy_beta_start: %d\n", dev->registration.reg_info.dy_beta_start);
+ FN_SPEW("dx_beta_inc: %d\n", dev->registration.reg_info.dx_beta_inc);
+ FN_SPEW("dy_beta_inc: %d\n", dev->registration.reg_info.dy_beta_inc);
+ FN_SPEW("dxdx_start: %d\n", dev->registration.reg_info.dxdx_start);
+ FN_SPEW("dxdy_start: %d\n", dev->registration.reg_info.dxdy_start);
+ FN_SPEW("dydx_start: %d\n", dev->registration.reg_info.dydx_start);
+ FN_SPEW("dydy_start: %d\n", dev->registration.reg_info.dydy_start);
+ FN_SPEW("dxdxdx_start: %d\n", dev->registration.reg_info.dxdxdx_start);
+ FN_SPEW("dydxdx_start: %d\n", dev->registration.reg_info.dydxdx_start);
+ FN_SPEW("dxdxdy_start: %d\n", dev->registration.reg_info.dxdxdy_start);
+ FN_SPEW("dydxdy_start: %d\n", dev->registration.reg_info.dydxdy_start);
+ FN_SPEW("dydydx_start: %d\n", dev->registration.reg_info.dydydx_start);
+ FN_SPEW("dydydy_start: %d\n", dev->registration.reg_info.dydydy_start);
/*
// NOTE: Not assigned above
FN_SPEW("dx_center: %d\n", dev_reg_info->dx_center);
@@ -861,10 +860,10 @@ static int freenect_fetch_reg_pad_info(freenect_device *dev)
FN_ERROR("freenect_fetch_reg_pad_info: send_cmd read %d bytes (expected 8)\n", res);
return -1;
}
- freenect_reg_pad_info *pad_info_ptr = (freenect_reg_pad_info*)(&reply[2]);
- dev->registration.reg_pad_info.start_lines = fn_le16s(pad_info_ptr->start_lines);
- dev->registration.reg_pad_info.end_lines = fn_le16s(pad_info_ptr->end_lines);
- dev->registration.reg_pad_info.cropping_lines = fn_le16s(pad_info_ptr->cropping_lines);
+ memcpy(&dev->registration.reg_pad_info, reply+2, sizeof(dev->registration.reg_pad_info));
+ dev->registration.reg_pad_info.start_lines = fn_le16s(dev->registration.reg_pad_info.start_lines);
+ dev->registration.reg_pad_info.end_lines = fn_le16s(dev->registration.reg_pad_info.end_lines);
+ dev->registration.reg_pad_info.cropping_lines = fn_le16s(dev->registration.reg_pad_info.cropping_lines);
FN_SPEW("start_lines: %u\n",dev->registration.reg_pad_info.start_lines);
FN_SPEW("end_lines: %u\n",dev->registration.reg_pad_info.end_lines);
FN_SPEW("cropping_lines: %u\n",dev->registration.reg_pad_info.cropping_lines);
@@ -888,7 +887,9 @@ static int freenect_fetch_reg_const_shift(freenect_device *dev)
FN_ERROR("freenect_fetch_reg_const_shift: send_cmd read %d bytes (expected 8)\n", res);
return -1;
}
- uint16_t shift = fn_le16(*((uint16_t*)(reply+2)));
+ uint16_t shift;
+ memcpy(&shift, reply+2, sizeof(shift));
+ shift = fn_le16(shift);
dev->registration.const_shift = (double)shift;
FN_SPEW("const_shift: %f\n",dev->registration.const_shift);
return 0;
@@ -907,17 +908,18 @@ static int freenect_fetch_zero_plane_info(freenect_device *dev)
FN_ERROR("freenect_fetch_zero_plane_info: send_cmd read %d bytes (expected 322)\n", res);
return -1;
}
+
+ memcpy(&(dev->registration.zero_plane_info), reply + 94, sizeof(dev->registration.zero_plane_info));
+ dev->registration.zero_plane_info.dcmos_emitter_dist = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.dcmos_emitter_dist)))));
+ dev->registration.zero_plane_info.dcmos_rcmos_dist = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.dcmos_rcmos_dist)))));
+ dev->registration.zero_plane_info.reference_distance = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.reference_distance)))));
+ dev->registration.zero_plane_info.reference_pixel_size = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.reference_pixel_size)))));
+
// WTF is all this data? it's way bigger than sizeof(XnFixedParams)...
- FN_SPEW("dcmos_emitter_distance: %f\n", *((float*)(reply+94)));
- FN_SPEW("dcmos_rcmos_distance: %f\n", *((float*)(reply+98)));
- FN_SPEW("reference_distance: %f\n", *((float*)(reply+102)));
- FN_SPEW("reference_pixel_size: %f\n", *((float*)(reply+106)));
-
- // The values are 32-bit floats in little-endian. So:
- dev->registration.zero_plane_info.dcmos_emitter_dist = *((float*)(&fn_le32(*((uint32_t*)(reply+94)))));
- dev->registration.zero_plane_info.dcmos_rcmos_dist = *((float*)(&fn_le32(*((uint32_t*)(reply+98)))));
- dev->registration.zero_plane_info.reference_distance = *((float*)(&fn_le32(*((uint32_t*)(reply+102)))));
- dev->registration.zero_plane_info.reference_pixel_size = *((float*)(&fn_le32(*((uint32_t*)(reply+106)))));
+ FN_SPEW("dcmos_emitter_distance: %f\n", dev->registration.zero_plane_info.dcmos_emitter_dist);
+ FN_SPEW("dcmos_rcmos_distance: %f\n", dev->registration.zero_plane_info.dcmos_rcmos_dist);
+ FN_SPEW("reference_distance: %f\n", dev->registration.zero_plane_info.reference_distance);
+ FN_SPEW("reference_pixel_size: %f\n", dev->registration.zero_plane_info.reference_pixel_size);
// FIXME: OpenNI seems to use a hardcoded value of 2.4 instead of 2.3 as reported by Kinect
dev->registration.zero_plane_info.dcmos_rcmos_dist = 2.4;

View file

@ -0,0 +1,59 @@
commit bbc109a589a1dd2c229f8bc98536dbc184dd73f9
Author: Drew Fisher <drew.m.fisher@gmail.com>
Date: Sun Jan 29 16:28:32 2012 -0800
Build on big-endian systems again.
On big endian, fn_le32() is actually a function, not an empty preprocessor
macro, so we can't take the address of its return value when doing the C
equivalent of reinterpret_cast.
Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
diff --git a/src/cameras.c b/src/cameras.c
index d391a7c..a078e1d 100644
--- a/src/cameras.c
+++ b/src/cameras.c
@@ -910,10 +910,15 @@ static int freenect_fetch_zero_plane_info(freenect_device *dev)
}
memcpy(&(dev->registration.zero_plane_info), reply + 94, sizeof(dev->registration.zero_plane_info));
- dev->registration.zero_plane_info.dcmos_emitter_dist = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.dcmos_emitter_dist)))));
- dev->registration.zero_plane_info.dcmos_rcmos_dist = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.dcmos_rcmos_dist)))));
- dev->registration.zero_plane_info.reference_distance = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.reference_distance)))));
- dev->registration.zero_plane_info.reference_pixel_size = *((float*)(&fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.reference_pixel_size)))));
+ uint32_t temp;
+ temp = fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.dcmos_emitter_dist)));
+ dev->registration.zero_plane_info.dcmos_emitter_dist = *((float*)(&temp));
+ temp = fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.dcmos_rcmos_dist)));
+ dev->registration.zero_plane_info.dcmos_rcmos_dist = *((float*)(&temp));
+ temp = fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.reference_distance)));
+ dev->registration.zero_plane_info.reference_distance = *((float*)(&temp));
+ temp = fn_le32(*((uint32_t*)(&dev->registration.zero_plane_info.reference_pixel_size)));
+ dev->registration.zero_plane_info.reference_pixel_size = *((float*)(&temp));
// WTF is all this data? it's way bigger than sizeof(XnFixedParams)...
FN_SPEW("dcmos_emitter_distance: %f\n", dev->registration.zero_plane_info.dcmos_emitter_dist);
diff --git a/src/freenect_internal.h b/src/freenect_internal.h
index 4e7950e..d23208a 100644
--- a/src/freenect_internal.h
+++ b/src/freenect_internal.h
@@ -89,12 +89,16 @@ static inline uint32_t fn_le32(uint32_t d)
static inline int16_t fn_le16s(int16_t s)
{
// reinterpret cast to unsigned, use the normal fn_le16, and then reinterpret cast back
- return *((int16_t*)(&fn_le16(*((uint16_t*)(&s)))));
+ uint16_t temp = (*(uint16_t*)(&s));
+ temp = fn_le16(temp);
+ return *((int16_t*)(&temp));
}
static inline int32_t fn_le32s(int32_t s)
{
// reinterpret cast to unsigned, use the normal fn_le32, and then reinterpret cast back
- return *((int32_t*)(&fn_le32(*((uint32_t*)(&s)))));
+ uint32_t temp = (*(uint32_t*)(&s));
+ temp = fn_le32(temp);
+ return *((int32_t*)(&temp));
}
#else
#define fn_le16(x) (x)

View file

@ -1,12 +0,0 @@
diff -up ./cmake_modules/SetupDirectories.cmake.libdir ./cmake_modules/SetupDirectories.cmake
--- ./cmake_modules/SetupDirectories.cmake.libdir 2014-05-05 18:27:34.066386294 -0400
+++ ./cmake_modules/SetupDirectories.cmake 2014-05-05 18:28:14.961891390 -0400
@@ -8,7 +8,7 @@ ENDIF (PROJECT_OS_WIN)
STRING (TOLOWER ${PROJECT_NAME} projectNameLower)
SET (PROJECT_INCLUDE_INSTALL_DIR "include/${projectNameLower}")
SET (PROJECT_MANPAGE_INSTALL_DIR "share/man")
-SET (PROJECT_LIBRARY_INSTALL_DIR "lib")
+SET (PROJECT_LIBRARY_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Library installation directory")
MESSAGE (STATUS "${PROJECT_NAME} will be installed to ${CMAKE_INSTALL_PREFIX}")
MESSAGE (STATUS "Headers will be installed to ${CMAKE_INSTALL_PREFIX}/${PROJECT_INCLUDE_INSTALL_DIR}")

View file

@ -1,21 +0,0 @@
diff -up ./platform/linux/udev/51-kinect.rules.videogroup ./platform/linux/udev/51-kinect.rules
--- ./platform/linux/udev/51-kinect.rules.videogroup 2018-05-26 15:56:37.668319068 -0400
+++ ./platform/linux/udev/51-kinect.rules 2018-05-26 15:57:31.192438926 -0400
@@ -1,11 +1,11 @@
# ATTR{product}=="Xbox NUI Motor"
-SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666"
+SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0660" GROUP="video"
# ATTR{product}=="Xbox NUI Audio"
-SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666"
+SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0660" GROUP="video"
# ATTR{product}=="Xbox NUI Camera"
-SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
+SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0660" GROUP="video"
# Kinect for Windows
-SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c2", MODE="0666"
-SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02be", MODE="0666"
-SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02bf", MODE="0666"
+SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c2", MODE="0660" GROUP="video"
+SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02be", MODE="0660" GROUP="video"
+SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02bf", MODE="0660" GROUP="video"

View file

@ -1,12 +0,0 @@
diff -up libfreenect-0.7.5/doc/Doxyfile.tstamp libfreenect-0.7.5/doc/Doxyfile
--- libfreenect-0.7.5/doc/Doxyfile.tstamp 2024-01-06 17:57:12.000000000 +0100
+++ libfreenect-0.7.5/doc/Doxyfile 2025-11-24 23:51:39.844958326 +0100
@@ -875,7 +875,7 @@ HTML_COLORSTYLE_GAMMA = 80
# page will contain the date and time when the page was generated. Setting
# this to NO can help when comparing the output of multiple runs.
-HTML_TIMESTAMP = YES
+HTML_TIMESTAMP = NO
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to

View file

@ -1,61 +0,0 @@
diff -up libfreenect-0.7.5/src/fwfetcher.py.py3 libfreenect-0.7.5/src/fwfetcher.py
--- libfreenect-0.7.5/src/fwfetcher.py.py3 2024-01-06 17:57:12.000000000 +0100
+++ libfreenect-0.7.5/src/fwfetcher.py 2025-11-25 00:20:24.085725755 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import absolute_import, division, print_function
@@ -10,10 +10,10 @@ import sys
import time
import zipfile
-try:
+if sys.version_info[0] > 2:
# Python 3
from urllib.request import Request, URLError, urlopen
-except ImportError:
+else:
# Python 2
from urllib2 import Request, URLError, urlopen
diff -up libfreenect-0.7.5/wrappers/python/CMakeLists.txt.py3 libfreenect-0.7.5/wrappers/python/CMakeLists.txt
--- libfreenect-0.7.5/wrappers/python/CMakeLists.txt.py3 2024-01-06 17:57:12.000000000 +0100
+++ libfreenect-0.7.5/wrappers/python/CMakeLists.txt 2025-11-11 09:48:50.045686564 +0100
@@ -19,10 +19,7 @@ find_program(CYTHON_EXECUTABLE cython)
# Figure out installation path
# CMake populates this var automatically but we need to specify prefix
-execute_process(COMMAND
- ${Python${Python_BUILD_VERSION}_EXECUTABLE}
- -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(plat_specific=False, standard_lib=False, prefix='${CMAKE_INSTALL_PREFIX}'))"
- OUTPUT_VARIABLE Python${Python_BUILD_VERSION}_SITELIB OUTPUT_STRIP_TRAILING_WHITESPACE)
+set(Python${Python_BUILD_VERSION}_SITELIB "${Python${Python_BUILD_VERSION}_SITEARCH}")
# Figure out numpy include path
# todo: CMake >= 3.14 populates this var automatically when using COMPONENTS NumPy
@@ -73,7 +70,10 @@ target_include_directories(cython${Pytho
# Install the extension
install(TARGETS cython${Python_BUILD_VERSION}_freenect
- DESTINATION ${Python${Python_BUILD_VERSION}_SITELIB})
+ DESTINATION ${Python${Python_BUILD_VERSION}_SITELIB}
+ ARCHIVE DESTINATION ${PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES}
+ LIBRARY DESTINATION ${PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES}
+ )
# TODO: decide on what to do with demo_ scripts and were to install
# them
diff -up libfreenect-0.7.5/wrappers/python/setup.py.py3 libfreenect-0.7.5/wrappers/python/setup.py
--- libfreenect-0.7.5/wrappers/python/setup.py.py3 2024-01-06 17:57:12.000000000 +0100
+++ libfreenect-0.7.5/wrappers/python/setup.py 2025-11-11 09:48:50.045794539 +0100
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-from distutils.core import setup
-from distutils.extension import Extension
+from setuptools import setup
+from setuptools import Extension
import re
import numpy as np

View file

@ -1,12 +0,0 @@
diff -up libfreenect-0.6.1/OpenNI2-FreenectDriver/CMakeLists.txt.openni2 libfreenect-0.6.1/OpenNI2-FreenectDriver/CMakeLists.txt
--- libfreenect-0.6.1/OpenNI2-FreenectDriver/CMakeLists.txt.openni2 2020-05-25 11:14:11.573900769 +0200
+++ libfreenect-0.6.1/OpenNI2-FreenectDriver/CMakeLists.txt 2020-05-25 11:22:13.057933733 +0200
@@ -12,8 +12,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib/OpenNI2-FreenectDriver)
set_target_properties(FreenectDriver PROPERTIES
- VERSION ${PROJECT_VER}
- SOVERSION ${PROJECT_APIVER}
OUTPUT_NAME FreenectDriver)
add_definitions(-DPROJECT_VER="${PROJECT_VER}")

View file

@ -1,43 +1,36 @@
%{?filter_setup:
%filter_provides_in %{python_sitearch}/.*\.so$
%filter_setup
}
Name: libfreenect Name: libfreenect
Version: 0.7.5 Version: 0.1.2
Release: 4%{?dist} Release: 5%{?dist}
Summary: Device driver for the Kinect Summary: Device driver for the Kinect
# Core libfreenect is available as Apache-2.0 OR GPL-2.0-only License: GPLv2+ or ASL 2.0
# OpenNI driver is available as Apache-2.0 URL: http://www.openkinect.org/
# fakenect/parson.{c,h} is MIT
# fwfetcher.py is BSD-2-Clause
License: Apache-2.0 AND (GPL-2.0-only OR Apache-2.0) AND MIT AND BSD-2-Clause
URL: https://github.com/OpenKinect/
Source0: https://github.com/OpenKinect/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz # No official releases, yet. To reproduce tarball use freenect_generate_tarball.sh:
# Edit udev rule to only allow access to the device from the video group # Usage: freenect_generate_tarball.sh [GIT TAG]
Patch0: %{name}-0.5.7-videogroup.patch Source0: libfreenect-v%{version}.tar.bz2
# Freenect openni driver is a plugin lib, and doesn't need soversion symlinks Source1: freenect_generate_tarball.sh
Patch1: %{name}-openni2.patch
# Allow for proper libdir
Patch3: %{name}-0.4.2-libdir.patch
# BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1143912
Patch4: secarch.patch
# Fix the installation path for python libs
Patch5: %{name}-0.7.5-py3.patch
# Avoid timestamps in generated docs
Patch6: %{name}-0.7.5-notimestamp.patch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval # https://github.com/OpenKinect/libfreenect/commit/e1365de85617781e370abdc7ce1ef6d9875d55de
ExcludeArch: %{ix86} Patch0: %{name}-0.1.2-align.patch
# https://github.com/OpenKinect/libfreenect/commit/bbc109a589a1dd2c229f8bc98536dbc184dd73f9
Patch1: %{name}-0.1.2-big-endian.patch
BuildRequires: gcc-c++ BuildRequires: cmake
BuildRequires: cmake3 BuildRequires: Cython
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: freeglut-devel BuildRequires: freeglut-devel
BuildRequires: libusb1-devel BuildRequires: libusb1-devel
BuildRequires: libGL-devel BuildRequires: libGL-devel
BuildRequires: libXi-devel BuildRequires: libXi-devel
BuildRequires: libXmu-devel BuildRequires: libXmu-devel
BuildRequires: numpy
BuildRequires: opencv-devel BuildRequires: opencv-devel
BuildRequires: python3-Cython BuildRequires: python-devel
BuildRequires: python3-devel
BuildRequires: python3-numpy
Requires: udev Requires: udev
@ -46,6 +39,7 @@ libfreenect is a free and open source library that provides access to the
Kinect device. Currently, the library supports the RGB webcam, the depth Kinect device. Currently, the library supports the RGB webcam, the depth
image, the LED, and the tilt motor. image, the LED, and the tilt motor.
%package devel %package devel
Summary: Development files for %{name} Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
@ -65,8 +59,6 @@ developing applications that use %{name}.
%package fakenect %package fakenect
Summary: Library to play back recorded data for %{name} Summary: Library to play back recorded data for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
# upstream commit f1bb6e7fbe347754fbfc4613bf43000ef0b0c2b2
Provides: bundled(parson)
%description fakenect %description fakenect
Fakenect consists of a "record" program to save dumps from the kinect sensor Fakenect consists of a "record" program to save dumps from the kinect sensor
@ -82,395 +74,95 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
The %{name}-opencv package contains the libfreenect binding The %{name}-opencv package contains the libfreenect binding
library for OpenCV development. library for OpenCV development.
%package -n python3-%{name} %package python
Summary: Python 3 bindings for %{name} Summary: Python bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3-numpy
%description -n python3-%{name} %description python
The %{name}-python package contains python 3 bindings for %{name} The %{name}-python package contains python bindings for %{name}
%package openni
Summary: OpenNI2 driver for the Kinect
%description openni
The OpenNI2-FreenectDriver is a bridge to libfreenect implemented as an
OpenNI2 driver. It allows OpenNI2 to use Kinect hardware on Linux and OSX.
It was originally a separate project but is now distributed with libfreenect.
%prep %prep
%setup -q %setup -q -n %{name}
rm -rv platform/windows %patch0 -p1 -b .align
%patch1 -p1 -b .big-endian
%patch -P 0 -p0 -b .videogroup # Get rid of osx and win specific stuff
%patch -P 1 -p1 -b .openni2 sed -i 's|get_python_lib(prefix='\''${CMAKE_INSTALL_PREFIX}'\'')|get_python_lib(1)|' wrappers/python/CMakeLists.txt
%patch -P 3 -p0 -b .libdir sed -i 's|/usr/local|/usr|' wrappers/python/setup.py
%patch -P 4 -p1 -b .secarch chmod -x wrappers/cpp/cppview.cpp
%patch -P 5 -p1 -b .py3 sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' src/CMakeLists.txt
%patch -P 6 -p1 -b .tstamp sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' examples/CMakeLists.txt
%build %build
%cmake \ mkdir build
-DBUILD_AUDIO=ON \ pushd build
-DBUILD_C_SYNC=ON \ %cmake -DBUILD_AUDIO=ON -DBUILD-CPP=ON -DBUILD_C_SYNC=ON -DBUILD_CV=ON -DBUILD_REDIST_PACKAGE=ON -DBUILD_EXAMPLES=ON -DBUILD_CPACK=OFF -DBUILD_FAKENECT=ON -DBUILD_PYTHON=ON ..
-DBUILD_CV=ON \ make %{?_smp_mflags} VERBOSE=1
-DBUILD_REDIST_PACKAGE=ON \ popd
-DBUILD_EXAMPLES=ON \
-DBUILD_FAKENECT=ON \
-DBUILD_PYTHON=OFF \
-DBUILD_PYTHON2=OFF \
-DBUILD_PYTHON3=ON \
-DBUILD_OPENNI2_DRIVER=ON
%cmake_build
pushd doc pushd doc
doxygen Doxyfile doxygen Doxyfile
popd popd
%install %install
%cmake_install rm -rf %{buildroot}
make -C build install DESTDIR=%{buildroot}
# Install the kinect udev rule mkdir -p %{buildroot}/lib/udev/rules.d
mkdir -p %{buildroot}%{_udevrulesdir} install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d
mkdir -p %{buildroot}%{_libdir}/openni2
install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}%{_udevrulesdir}
# Delete libtool archives
find %{buildroot} -name '*.la' -exec rm -f {} ';' find %{buildroot} -name '*.la' -exec rm -f {} ';'
mv %{buildroot}%{_includedir}/libfreenect.hpp %{buildroot}%{_includedir}/libfreenect/libfreenect.hpp
# These binaries have very vague names. Renaming them to freenect-* to clarify
for f in %{buildroot}%{_bindir}/*; do
mv $f %{buildroot}%{_bindir}/freenect-$(basename $f)
done
mv %{buildroot}%{_bindir}/freenect-fakenect %{buildroot}%{_bindir}/fakenect
# Move the fwfetcher script to the correct datadir
mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name}
chmod +x %{buildroot}%{_datadir}/%{name}/fwfetcher.py # Get rid of the hashbang in the fwfetcher song
sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py
# Move openni plugin: rhbz#1094787 %post -p /sbin/ldconfig
mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers
%postun -p /sbin/ldconfig
%post opencv -p /sbin/ldconfig
%postun opencv -p /sbin/ldconfig
%files %files
%license APACHE20 GPL2 %doc APACHE20 GPL2 README.asciidoc CONTRIB
%doc README.md CONTRIB /lib/udev/rules.d/*
%{_udevrulesdir}/51-kinect.rules %{_libdir}/libfreenect.so.*
%{_libdir}/libfreenect.so.0{,.*} %{_libdir}/libfreenect_sync.so.*
%{_libdir}/libfreenect_sync.so.0{,.*} %exclude %{_bindir}/freenect-cvdemo
%{_bindir}/freenect-camtest %exclude %{_bindir}/fakenect
%{_bindir}/freenect-chunkview %{_bindir}/freenect-*
%{_bindir}/freenect-cpp_pcview
%{_bindir}/freenect-cppview
%{_bindir}/freenect-glpclview
%{_bindir}/freenect-glview
%{_bindir}/freenect-hiview
%{_bindir}/freenect-micview
%{_bindir}/freenect-regtest
%{_bindir}/freenect-regview
%{_bindir}/freenect-tiltdemo
%{_bindir}/freenect-wavrecord
%{_datadir}/%{name} %{_datadir}/%{name}
%files opencv %files opencv
%{_bindir}/freenect-cvdemo %{_bindir}/freenect-cvdemo
%{_libdir}/libfreenect_cv.so.0{,.*} %{_libdir}/libfreenect_cv.so.*
%files devel %files devel
%doc doc/html %doc doc/html
%doc examples/*.c wrappers/cpp/cppview.cpp %doc examples/*.c wrappers/cpp/cppview.cpp
%{_includedir}/libfreenect %{_includedir}/libfreenect
%{_libdir}/libfreenect.so %{_libdir}/*.so
%{_libdir}/libfreenect_cv.so %{_libdir}/pkgconfig/*
%{_libdir}/libfreenect_sync.so %{_libdir}/fakenect/*.so
%{_libdir}/pkgconfig/libfreenect.pc
%{_libdir}/fakenect/libfakenect.so
%files static %files static
%{_libdir}/libfreenect.a %{_libdir}/*.a
%{_libdir}/libfreenect_sync.a
%files -n python3-%{name} %files python
%{python3_sitearch}/freenect.so %{python_sitearch}/*.so
%files fakenect %files fakenect
%dir %{_libdir}/fakenect %dir %{_libdir}/fakenect
%{_bindir}/fakenect-record %{_libdir}/fakenect/*.so.*
%{_libdir}/fakenect/libfakenect.so.0{,.*}
%{_bindir}/fakenect %{_bindir}/fakenect
%{_mandir}/man1/fakenect-record.1.*
%{_mandir}/man1/fakenect.1.*
%files openni
%license APACHE20 GPL2
%{_libdir}/openni2
%changelog %changelog
* Fri Jan 02 2026 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 0.7.5-4
- Add OpenNI2 driver on riscv64
* Wed Dec 10 2025 Nicolas Chauvet <kwizart@gmail.com> - 0.7.5-3
- Rebuilt for OpenCV-4.12
* Mon Nov 24 2025 Dominik Mierzejewski <dominik@greysector.net> - 0.7.5-2
- fixed duplicate files warning
- made file lists more explicit
- corrected License tag
- added missing Provides: for bundled parson
- added executable bit to fwfetcher.py script and fixed shebang
- avoid timestamps in generated docs for reproducibility
* Tue Nov 11 2025 Dominik Mierzejewski <dominik@greysector.net> - 0.7.5-1
- Updated to 0.7.5
- Dropped obsolete patches
- Updated URL
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 04 2025 Python Maint <python-maint@redhat.com> - 0.7.0-15
- Rebuilt for Python 3.14
* Tue Feb 04 2025 Sérgio Basto <sergio@serjux.com> - 0.7.0-14
- Rebuild for opencv-4.11.0
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Dec 24 2024 Orion Poplawski <orion@nwra.com> - 0.7.0-12
- Rebuild with numpy 2.x (rhbz#2333776)
* Thu Jul 25 2024 Sérgio Basto <sergio@serjux.com> - 0.7.0-11
- Rebuild for opencv 4.10.0
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 0.7.0-9
- Rebuilt for Python 3.13
* Mon Feb 05 2024 Sérgio Basto <sergio@serjux.com> - 0.7.0-8
- Rebuild for opencv 4.9.0
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 04 2024 Florian Weimer <fweimer@redhat.com> - 0.7.0-5
- Fix C compatibility issue in Cython wrapper
* Mon Aug 07 2023 Rich Mattes <richmattes@gmail.com> - 0.7.0-4
- Fix build error with cython 3
* Mon Aug 07 2023 Sérgio Basto <sergio@serjux.com> - 0.7.0-4
- Rebuild for opencv 4.8.0
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 13 2023 Rich Mattes <richmattes@gmail.com> - 0.7.0-2
- Updates for Python 3.12 compatibility
- Resolves: rhbz#2220025
* Sat Jun 17 2023 Python Maint <python-maint@redhat.com> - 0.7.0-2
- Rebuilt for Python 3.12
* Thu May 04 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.7.0-1
- Update to 0.7.0
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Sérgio Basto <sergio@serjux.com> - 0.6.4-2
- Rebuild for opencv 4.7.0
* Sat Sep 24 2022 Phil Wyett <philip.wyett@kathenas.org> - 0.6.4-1
- New upstream version 0.6.4
- Remove old globals
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 21 2022 Sérgio Basto <sergio@serjux.com> - 0.6.2-8
- Rebuilt for opencv 4.6.0
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.6.2-7
- Rebuilt for Python 3.11
* Wed Jan 26 2022 Phil Wyett <philip.wyett@kathenas.org> - 0.6.2-6
- Fix FTBFS. Update cmake related OpenGL GLVND and GLUT.
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Sep 01 2021 Phil Wyett <philip.wyett@kathenas.org> - 0.6.2-4
- Drop not needed Cython BuildRequires
- Resolves: #1984287
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.6.2-2
- Rebuilt for Python 3.10
* Thu Mar 04 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.6.2-1
- Update to 0.6.2
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Oct 22 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.1-7
- Rebuilt for OpenCV
* Mon Aug 03 2020 Leigh Scott <leigh123linux@gmail.com> - 0.6.1-6
- Fix unversioned python
- Switch to new cmake macros
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 04 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.1-3
- Rebuilt for OpenCV 4.3
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.6.1-2
- Rebuilt for Python 3.9
* Mon May 25 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.1-1
- Update to 0.6.1
* Tue Mar 03 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-3
- Update to new ABI
* Fri Feb 28 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-2
- Rebuilt to keep previous ABI
* Fri Feb 28 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-1
- Update to 0.6.0
- Drop Minor in APIVER (SONAME change)
* Wed Feb 19 2020 Leigh Scott <leigh123linux@gmail.com> - 0.5.7-15
- Rebuilt for OpenCV 4.2
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 28 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-13
- Rebuilt for OpenCV 4.2
* Mon Jan 27 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-12
- Fix for OpenCV4
* Sun Dec 29 2019 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-11
- Rebuilt for opencv4
* Tue Sep 17 2019 Gwyn Ciesla <gwync@protonmail.com> - 0.5.7-9
- Rebuilt for new freeglut
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.5.7-8
- Rebuilt for Python 3.8
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Jan 20 2019 Rich Mattes <richmattes@gmail.com> - 0.5.7-5
- Remove Python 2 support (#1634715)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.5.7-3
- Rebuilt for Python 3.7
* Sat May 26 2018 Rich Mattes <richmattes@gmail.com> - 0.5.7-2
- Re-enable OpenCV bindings (rhbz#1551748)
- Fix bogus obsoletes (rhbz#1537213)
- Update udev rule to allow device access to "video" group
* Mon Mar 05 2018 Adam Williamson <awilliam@redhat.com> - 0.5.7-1
- Bump to 0.5.7 (bug fixes)
- Disable openCV support for now (see #1551748)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.5.5-2
- Rebuild due to bug in RPM (RHBZ #1468476)
* Wed Mar 08 2017 Rich Mattes <richmattes@gmail.com> - 0.5.5-1
- Update to release 0.5.5
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.3-4
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Sat May 14 2016 Rich Mattes <richmattes@gmail.com> - 0.5.3-3
- Rebuild for opencv-3.1 changes
* Mon May 02 2016 Ralf Corsépius <corsepiu@fedoraproject.org> - 0.5.3-2
- Rebuild for opencv-3.1.0.
* Sun Feb 21 2016 Rich Mattes <richmattes@gmail.com> - 0.5.3-1
- Update to release 0.5.3 (rhbz#1272803)
- Fix rawhide FTBFS (rhbz#1307722)
- Patch freenct-cppview to catch exception when no freenect device is present (rhbz#1310356)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sat Sep 26 2015 Rich Mattes <richmattes@gmail.com> - 0.5.2-5
- Add dependency on numpy (rhbz#1265472)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.5.2-3
- Rebuilt for GCC 5 C++11 ABI change
* Wed Mar 04 2015 Rich Mattes <richmattes@gmail.com> - 0.5.2-1
- Add patch for s390 and ppc (rhbz#1143912)
* Wed Mar 04 2015 Rich Mattes <richmattes@gmail.com> - 0.5.2-1
- Update to release 0.5.2 (rhbz#1160258)
* Tue Aug 19 2014 Jiri Kastner <jkastner /at/ redhat /dot/ com> - 0.5.0-1
- update to release 0.5.0 (rhbz#1124171)
- Move openni plugin to libdir/openni2/Drivers (rhbz#1094787)
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Jun 01 2014 Rich Mattes <richmattes@gmail.com> - 0.4.3-1
- Update to release 0.4.3
- Move openni plugin to libdir/openni2/ (rhbz#1094787)
* Mon May 05 2014 Rich Mattes <richmattes@gmail.com> - 0.4.2-1
- Update to release 0.4.2
- Add platform detection for aarch64
* Fri May 02 2014 Rich Mattes <richmattes@gmail.com> - 0.4.1-1
- Update to release 0.4.1
* Fri Nov 22 2013 Rich Mattes <richmattes@gmail.com> - 0.2.0-1
- Update to release 0.2.0
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-5 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
@ -489,11 +181,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/
- Create OpenCV wrapper sub-package - Create OpenCV wrapper sub-package
- Create fakenect library sub-package - Create fakenect library sub-package
* Thu Mar 24 2011 Rich Mattes <richmattes@gmail.com> - 0-0.3.4a159fgit * Tue Mar 24 2011 Rich Mattes <richmattes@gmail.com> - 0-0.3.4a159fgit
- Force cmake to honor rpm optflags - Force cmake to honor rpm optflags
- Change to out-of-tree build - Change to out-of-tree build
* Thu Mar 24 2011 Rich Mattes <richmattes@gmail.com> - 0-0.2.4a159fgit * Tue Mar 24 2011 Rich Mattes <richmattes@gmail.com> - 0-0.2.4a159fgit
- Update to latest snapshot - Update to latest snapshot
* Mon Jan 31 2011 Rich Mattes <richmattes@gmail.com> - 0-0.1.687b2da5git * Mon Jan 31 2011 Rich Mattes <richmattes@gmail.com> - 0-0.1.687b2da5git

View file

@ -1,160 +0,0 @@
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h
===================================================================
--- /dev/null
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h
@@ -0,0 +1,41 @@
+/*****************************************************************************
+* *
+* 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_PPC_H_
+#define _ONI_PLATFORM_LINUX_PPC_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_PPC
+#define ONI_PLATFORM_STRING "Linux-PowerPC"
+
+#if !(defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
+#undef ONI_PLATFORM_ENDIAN_TYPE
+#define ONI_PLATFORM_ENDIAN_TYPE ONI_PLATFORM_IS_BIG_ENDIAN
+#endif
+
+#endif //_ONI_PLATFORM_LINUX_PPC_H_
+
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h
===================================================================
--- /dev/null
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h
@@ -0,0 +1,42 @@
+/*****************************************************************************
+* *
+* 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_s390_H_
+#define _ONI_PLATFORM_LINUX_s390_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_S390
+#define ONI_PLATFORM_STRING "Linux-s390"
+
+#undef ONI_PLATFORM_ENDIAN_TYPE
+#define ONI_PLATFORM_ENDIAN_TYPE ONI_PLATFORM_IS_BIG_ENDIAN
+
+#undef ONI_DEFAULT_MEM_ALIGN
+#define ONI_DEFAULT_MEM_ALIGN 8
+
+#endif //_ONI_PLATFORM_LINUX_s390_H_
+
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h
===================================================================
--- libfreenect-0.7.5.orig/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h
@@ -27,6 +27,8 @@
#define ONI_PLATFORM_LINUX_ARM 3
#define ONI_PLATFORM_MACOSX 4
#define ONI_PLATFORM_ANDROID_ARM 5
+#define ONI_PLATFORM_LINUX_PPC 6
+#define ONI_PLATFORM_LINUX_S390 7
#if (defined _WIN32)
# ifndef RC_INVOKED
@@ -41,6 +43,12 @@
# include "Linux-x86/OniPlatformLinux-x86.h"
#elif (__linux__ && (__arm__ || __aarch64__))
# include "Linux-Arm/OniPlatformLinux-Arm.h"
+#elif (__linux__ && (__powerpc__ || __powerpc64__))
+# include "Linux-ppc/OniPlatformLinux-PPC.h"
+#elif (__linux__ && (__riscv))
+# include "Linux-riscv/OniPlatformLinux-RISCV.h"
+#elif (__linux__ && (__s390__ || __s390x__ ))
+# include "Linux-s390/OniPlatformLinux-s390.h"
#elif _ARC
# include "ARC/OniPlaformARC.h"
#elif (__APPLE__)
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-riscv/OniPlatformLinux-RISCV.h
===================================================================
--- /dev/null
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-riscv/OniPlatformLinux-RISCV.h
@@ -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_RISCV_H_
+#define _ONI_PLATFORM_LINUX_RISCV_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_RISCV
+#define ONI_PLATFORM_STRING "Linux-RISCV"
+
+#endif //_ONI_PLATFORM_LINUX_RISCV_H_
+

View file

@ -1 +1 @@
SHA512 (libfreenect-0.7.5.tar.gz) = 6ba9ba632d9021b84a8c137837226fadc6e0e091cf89bf092e8ee805610c227c31da95b50c05d5882357cb80d7e4275693d13d1511eb2eb45f15ffffc2d549bf b8f40bf839d50fb6937b76bd4fa1eecc libfreenect-v0.1.2.tar.bz2