diff --git a/.gitignore b/.gitignore index 3257e85..8523c15 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -libfreenect-*.tar.* +/libfreenect-v0.1.2.tar.bz2 diff --git a/libfreenect-0.1.2-align.patch b/libfreenect-0.1.2-align.patch new file mode 100644 index 0000000..5ad2d52 --- /dev/null +++ b/libfreenect-0.1.2-align.patch @@ -0,0 +1,177 @@ +commit e1365de85617781e370abdc7ce1ef6d9875d55de +Author: Drew Fisher +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 + +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; diff --git a/libfreenect-0.1.2-big-endian.patch b/libfreenect-0.1.2-big-endian.patch new file mode 100644 index 0000000..a99d3d4 --- /dev/null +++ b/libfreenect-0.1.2-big-endian.patch @@ -0,0 +1,59 @@ +commit bbc109a589a1dd2c229f8bc98536dbc184dd73f9 +Author: Drew Fisher +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 + +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) diff --git a/libfreenect-0.4.2-libdir.patch b/libfreenect-0.4.2-libdir.patch deleted file mode 100644 index f1fbaa8..0000000 --- a/libfreenect-0.4.2-libdir.patch +++ /dev/null @@ -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}") diff --git a/libfreenect-0.5.7-videogroup.patch b/libfreenect-0.5.7-videogroup.patch deleted file mode 100644 index 6390006..0000000 --- a/libfreenect-0.5.7-videogroup.patch +++ /dev/null @@ -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" diff --git a/libfreenect-0.7.5-notimestamp.patch b/libfreenect-0.7.5-notimestamp.patch deleted file mode 100644 index 54b6a6b..0000000 --- a/libfreenect-0.7.5-notimestamp.patch +++ /dev/null @@ -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 diff --git a/libfreenect-0.7.5-py3.patch b/libfreenect-0.7.5-py3.patch deleted file mode 100644 index e938de1..0000000 --- a/libfreenect-0.7.5-py3.patch +++ /dev/null @@ -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 - diff --git a/libfreenect-openni2.patch b/libfreenect-openni2.patch deleted file mode 100644 index 36dc2da..0000000 --- a/libfreenect-openni2.patch +++ /dev/null @@ -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}") diff --git a/libfreenect.spec b/libfreenect.spec index d3aa0e9..87188e8 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,43 +1,36 @@ +%{?filter_setup: +%filter_provides_in %{python_sitearch}/.*\.so$ +%filter_setup +} + Name: libfreenect -Version: 0.7.5 -Release: 4%{?dist} +Version: 0.1.2 +Release: 5%{?dist} Summary: Device driver for the Kinect -# Core libfreenect is available as Apache-2.0 OR GPL-2.0-only -# OpenNI driver is available as Apache-2.0 -# 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/ +License: GPLv2+ or ASL 2.0 +URL: http://www.openkinect.org/ -Source0: https://github.com/OpenKinect/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz -# Edit udev rule to only allow access to the device from the video group -Patch0: %{name}-0.5.7-videogroup.patch -# Freenect openni driver is a plugin lib, and doesn't need soversion symlinks -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 +# No official releases, yet. To reproduce tarball use freenect_generate_tarball.sh: +# Usage: freenect_generate_tarball.sh [GIT TAG] +Source0: libfreenect-v%{version}.tar.bz2 +Source1: freenect_generate_tarball.sh -# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval -ExcludeArch: %{ix86} +# https://github.com/OpenKinect/libfreenect/commit/e1365de85617781e370abdc7ce1ef6d9875d55de +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: cmake3 +BuildRequires: cmake +BuildRequires: Cython BuildRequires: doxygen BuildRequires: freeglut-devel BuildRequires: libusb1-devel BuildRequires: libGL-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel +BuildRequires: numpy BuildRequires: opencv-devel -BuildRequires: python3-Cython -BuildRequires: python3-devel -BuildRequires: python3-numpy +BuildRequires: python-devel 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 image, the LED, and the tilt motor. + %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -65,8 +59,6 @@ developing applications that use %{name}. %package fakenect Summary: Library to play back recorded data for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -# upstream commit f1bb6e7fbe347754fbfc4613bf43000ef0b0c2b2 -Provides: bundled(parson) %description fakenect 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 library for OpenCV development. -%package -n python3-%{name} -Summary: Python 3 bindings for %{name} +%package python +Summary: Python bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python3-numpy -%description -n python3-%{name} -The %{name}-python package contains python 3 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. +%description python +The %{name}-python package contains python bindings for %{name} %prep -%setup -q -rm -rv platform/windows - -%patch -P 0 -p0 -b .videogroup -%patch -P 1 -p1 -b .openni2 -%patch -P 3 -p0 -b .libdir -%patch -P 4 -p1 -b .secarch -%patch -P 5 -p1 -b .py3 -%patch -P 6 -p1 -b .tstamp +%setup -q -n %{name} +%patch0 -p1 -b .align +%patch1 -p1 -b .big-endian +# Get rid of osx and win specific stuff +sed -i 's|get_python_lib(prefix='\''${CMAKE_INSTALL_PREFIX}'\'')|get_python_lib(1)|' wrappers/python/CMakeLists.txt +sed -i 's|/usr/local|/usr|' wrappers/python/setup.py +chmod -x wrappers/cpp/cppview.cpp +sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' src/CMakeLists.txt +sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' examples/CMakeLists.txt %build -%cmake \ - -DBUILD_AUDIO=ON \ - -DBUILD_C_SYNC=ON \ - -DBUILD_CV=ON \ - -DBUILD_REDIST_PACKAGE=ON \ - -DBUILD_EXAMPLES=ON \ - -DBUILD_FAKENECT=ON \ - -DBUILD_PYTHON=OFF \ - -DBUILD_PYTHON2=OFF \ - -DBUILD_PYTHON3=ON \ - -DBUILD_OPENNI2_DRIVER=ON - -%cmake_build +mkdir build +pushd build +%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 .. +make %{?_smp_mflags} VERBOSE=1 +popd pushd doc doxygen Doxyfile popd %install -%cmake_install - -# Install the kinect udev rule -mkdir -p %{buildroot}%{_udevrulesdir} -mkdir -p %{buildroot}%{_libdir}/openni2 -install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}%{_udevrulesdir} - -# Delete libtool archives +rm -rf %{buildroot} +make -C build install DESTDIR=%{buildroot} +mkdir -p %{buildroot}/lib/udev/rules.d +install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d 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} -mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} -chmod +x %{buildroot}%{_datadir}/%{name}/fwfetcher.py +mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} +# 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 -mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post opencv -p /sbin/ldconfig + +%postun opencv -p /sbin/ldconfig %files -%license APACHE20 GPL2 -%doc README.md CONTRIB -%{_udevrulesdir}/51-kinect.rules -%{_libdir}/libfreenect.so.0{,.*} -%{_libdir}/libfreenect_sync.so.0{,.*} -%{_bindir}/freenect-camtest -%{_bindir}/freenect-chunkview -%{_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 +%doc APACHE20 GPL2 README.asciidoc CONTRIB +/lib/udev/rules.d/* +%{_libdir}/libfreenect.so.* +%{_libdir}/libfreenect_sync.so.* +%exclude %{_bindir}/freenect-cvdemo +%exclude %{_bindir}/fakenect +%{_bindir}/freenect-* %{_datadir}/%{name} %files opencv %{_bindir}/freenect-cvdemo -%{_libdir}/libfreenect_cv.so.0{,.*} +%{_libdir}/libfreenect_cv.so.* %files devel %doc doc/html %doc examples/*.c wrappers/cpp/cppview.cpp %{_includedir}/libfreenect -%{_libdir}/libfreenect.so -%{_libdir}/libfreenect_cv.so -%{_libdir}/libfreenect_sync.so -%{_libdir}/pkgconfig/libfreenect.pc -%{_libdir}/fakenect/libfakenect.so +%{_libdir}/*.so +%{_libdir}/pkgconfig/* +%{_libdir}/fakenect/*.so %files static -%{_libdir}/libfreenect.a -%{_libdir}/libfreenect_sync.a +%{_libdir}/*.a -%files -n python3-%{name} -%{python3_sitearch}/freenect.so +%files python +%{python_sitearch}/*.so %files fakenect %dir %{_libdir}/fakenect -%{_bindir}/fakenect-record -%{_libdir}/fakenect/libfakenect.so.0{,.*} +%{_libdir}/fakenect/*.so.* %{_bindir}/fakenect -%{_mandir}/man1/fakenect-record.1.* -%{_mandir}/man1/fakenect.1.* - -%files openni -%license APACHE20 GPL2 -%{_libdir}/openni2 %changelog -* Fri Jan 02 2026 Marcin Juszkiewicz - 0.7.5-4 -- Add OpenNI2 driver on riscv64 - -* Wed Dec 10 2025 Nicolas Chauvet - 0.7.5-3 -- Rebuilt for OpenCV-4.12 - -* Mon Nov 24 2025 Dominik Mierzejewski - 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 - 0.7.5-1 -- Updated to 0.7.5 -- Dropped obsolete patches -- Updated URL - -* Thu Jul 24 2025 Fedora Release Engineering - 0.7.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jun 04 2025 Python Maint - 0.7.0-15 -- Rebuilt for Python 3.14 - -* Tue Feb 04 2025 Sérgio Basto - 0.7.0-14 -- Rebuild for opencv-4.11.0 - -* Fri Jan 17 2025 Fedora Release Engineering - 0.7.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Dec 24 2024 Orion Poplawski - 0.7.0-12 -- Rebuild with numpy 2.x (rhbz#2333776) - -* Thu Jul 25 2024 Sérgio Basto - 0.7.0-11 -- Rebuild for opencv 4.10.0 - -* Thu Jul 18 2024 Fedora Release Engineering - 0.7.0-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sun Jun 09 2024 Python Maint - 0.7.0-9 -- Rebuilt for Python 3.13 - -* Mon Feb 05 2024 Sérgio Basto - 0.7.0-8 -- Rebuild for opencv 4.9.0 - -* Thu Jan 25 2024 Fedora Release Engineering - 0.7.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 0.7.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jan 04 2024 Florian Weimer - 0.7.0-5 -- Fix C compatibility issue in Cython wrapper - -* Mon Aug 07 2023 Rich Mattes - 0.7.0-4 -- Fix build error with cython 3 - -* Mon Aug 07 2023 Sérgio Basto - 0.7.0-4 -- Rebuild for opencv 4.8.0 - -* Thu Jul 20 2023 Fedora Release Engineering - 0.7.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jul 13 2023 Rich Mattes - 0.7.0-2 -- Updates for Python 3.12 compatibility -- Resolves: rhbz#2220025 - -* Sat Jun 17 2023 Python Maint - 0.7.0-2 -- Rebuilt for Python 3.12 - -* Thu May 04 2023 Nicolas Chauvet - 0.7.0-1 -- Update to 0.7.0 - -* Thu Jan 19 2023 Fedora Release Engineering - 0.6.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Jan 16 2023 Sérgio Basto - 0.6.4-2 -- Rebuild for opencv 4.7.0 - -* Sat Sep 24 2022 Phil Wyett - 0.6.4-1 -- New upstream version 0.6.4 -- Remove old globals - -* Thu Jul 21 2022 Fedora Release Engineering - 0.6.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Jun 21 2022 Sérgio Basto - 0.6.2-8 -- Rebuilt for opencv 4.6.0 - -* Mon Jun 13 2022 Python Maint - 0.6.2-7 -- Rebuilt for Python 3.11 - -* Wed Jan 26 2022 Phil Wyett - 0.6.2-6 -- Fix FTBFS. Update cmake related OpenGL GLVND and GLUT. - -* Thu Jan 20 2022 Fedora Release Engineering - 0.6.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Sep 01 2021 Phil Wyett - 0.6.2-4 -- Drop not needed Cython BuildRequires -- Resolves: #1984287 - -* Thu Jul 22 2021 Fedora Release Engineering - 0.6.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 0.6.2-2 -- Rebuilt for Python 3.10 - -* Thu Mar 04 2021 Nicolas Chauvet - 0.6.2-1 -- Update to 0.6.2 - -* Tue Jan 26 2021 Fedora Release Engineering - 0.6.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Oct 22 2020 Nicolas Chauvet - 0.6.1-7 -- Rebuilt for OpenCV - -* Mon Aug 03 2020 Leigh Scott - 0.6.1-6 -- Fix unversioned python -- Switch to new cmake macros - -* Sat Aug 01 2020 Fedora Release Engineering - 0.6.1-5 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 0.6.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jun 04 2020 Nicolas Chauvet - 0.6.1-3 -- Rebuilt for OpenCV 4.3 - -* Tue May 26 2020 Miro Hrončok - 0.6.1-2 -- Rebuilt for Python 3.9 - -* Mon May 25 2020 Nicolas Chauvet - 0.6.1-1 -- Update to 0.6.1 - -* Tue Mar 03 2020 Nicolas Chauvet - 0.6.0-3 -- Update to new ABI - -* Fri Feb 28 2020 Nicolas Chauvet - 0.6.0-2 -- Rebuilt to keep previous ABI - -* Fri Feb 28 2020 Nicolas Chauvet - 0.6.0-1 -- Update to 0.6.0 -- Drop Minor in APIVER (SONAME change) - -* Wed Feb 19 2020 Leigh Scott - 0.5.7-15 -- Rebuilt for OpenCV 4.2 - -* Wed Jan 29 2020 Fedora Release Engineering - 0.5.7-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Jan 28 2020 Nicolas Chauvet - 0.5.7-13 -- Rebuilt for OpenCV 4.2 - -* Mon Jan 27 2020 Nicolas Chauvet - 0.5.7-12 -- Fix for OpenCV4 - -* Sun Dec 29 2019 Nicolas Chauvet - 0.5.7-11 -- Rebuilt for opencv4 - -* Tue Sep 17 2019 Gwyn Ciesla - 0.5.7-9 -- Rebuilt for new freeglut - -* Mon Aug 19 2019 Miro Hrončok - 0.5.7-8 -- Rebuilt for Python 3.8 - -* Thu Jul 25 2019 Fedora Release Engineering - 0.5.7-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 0.5.7-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sun Jan 20 2019 Rich Mattes - 0.5.7-5 -- Remove Python 2 support (#1634715) - -* Fri Jul 13 2018 Fedora Release Engineering - 0.5.7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 0.5.7-3 -- Rebuilt for Python 3.7 - -* Sat May 26 2018 Rich Mattes - 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 - 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 - 0.5.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Aug 03 2017 Fedora Release Engineering - 0.5.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 0.5.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jul 07 2017 Igor Gnatenko - 0.5.5-2 -- Rebuild due to bug in RPM (RHBZ #1468476) - -* Wed Mar 08 2017 Rich Mattes - 0.5.5-1 -- Update to release 0.5.5 - -* Fri Feb 10 2017 Fedora Release Engineering - 0.5.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Jul 19 2016 Fedora Release Engineering - 0.5.3-4 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Sat May 14 2016 Rich Mattes - 0.5.3-3 -- Rebuild for opencv-3.1 changes - -* Mon May 02 2016 Ralf Corsépius - 0.5.3-2 -- Rebuild for opencv-3.1.0. - -* Sun Feb 21 2016 Rich Mattes - 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 - 0.5.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Sat Sep 26 2015 Rich Mattes - 0.5.2-5 -- Add dependency on numpy (rhbz#1265472) - -* Wed Jun 17 2015 Fedora Release Engineering - 0.5.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 02 2015 Kalev Lember - 0.5.2-3 -- Rebuilt for GCC 5 C++11 ABI change - -* Wed Mar 04 2015 Rich Mattes - 0.5.2-1 -- Add patch for s390 and ppc (rhbz#1143912) - -* Wed Mar 04 2015 Rich Mattes - 0.5.2-1 -- Update to release 0.5.2 (rhbz#1160258) - -* Tue Aug 19 2014 Jiri Kastner - 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 - 0.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 0.4.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sun Jun 01 2014 Rich Mattes - 0.4.3-1 -- Update to release 0.4.3 -- Move openni plugin to libdir/openni2/ (rhbz#1094787) - -* Mon May 05 2014 Rich Mattes - 0.4.2-1 -- Update to release 0.4.2 -- Add platform detection for aarch64 - -* Fri May 02 2014 Rich Mattes - 0.4.1-1 -- Update to release 0.4.1 - -* Fri Nov 22 2013 Rich Mattes - 0.2.0-1 -- Update to release 0.2.0 - -* Sat Aug 03 2013 Fedora Release Engineering - 0.1.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - * Thu Feb 14 2013 Fedora Release Engineering - 0.1.2-5 - 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 fakenect library sub-package -* Thu Mar 24 2011 Rich Mattes - 0-0.3.4a159fgit +* Tue Mar 24 2011 Rich Mattes - 0-0.3.4a159fgit - Force cmake to honor rpm optflags - Change to out-of-tree build -* Thu Mar 24 2011 Rich Mattes - 0-0.2.4a159fgit +* Tue Mar 24 2011 Rich Mattes - 0-0.2.4a159fgit - Update to latest snapshot * Mon Jan 31 2011 Rich Mattes - 0-0.1.687b2da5git diff --git a/secarch.patch b/secarch.patch deleted file mode 100644 index 4bdca1e..0000000 --- a/secarch.patch +++ /dev/null @@ -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_ -+ diff --git a/sources b/sources index 4bba409..cfb3dbd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-0.7.5.tar.gz) = 6ba9ba632d9021b84a8c137837226fadc6e0e091cf89bf092e8ee805610c227c31da95b50c05d5882357cb80d7e4275693d13d1511eb2eb45f15ffffc2d549bf +b8f40bf839d50fb6937b76bd4fa1eecc libfreenect-v0.1.2.tar.bz2