From 8efccaeaf10f201643544c5f73c25504d0069568 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 2 Sep 2012 20:39:51 -0400 Subject: [PATCH 001/106] Initial import --- .gitignore | 1 + freenect_generate_tarball.sh | 11 +++ libfreenect.spec | 177 +++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 190 insertions(+) create mode 100755 freenect_generate_tarball.sh create mode 100644 libfreenect.spec diff --git a/.gitignore b/.gitignore index e69de29..8523c15 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libfreenect-v0.1.2.tar.bz2 diff --git a/freenect_generate_tarball.sh b/freenect_generate_tarball.sh new file mode 100755 index 0000000..0dad130 --- /dev/null +++ b/freenect_generate_tarball.sh @@ -0,0 +1,11 @@ +#!/bin/bash + + +git clone git://github.com/OpenKinect/libfreenect +pushd libfreenect +git checkout $1 +sh mkcontrib.sh +find ./ -name ".git*" -exec rm -rf {} ';' +rm -rf platform/windows platform/osx +popd +tar cjf libfreenect-$1.tar.bz2 libfreenect diff --git a/libfreenect.spec b/libfreenect.spec new file mode 100644 index 0000000..23aed62 --- /dev/null +++ b/libfreenect.spec @@ -0,0 +1,177 @@ +%{?filter_setup: +%filter_provides_in %{python_sitearch}/.*\.so$ +%filter_setup +} + +Name: libfreenect +Version: 0.1.2 +Release: 2%{?dist} +Summary: Device driver for the Kinect +License: GPLv2+ or ASL 2.0 +URL: http://www.openkinect.org/ + +# 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 + +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: python-devel + +Requires: udev + +%description +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} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package static +Summary: Development files for %{name} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description static +The %{name}-static package contains static libraries for +developing applications that use %{name}. + +%package fakenect +Summary: Library to play back recorded data for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description fakenect +Fakenect consists of a "record" program to save dumps from the kinect sensor +and a library that can be linked to, providing an interface compatible with +freenect. This allows you to save data and repeat for experiments, debug +problems, share datasets, and experiment with the kinect without having one. + +%package opencv +Summary: OpenCV bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description opencv +The %{name}-opencv package contains the libfreenect binding +library for OpenCV development. + +%package python +Summary: Python bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description python +The %{name}-python package contains python bindings for %{name} + +%prep +%setup -q -n %{name} +# 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 +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 +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 + +mkdir -p %{buildroot}%{_datadir}/%{name} +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 + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post opencv -p /sbin/ldconfig + +%postun opencv -p /sbin/ldconfig + +%files +%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.* + +%files devel +%doc doc/html +%doc examples/*.c wrappers/cpp/cppview.cpp +%{_includedir}/libfreenect +%{_libdir}/*.so +%{_libdir}/pkgconfig/* +%{_libdir}/fakenect/*.so + +%files static +%{_libdir}/*.a + +%files python +%{python_sitearch}/*.so + +%files fakenect +%dir %{_libdir}/fakenect +%{_libdir}/fakenect/*.so.* +%{_bindir}/fakenect + +%changelog +* Wed Aug 15 2012 Rich Mattes - 0.1.2-2 +- Filtered private python lib provides +- Clarified that freenect_generate_tarball.sh works with a git tag + +* Thu Apr 26 2012 Rich Mattes - 0.1.2-1 +- Update to git tag 0.1.2 +- Create OpenCV wrapper sub-package +- Create fakenect library sub-package + +* Tue Mar 24 2011 Rich Mattes - 0-0.3.4a159fgit +- Force cmake to honor rpm optflags +- Change to out-of-tree build + +* Tue Mar 24 2011 Rich Mattes - 0-0.2.4a159fgit +- Update to latest snapshot + +* Mon Jan 31 2011 Rich Mattes - 0-0.1.687b2da5git +- Initial package + diff --git a/sources b/sources index e69de29..cfb3dbd 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +b8f40bf839d50fb6937b76bd4fa1eecc libfreenect-v0.1.2.tar.bz2 From b24a346152ca9e88cab00b7d935944d248982226 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Fri, 9 Nov 2012 19:35:08 -0500 Subject: [PATCH 002/106] Rebuild for new OpenCV --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 23aed62..cc99d8b 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.1.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -156,6 +156,9 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %{_bindir}/fakenect %changelog +* Sat Nov 10 2012 Rich Mattes - 0.1.2-3 +- Rebuild for new OpenCV + * Wed Aug 15 2012 Rich Mattes - 0.1.2-2 - Filtered private python lib provides - Clarified that freenect_generate_tarball.sh works with a git tag From 125998198b750f179b57ca4040039c76da480db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 9 Jan 2013 17:41:24 +0100 Subject: [PATCH 003/106] fixes for secondary arches --- libfreenect-0.1.2-align.patch | 177 +++++++++++++++++++++++++++++ libfreenect-0.1.2-big-endian.patch | 59 ++++++++++ libfreenect.spec | 12 +- 3 files changed, 247 insertions(+), 1 deletion(-) create mode 100644 libfreenect-0.1.2-align.patch create mode 100644 libfreenect-0.1.2-big-endian.patch 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.spec b/libfreenect.spec index cc99d8b..42f6d3b 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.1.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -15,6 +15,11 @@ URL: http://www.openkinect.org/ Source0: libfreenect-v%{version}.tar.bz2 Source1: freenect_generate_tarball.sh +# 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: cmake BuildRequires: Cython BuildRequires: doxygen @@ -78,6 +83,8 @@ The %{name}-python package contains python bindings for %{name} %prep %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 @@ -156,6 +163,9 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %{_bindir}/fakenect %changelog +* Wed Jan 09 2013 Dan Horák - 0.1.2-4 +- fixes for secondary arches + * Sat Nov 10 2012 Rich Mattes - 0.1.2-3 - Rebuild for new OpenCV From 20ef9438f1df8f0d9f8dfd57892add94fcbc27bf Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 22:21:12 -0600 Subject: [PATCH 004/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 42f6d3b..87188e8 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.1.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -163,6 +163,9 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %{_bindir}/fakenect %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 0.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Wed Jan 09 2013 Dan Horák - 0.1.2-4 - fixes for secondary arches From 8daa8ce05d0fe2634481ca4b7f3ace462a281908 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 00:27:56 -0500 Subject: [PATCH 005/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 87188e8..f299424 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.1.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -163,6 +163,9 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %{_bindir}/fakenect %changelog +* 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 From 8454871a254f171ce7028833e2de462df6894aff Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Fri, 2 May 2014 19:49:19 -0400 Subject: [PATCH 006/106] Update to release 0.4.1 --- .gitignore | 1 + libfreenect-0.1.2-align.patch | 177 ----------------------------- libfreenect-0.1.2-big-endian.patch | 59 ---------- libfreenect-0.4.0-cmake28.patch | 35 ++++++ libfreenect-0.4.1-openni2.patch | 12 ++ libfreenect.spec | 60 ++++++---- sources | 2 +- 7 files changed, 86 insertions(+), 260 deletions(-) delete mode 100644 libfreenect-0.1.2-align.patch delete mode 100644 libfreenect-0.1.2-big-endian.patch create mode 100644 libfreenect-0.4.0-cmake28.patch create mode 100644 libfreenect-0.4.1-openni2.patch diff --git a/.gitignore b/.gitignore index 8523c15..c0d820b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /libfreenect-v0.1.2.tar.bz2 +/libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz diff --git a/libfreenect-0.1.2-align.patch b/libfreenect-0.1.2-align.patch deleted file mode 100644 index 5ad2d52..0000000 --- a/libfreenect-0.1.2-align.patch +++ /dev/null @@ -1,177 +0,0 @@ -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 deleted file mode 100644 index a99d3d4..0000000 --- a/libfreenect-0.1.2-big-endian.patch +++ /dev/null @@ -1,59 +0,0 @@ -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.0-cmake28.patch b/libfreenect-0.4.0-cmake28.patch new file mode 100644 index 0000000..5cc2a00 --- /dev/null +++ b/libfreenect-0.4.0-cmake28.patch @@ -0,0 +1,35 @@ +diff -up ./wrappers/python/CMakeLists.txt.cmake28 ./wrappers/python/CMakeLists.txt +--- ./wrappers/python/CMakeLists.txt.cmake28 2014-03-22 20:42:53.000000000 -0400 ++++ ./wrappers/python/CMakeLists.txt 2014-04-14 20:45:29.682944140 -0400 +@@ -2,15 +2,16 @@ + # Python extension builder + ###################################################################################### + +-include(FindPythonInterp) ++#include(FindPythonInterp) + include(FindPythonLibs) + + find_program(CYTHON_EXECUTABLE cython) + + # Figure out installation path + execute_process(COMMAND +- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" ++ ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" + OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) ++message(STATUS "PyPath: ${PYTHON_SITE_PACKAGES}") + + # Figure out numpy include path + execute_process(COMMAND +@@ -31,9 +32,11 @@ set_target_properties(cython_freenect PR + target_link_libraries(cython_freenect freenect_sync) + include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/ ${NUMPY_INCLUDE_PATH}) + ++message(STATUS "PyPath: ${PYTHON_SITE_PACKAGES}") ++ + # Install the extension + install(TARGETS cython_freenect +- DESTINATION ${PYTHON_SITE_PACKAGES}) ++ LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES}) + + # TODO: decide on what to do with demo_ scripts and were to install + # them diff --git a/libfreenect-0.4.1-openni2.patch b/libfreenect-0.4.1-openni2.patch new file mode 100644 index 0000000..326621d --- /dev/null +++ b/libfreenect-0.4.1-openni2.patch @@ -0,0 +1,12 @@ +diff -up ./OpenNI2-FreenectDriver/CMakeLists.txt.openni2 ./OpenNI2-FreenectDriver/CMakeLists.txt +--- ./OpenNI2-FreenectDriver/CMakeLists.txt.openni2 2014-05-02 19:44:28.783577819 -0400 ++++ ./OpenNI2-FreenectDriver/CMakeLists.txt 2014-05-02 19:44:31.992726677 -0400 +@@ -10,8 +10,6 @@ set(CMAKE_CXX_FLAGS "-Wno-gnu-static-flo + + 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 f299424..8e6c716 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,24 +1,24 @@ +%global commit de79349de52e0458da38f3eaa721f2ca4b45ff29 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + %{?filter_setup: %filter_provides_in %{python_sitearch}/.*\.so$ %filter_setup } Name: libfreenect -Version: 0.1.2 -Release: 6%{?dist} +Version: 0.4.1 +Release: 1%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ -# 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 +Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz -# 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 +# Fix python installation path discovery +Patch0: %{name}-0.4.0-cmake28.patch +# Freenect openni driver is a plugin lib, and doesn't need soversion symlinks +Patch1: %{name}-0.4.1-openni2.patch BuildRequires: cmake BuildRequires: Cython @@ -81,10 +81,19 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description python 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 -%setup -q -n %{name} -%patch0 -p1 -b .align -%patch1 -p1 -b .big-endian +%setup -qn %{name}-%{commit} +rm -rf platform/windows +%patch0 -p0 -b .cmake28 +%patch1 -p0 -b .openni2 # 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 @@ -95,7 +104,7 @@ sed -i 's|set(CMAKE_C_FLAGS "-Wall")|#set(CMAKE_C_FLAGS "-Wall")|' examples/CMak %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 .. +%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_OPENNI2_DRIVER=ON .. make %{?_smp_mflags} VERBOSE=1 popd @@ -109,12 +118,6 @@ 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 mkdir -p %{buildroot}%{_datadir}/%{name} mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} @@ -130,7 +133,7 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %postun opencv -p /sbin/ldconfig %files -%doc APACHE20 GPL2 README.asciidoc CONTRIB +%doc APACHE20 GPL2 README.md CONTRIB /lib/udev/rules.d/* %{_libdir}/libfreenect.so.* %{_libdir}/libfreenect_sync.so.* @@ -159,10 +162,21 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %files fakenect %dir %{_libdir}/fakenect +%{_bindir}/fakenect-record %{_libdir}/fakenect/*.so.* %{_bindir}/fakenect +%{_mandir}/man1/fakenect*1.* + +%files openni +%{_libdir}/OpenNI2-FreenectDriver %changelog +* 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 @@ -184,11 +198,11 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py - Create OpenCV wrapper sub-package - Create fakenect library sub-package -* Tue Mar 24 2011 Rich Mattes - 0-0.3.4a159fgit +* Thu Mar 24 2011 Rich Mattes - 0-0.3.4a159fgit - Force cmake to honor rpm optflags - Change to out-of-tree build -* Tue Mar 24 2011 Rich Mattes - 0-0.2.4a159fgit +* Thu 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/sources b/sources index cfb3dbd..56a2e80 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b8f40bf839d50fb6937b76bd4fa1eecc libfreenect-v0.1.2.tar.bz2 +d185bec75433e043da9a384e6f66fc7c libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz From 7373ead94ad6250a2ba792100a21cea9c6a5224d Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Mon, 5 May 2014 22:03:26 -0400 Subject: [PATCH 007/106] Update to release 0.4.2 - Add platform detection for aarch64 --- .gitignore | 1 + libfreenect-0.4.2-aarch64.patch | 12 ++++++++++++ libfreenect-0.4.2-libdir.patch | 12 ++++++++++++ libfreenect.spec | 31 ++++++++++++++++++++++--------- sources | 2 +- 5 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 libfreenect-0.4.2-aarch64.patch create mode 100644 libfreenect-0.4.2-libdir.patch diff --git a/.gitignore b/.gitignore index c0d820b..58c0eff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /libfreenect-v0.1.2.tar.bz2 /libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz +/libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz diff --git a/libfreenect-0.4.2-aarch64.patch b/libfreenect-0.4.2-aarch64.patch new file mode 100644 index 0000000..d91ad4d --- /dev/null +++ b/libfreenect-0.4.2-aarch64.patch @@ -0,0 +1,12 @@ +diff -up ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h.aarch64 ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h +--- ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h.aarch64 2014-05-05 18:15:56.817039757 -0400 ++++ ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-05-05 18:16:43.015509240 -0400 +@@ -39,7 +39,7 @@ + # include "Android-Arm/OniPlatformAndroid-Arm.h" + #elif (__linux__ && (__i386__ || __x86_64__)) + # include "Linux-x86/OniPlatformLinux-x86.h" +-#elif (__linux__ && __arm__) ++#elif (__linux__ && (__arm__ || __aarch64__)) + # include "Linux-Arm/OniPlatformLinux-Arm.h" + #elif _ARC + # include "ARC/OniPlaformARC.h" diff --git a/libfreenect-0.4.2-libdir.patch b/libfreenect-0.4.2-libdir.patch new file mode 100644 index 0000000..f1fbaa8 --- /dev/null +++ b/libfreenect-0.4.2-libdir.patch @@ -0,0 +1,12 @@ +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.spec b/libfreenect.spec index 8e6c716..02bfd99 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit de79349de52e0458da38f3eaa721f2ca4b45ff29 +%global commit a35642fefd533c6b21864cd3bab7fefb9f0e2f00 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,7 +7,7 @@ } Name: libfreenect -Version: 0.4.1 +Version: 0.4.2 Release: 1%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 @@ -19,6 +19,10 @@ Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}- Patch0: %{name}-0.4.0-cmake28.patch # Freenect openni driver is a plugin lib, and doesn't need soversion symlinks Patch1: %{name}-0.4.1-openni2.patch +# Detect aarch64 +Patch2: %{name}-0.4.2-aarch64.patch +# Allow for proper libdir +Patch3: %{name}-0.4.2-libdir.patch BuildRequires: cmake BuildRequires: Cython @@ -94,17 +98,22 @@ It was originally a separate project but is now distributed with libfreenect. rm -rf platform/windows %patch0 -p0 -b .cmake28 %patch1 -p0 -b .openni2 -# 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 +%patch2 -p0 -b .aarch64 +%patch3 -p0 -b .libdir %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 -DBUILD_OPENNI2_DRIVER=ON .. +%cmake .. \ + -DBUILD_AUDIO=ON \ + -DBUILD_C_SYNC=ON \ + -DBUILD_CV=ON \ + -DBUILD_REDIST_PACKAGE=ON \ + -DBUILD_EXAMPLES=ON \ + -DBUILD_FAKENECT=ON \ + -DBUILD_PYTHON=ON \ + -DBUILD_OPENNI2_DRIVER=ON + make %{?_smp_mflags} VERBOSE=1 popd @@ -171,6 +180,10 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %{_libdir}/OpenNI2-FreenectDriver %changelog +* 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 diff --git a/sources b/sources index 56a2e80..ee4f8da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d185bec75433e043da9a384e6f66fc7c libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz +ed30afed30b22681541f65fca1e9eebc libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz From 04dd1d3ef328dfea8285f09437d71863e9e77a4f Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 1 Jun 2014 13:00:41 -0400 Subject: [PATCH 008/106] Update to release 0.4.3 - Move openni plugin to libdir/openni2/ (rhbz#1094787) --- .gitignore | 1 + libfreenect.spec | 18 +++++++++++++++--- sources | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 58c0eff..f2e245e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /libfreenect-v0.1.2.tar.bz2 /libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz /libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz +/libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz diff --git a/libfreenect.spec b/libfreenect.spec index 02bfd99..b34ee92 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit a35642fefd533c6b21864cd3bab7fefb9f0e2f00 +%global commit 9b671cd7210d16d330a88c7f4e80ce48f42d013e %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,7 +7,7 @@ } Name: libfreenect -Version: 0.4.2 +Version: 0.4.3 Release: 1%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 @@ -124,15 +124,23 @@ popd %install rm -rf %{buildroot} make -C build install DESTDIR=%{buildroot} + +# Install the kinect udev rule mkdir -p %{buildroot}/lib/udev/rules.d install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d + +# Delete libtool archives find %{buildroot} -name '*.la' -exec rm -f {} ';' +# Move the fwfetcher script to the correct datadir mkdir -p %{buildroot}%{_datadir}/%{name} 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 + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -177,9 +185,13 @@ sed -i "s|#!/usr/bin/env python||" %{buildroot}%{_datadir}/%{name}/fwfetcher.py %{_mandir}/man1/fakenect*1.* %files openni -%{_libdir}/OpenNI2-FreenectDriver +%{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index ee4f8da..eb6b941 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ed30afed30b22681541f65fca1e9eebc libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz +8f6536d31a0ec415bc29f8ff95223d62 libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz From e2eaa912711f23ea43465ead4d6bee56d982643b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 6 Jun 2014 22:24:13 -0500 Subject: [PATCH 009/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index b34ee92..49c32a0 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.4.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -188,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2 %{_libdir}/openni2 %changelog +* 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) From 062dd3180049672720e99109740831f2b1abb7e3 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 03:20:57 +0000 Subject: [PATCH 010/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 49c32a0..87aeeb8 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.4.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -188,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2 %{_libdir}/openni2 %changelog +* 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 From e8d69dace9caf149d482f9e38098e286408e9aa9 Mon Sep 17 00:00:00 2001 From: Jiri Kastner Date: Wed, 20 Aug 2014 17:01:07 +0200 Subject: [PATCH 011/106] update to release 0.5.0 (rhbz#1124171) - Move openni plugin to libdir/openni2/Drivers (rhbz#1094787) --- .gitignore | 1 + libfreenect.spec | 18 +++++++++++------- sources | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index f2e245e..3213704 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz /libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz /libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz +/libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 diff --git a/libfreenect.spec b/libfreenect.spec index 87aeeb8..6e474f9 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit 9b671cd7210d16d330a88c7f4e80ce48f42d013e +%global commit 8d957924f8a82a235aaa44d8c455113f10c0373f %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,14 +7,13 @@ } Name: libfreenect -Version: 0.4.3 -Release: 3%{?dist} +Version: 0.5.0 +Release: 1%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ -Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz - +Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.bz2 # Fix python installation path discovery Patch0: %{name}-0.4.0-cmake28.patch # Freenect openni driver is a plugin lib, and doesn't need soversion symlinks @@ -94,7 +93,7 @@ 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 -%setup -qn %{name}-%{commit} +%setup -qn %{name} rm -rf platform/windows %patch0 -p0 -b .cmake28 %patch1 -p0 -b .openni2 @@ -127,6 +126,7 @@ make -C build install DESTDIR=%{buildroot} # Install the kinect udev rule mkdir -p %{buildroot}/lib/udev/rules.d +mkdir -p %{buildroot}%{_libdir}/openni2 install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d # Delete libtool archives @@ -139,7 +139,7 @@ mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} 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 +mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers %post -p /sbin/ldconfig @@ -188,6 +188,10 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2 %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index eb6b941..08968f8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8f6536d31a0ec415bc29f8ff95223d62 libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz +26fb76839d33d432ffe7051333148254 libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 From 56a14f264ce8b970b32b8e6b4317ef6cbb409dca Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Wed, 4 Mar 2015 10:21:10 -0500 Subject: [PATCH 012/106] Update to release 0.5.2 (rhbz#1160258) --- .gitignore | 1 + ...8.patch => libfreenect-0.5.2-cmake30.patch | 20 ++++++++----------- libfreenect.spec | 15 ++++++++------ sources | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) rename libfreenect-0.4.0-cmake28.patch => libfreenect-0.5.2-cmake30.patch (58%) diff --git a/.gitignore b/.gitignore index 3213704..7cc6e14 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz /libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz /libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 +/libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz diff --git a/libfreenect-0.4.0-cmake28.patch b/libfreenect-0.5.2-cmake30.patch similarity index 58% rename from libfreenect-0.4.0-cmake28.patch rename to libfreenect-0.5.2-cmake30.patch index 5cc2a00..61b59b6 100644 --- a/libfreenect-0.4.0-cmake28.patch +++ b/libfreenect-0.5.2-cmake30.patch @@ -1,7 +1,7 @@ -diff -up ./wrappers/python/CMakeLists.txt.cmake28 ./wrappers/python/CMakeLists.txt ---- ./wrappers/python/CMakeLists.txt.cmake28 2014-03-22 20:42:53.000000000 -0400 -+++ ./wrappers/python/CMakeLists.txt 2014-04-14 20:45:29.682944140 -0400 -@@ -2,15 +2,16 @@ +diff -up ./wrappers/python/CMakeLists.txt.cmake30 ./wrappers/python/CMakeLists.txt +--- ./wrappers/python/CMakeLists.txt.cmake30 2015-01-26 22:01:37.000000000 -0500 ++++ ./wrappers/python/CMakeLists.txt 2015-03-04 10:19:13.007395503 -0500 +@@ -2,14 +2,14 @@ # Python extension builder ###################################################################################### @@ -16,20 +16,16 @@ diff -up ./wrappers/python/CMakeLists.txt.cmake28 ./wrappers/python/CMakeLists.t - ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" + ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) -+message(STATUS "PyPath: ${PYTHON_SITE_PACKAGES}") # Figure out numpy include path - execute_process(COMMAND -@@ -31,9 +32,11 @@ set_target_properties(cython_freenect PR - target_link_libraries(cython_freenect freenect_sync) - include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/ ${NUMPY_INCLUDE_PATH}) +@@ -33,7 +33,9 @@ include_directories(${PYTHON_INCLUDE_PAT -+message(STATUS "PyPath: ${PYTHON_SITE_PACKAGES}") -+ # Install the extension install(TARGETS cython_freenect - DESTINATION ${PYTHON_SITE_PACKAGES}) -+ LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES}) ++ ARCHIVE DESTINATION ${PYTHON_SITE_PACKAGES} ++ LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES} ++ COMPONENT library) # TODO: decide on what to do with demo_ scripts and were to install # them diff --git a/libfreenect.spec b/libfreenect.spec index 6e474f9..43441ea 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit 8d957924f8a82a235aaa44d8c455113f10c0373f +%global commit b2043d02b66c9c59899bbf09cb1a13206e8fa10d %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,15 +7,15 @@ } Name: libfreenect -Version: 0.5.0 +Version: 0.5.2 Release: 1%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ -Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.bz2 +Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz # Fix python installation path discovery -Patch0: %{name}-0.4.0-cmake28.patch +Patch0: %{name}-0.5.2-cmake30.patch # Freenect openni driver is a plugin lib, and doesn't need soversion symlinks Patch1: %{name}-0.4.1-openni2.patch # Detect aarch64 @@ -93,9 +93,9 @@ 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 -%setup -qn %{name} +%setup -qn %{name}-%{commit} rm -rf platform/windows -%patch0 -p0 -b .cmake28 +%patch0 -p0 -b .cmake30 %patch1 -p0 -b .openni2 %patch2 -p0 -b .aarch64 %patch3 -p0 -b .libdir @@ -188,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) diff --git a/sources b/sources index 08968f8..62c38a8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -26fb76839d33d432ffe7051333148254 libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 +d9f76e9fa6d48e570e4dcbd7a3947fc8 libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz From e222c04c1b771caa8597e076a8f2fab3de6deff6 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Wed, 4 Mar 2015 14:27:42 -0500 Subject: [PATCH 013/106] Add patch for s390 and ppc (rhbz#1143912) --- libfreenect.spec | 8 +++- secarch.patch | 114 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 secarch.patch diff --git a/libfreenect.spec b/libfreenect.spec index 43441ea..fda7430 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -22,6 +22,8 @@ Patch1: %{name}-0.4.1-openni2.patch Patch2: %{name}-0.4.2-aarch64.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 BuildRequires: cmake BuildRequires: Cython @@ -99,6 +101,7 @@ rm -rf platform/windows %patch1 -p0 -b .openni2 %patch2 -p0 -b .aarch64 %patch3 -p0 -b .libdir +%patch4 -p1 -b .secarch %build mkdir build @@ -188,6 +191,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) diff --git a/secarch.patch b/secarch.patch new file mode 100644 index 0000000..0c7308f --- /dev/null +++ b/secarch.patch @@ -0,0 +1,114 @@ +diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h +--- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 1970-01-01 01:00:00.000000000 +0100 ++++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 2014-09-18 11:54:01.405363509 +0200 +@@ -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_ ++ +diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h +--- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 1970-01-01 01:00:00.000000000 +0100 ++++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 2014-09-18 11:55:06.169556389 +0200 +@@ -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_ ++ +diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h +--- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:51:35.428923550 +0200 ++++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:52:50.242149667 +0200 +@@ -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,10 @@ + # 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__ && (__s390__ || __s390x__ )) ++# include "Linux-s390/OniPlatformLinux-s390.h" + #elif _ARC + # include "ARC/OniPlaformARC.h" + #elif (__APPLE__) From cf718d04b8736ae56b96d926bcffc298eea5fc7e Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 15:17:16 +0200 Subject: [PATCH 014/106] Rebuilt for GCC 5 C++11 ABI change --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index fda7430..43e7954 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -191,6 +191,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From 9c77ad60a0e7f929d8ce6152016ce4c1a46e3bf2 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 15:17:30 +0000 Subject: [PATCH 015/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 43e7954..7bc55a5 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -191,6 +191,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 9378b50e088734d287cfc627ca6f79385877bdec Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 26 Sep 2015 12:41:55 -0400 Subject: [PATCH 016/106] Add dependency on numpy (rhbz#1265472) --- libfreenect.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 7bc55a5..907bde6 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -82,6 +82,7 @@ library for OpenCV development. %package python Summary: Python bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: numpy %description python The %{name}-python package contains python bindings for %{name} @@ -191,6 +192,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 6b383180691d3e3ecd5f816dac8570e374b72305 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 4 Feb 2016 03:10:37 +0000 Subject: [PATCH 017/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 907bde6..07ec4d6 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -192,6 +192,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From dde914a82ac05f587196d95ea5b13d8df977bf05 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 21 Feb 2016 12:00:41 -0500 Subject: [PATCH 018/106] 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) --- .gitignore | 1 + libfreenect-0.5.2-cmake30.patch | 26 +++++++++++++++++++------- libfreenect-0.5.3-noabort.patch | 18 ++++++++++++++++++ libfreenect.spec | 14 +++++++++++--- sources | 2 +- 5 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 libfreenect-0.5.3-noabort.patch diff --git a/.gitignore b/.gitignore index 7cc6e14..ce10859 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz /libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 /libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz +/libfreenect-baec1501c703c731f32eac2bf97c28c77b51fdd8.tar.gz diff --git a/libfreenect-0.5.2-cmake30.patch b/libfreenect-0.5.2-cmake30.patch index 61b59b6..fa4f9ed 100644 --- a/libfreenect-0.5.2-cmake30.patch +++ b/libfreenect-0.5.2-cmake30.patch @@ -1,24 +1,36 @@ diff -up ./wrappers/python/CMakeLists.txt.cmake30 ./wrappers/python/CMakeLists.txt --- ./wrappers/python/CMakeLists.txt.cmake30 2015-01-26 22:01:37.000000000 -0500 -+++ ./wrappers/python/CMakeLists.txt 2015-03-04 10:19:13.007395503 -0500 -@@ -2,14 +2,14 @@ ++++ ./wrappers/python/CMakeLists.txt 2016-02-21 11:19:40.995391145 -0500 +@@ -2,19 +2,18 @@ # Python extension builder ###################################################################################### -include(FindPythonInterp) -+#include(FindPythonInterp) - include(FindPythonLibs) - +-include(FindPythonLibs) +- ++include(FindPkgConfig) ++pkg_check_modules(PYTHON python2) find_program(CYTHON_EXECUTABLE cython) # Figure out installation path execute_process(COMMAND - ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" -+ ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" ++ ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(1))" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) # Figure out numpy include path -@@ -33,7 +33,9 @@ include_directories(${PYTHON_INCLUDE_PAT + execute_process(COMMAND +- ${PYTHON_EXECUTABLE} -c "import numpy; print numpy.get_include()" ++ ${PYTHON_EXECUTABLE} -c "import numpy; print (numpy.get_include())" + OUTPUT_VARIABLE NUMPY_INCLUDE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) + + # How to Cython the .pyx file +@@ -29,11 +28,13 @@ set_target_properties(cython_freenect PR + OUTPUT_NAME "freenect" + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + target_link_libraries(cython_freenect freenect_sync ${PYTHON_LIBRARIES}) +-include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/ ${NUMPY_INCLUDE_PATH}) ++include_directories(${PYTHON_INCLUDE_DIRS} ../c_sync/ ${NUMPY_INCLUDE_PATH}) # Install the extension install(TARGETS cython_freenect diff --git a/libfreenect-0.5.3-noabort.patch b/libfreenect-0.5.3-noabort.patch new file mode 100644 index 0000000..67e0eba --- /dev/null +++ b/libfreenect-0.5.3-noabort.patch @@ -0,0 +1,18 @@ +diff -up ./wrappers/cpp/cppview.cpp.noabort ./wrappers/cpp/cppview.cpp +--- ./wrappers/cpp/cppview.cpp.noabort 2016-02-21 11:03:00.653334752 -0500 ++++ ./wrappers/cpp/cppview.cpp 2016-02-21 11:04:51.022655752 -0500 +@@ -348,7 +348,13 @@ void *gl_threadfunc(void *arg) + } + + int main(int argc, char **argv) { +- device = &freenect.createDevice(0); ++ try { ++ device = &freenect.createDevice(0); ++ } ++ catch (std::exception &e) { ++ std::cerr << std::endl << "Exception starting Freenect device : " << e.what() << std::endl; ++ exit(1); ++ } + device->startVideo(); + device->startDepth(); + gl_threadfunc(NULL); diff --git a/libfreenect.spec b/libfreenect.spec index 07ec4d6..5a729dc 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit b2043d02b66c9c59899bbf09cb1a13206e8fa10d +%global commit baec1501c703c731f32eac2bf97c28c77b51fdd8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,8 +7,8 @@ } Name: libfreenect -Version: 0.5.2 -Release: 6%{?dist} +Version: 0.5.3 +Release: 1%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -24,6 +24,8 @@ Patch2: %{name}-0.4.2-aarch64.patch Patch3: %{name}-0.4.2-libdir.patch # BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1143912 Patch4: secarch.patch +# Catch exception in freenect-cppview when a freenect device is not presenet +Patch5: %{name}-0.5.3-noabort.patch BuildRequires: cmake BuildRequires: Cython @@ -103,6 +105,7 @@ rm -rf platform/windows %patch2 -p0 -b .aarch64 %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch +%patch5 -p0 -b .noabort %build mkdir build @@ -192,6 +195,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index 62c38a8..c1bfb3c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d9f76e9fa6d48e570e4dcbd7a3947fc8 libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz +eccbee8ff4e4d3c0487705d201774053 libfreenect-baec1501c703c731f32eac2bf97c28c77b51fdd8.tar.gz From 05e0c8413bf03281892e341a8d613822945ca62f Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 21 Feb 2016 12:26:58 -0500 Subject: [PATCH 019/106] Fix const/constexpr usage for c++11 --- libfreenect-0.5.3-cpp11.patch | 43 +++++++++++++++++++++++++++++++++++ libfreenect.spec | 3 +++ 2 files changed, 46 insertions(+) create mode 100644 libfreenect-0.5.3-cpp11.patch diff --git a/libfreenect-0.5.3-cpp11.patch b/libfreenect-0.5.3-cpp11.patch new file mode 100644 index 0000000..b20069b --- /dev/null +++ b/libfreenect-0.5.3-cpp11.patch @@ -0,0 +1,43 @@ +diff -up ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/ColorStream.hpp +--- ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 2016-02-21 12:18:01.412029788 -0500 ++++ ./OpenNI2-FreenectDriver/src/ColorStream.hpp 2016-02-21 12:18:21.272807345 -0500 +@@ -13,9 +13,9 @@ namespace FreenectDriver + { + public: + // from NUI library & converted to radians +- static const float DIAGONAL_FOV = 73.9 * (M_PI / 180); +- static const float HORIZONTAL_FOV = 62 * (M_PI / 180); +- static const float VERTICAL_FOV = 48.6 * (M_PI / 180); ++ static constexpr float DIAGONAL_FOV = 73.9 * (M_PI / 180); ++ static constexpr float HORIZONTAL_FOV = 62 * (M_PI / 180); ++ static constexpr float VERTICAL_FOV = 48.6 * (M_PI / 180); + + private: + typedef std::map< OniVideoMode, std::pair > FreenectVideoModeMap; +diff -up ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/DepthStream.hpp +--- ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 2016-02-21 12:22:59.048682374 -0500 ++++ ./OpenNI2-FreenectDriver/src/DepthStream.hpp 2016-02-21 12:23:27.387791861 -0500 +@@ -17,9 +17,9 @@ namespace FreenectDriver + { + public: + // from NUI library and converted to radians +- static const float DIAGONAL_FOV = 70 * (M_PI / 180); +- static const float HORIZONTAL_FOV = 58.5 * (M_PI / 180); +- static const float VERTICAL_FOV = 45.6 * (M_PI / 180); ++ static constexpr float DIAGONAL_FOV = 70 * (M_PI / 180); ++ static constexpr float HORIZONTAL_FOV = 58.5 * (M_PI / 180); ++ static constexpr float VERTICAL_FOV = 45.6 * (M_PI / 180); + // from DepthKinectStream.cpp + static const int MAX_VALUE = 10000; + static const unsigned long long GAIN_VAL = 42; +@@ -28,8 +28,8 @@ namespace FreenectDriver + static const unsigned long long PARAM_COEFF_VAL = 4; + static const unsigned long long SHIFT_SCALE_VAL = 10; + static const unsigned long long ZERO_PLANE_DISTANCE_VAL = 120; +- static const double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; +- static const double EMITTER_DCMOS_DISTANCE_VAL = 7.5; ++ static constexpr double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; ++ static constexpr double EMITTER_DCMOS_DISTANCE_VAL = 7.5; + + private: + typedef std::map< OniVideoMode, std::pair > FreenectDepthModeMap; diff --git a/libfreenect.spec b/libfreenect.spec index 5a729dc..e7ce8bc 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -26,6 +26,8 @@ Patch3: %{name}-0.4.2-libdir.patch Patch4: secarch.patch # Catch exception in freenect-cppview when a freenect device is not presenet Patch5: %{name}-0.5.3-noabort.patch +# Fix const/constexpr usage for c++11 +Patch6: %{name}-0.5.3-cpp11.patch BuildRequires: cmake BuildRequires: Cython @@ -106,6 +108,7 @@ rm -rf platform/windows %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch5 -p0 -b .noabort +%patch6 -p0 -b .cpp11 %build mkdir build From 77a346acc24ee3f4148633526eb0e594142ae8aa Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 21 Feb 2016 12:57:59 -0500 Subject: [PATCH 020/106] Only apply cpp11 patch for f24 and higher --- libfreenect.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libfreenect.spec b/libfreenect.spec index e7ce8bc..af68f63 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -108,7 +108,9 @@ rm -rf platform/windows %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch5 -p0 -b .noabort +%if 0%{fedora} > 23 %patch6 -p0 -b .cpp11 +%endif %build mkdir build From ed16f5bd377a49d75bb67bce420787eb0a670a3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= Date: Mon, 2 May 2016 15:38:00 +0200 Subject: [PATCH 021/106] Rebuild for opencv-3.1.0. --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index af68f63..54f3c45 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -200,6 +200,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From 5815ddc10809f0849148803580e360e765be2e50 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 14 May 2016 12:52:50 -0400 Subject: [PATCH 022/106] Rebuild for opencv-3.1 changes --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 54f3c45..9565fcb 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -200,6 +200,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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. From 9b7109e20d38878756fd89ad48036eb2155b7d6e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 07:38:54 +0000 Subject: [PATCH 023/106] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 9565fcb..56fbe88 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -200,6 +200,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From ada102047d6429d0a9f9be1590ea01b53ac2a528 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 18:40:37 +0000 Subject: [PATCH 024/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 56fbe88..35f1492 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect License: GPLv2+ or ASL 2.0 URL: http://www.openkinect.org/ @@ -200,6 +200,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 5ab6bcecb6c04d6e467340433401251c81635348 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Wed, 8 Mar 2017 19:07:17 -0500 Subject: [PATCH 025/106] Update to release 0.5.5 --- .gitignore | 1 + libfreenect-0.5.5-py3.patch | 46 ++++++++++++++++++++++++ libfreenect.spec | 71 ++++++++++++++++++++++--------------- sources | 2 +- 4 files changed, 91 insertions(+), 29 deletions(-) create mode 100644 libfreenect-0.5.5-py3.patch diff --git a/.gitignore b/.gitignore index ce10859..5666cb0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 /libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz /libfreenect-baec1501c703c731f32eac2bf97c28c77b51fdd8.tar.gz +/libfreenect-ddf092cce09ab4bc97529827a061f1a54a046a17.tar.gz diff --git a/libfreenect-0.5.5-py3.patch b/libfreenect-0.5.5-py3.patch new file mode 100644 index 0000000..b9140f3 --- /dev/null +++ b/libfreenect-0.5.5-py3.patch @@ -0,0 +1,46 @@ +diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py +--- ./src/fwfetcher.py.py3 2016-08-28 09:54:21.000000000 -0400 ++++ ./src/fwfetcher.py 2016-12-29 16:52:00.569437210 -0500 +@@ -1,5 +1,3 @@ +-#!/usr/bin/env python2 +- + from __future__ import absolute_import, division, print_function + + import hashlib +@@ -10,10 +8,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 ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt +--- ./wrappers/python/CMakeLists.txt.py3 2016-08-28 09:54:21.000000000 -0400 ++++ ./wrappers/python/CMakeLists.txt 2016-12-29 16:49:58.970814941 -0500 +@@ -50,7 +50,7 @@ endif() + # Figure out installation path + execute_process(COMMAND + ${PYTHON${Python_BUILD_VERSION}_EXECUTABLE} +- -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}'))" ++ -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))" + OUTPUT_VARIABLE PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) + + # Figure out numpy include path +@@ -84,7 +84,10 @@ target_include_directories(cython${Pytho + + # Install the extension + install(TARGETS cython${Python_BUILD_VERSION}_freenect +- DESTINATION ${PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES}) ++ DESTINATION ${PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES} ++ 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 --git a/libfreenect.spec b/libfreenect.spec index 35f1492..ae8468e 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit baec1501c703c731f32eac2bf97c28c77b51fdd8 +%global commit ddf092cce09ab4bc97529827a061f1a54a046a17 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,15 +7,15 @@ } Name: libfreenect -Version: 0.5.3 -Release: 5%{?dist} +Version: 0.5.5 +Release: 1%{?dist} Summary: Device driver for the Kinect -License: GPLv2+ or ASL 2.0 +# Core libfreenect is available as ASL 2.0 OR GPLv2 +# OpenNI driver is available as ASL 2.0 +License: ASL 2.0 and (GPLv2 or ASL 2.0) URL: http://www.openkinect.org/ Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz -# Fix python installation path discovery -Patch0: %{name}-0.5.2-cmake30.patch # Freenect openni driver is a plugin lib, and doesn't need soversion symlinks Patch1: %{name}-0.4.1-openni2.patch # Detect aarch64 @@ -24,10 +24,8 @@ Patch2: %{name}-0.4.2-aarch64.patch Patch3: %{name}-0.4.2-libdir.patch # BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1143912 Patch4: secarch.patch -# Catch exception in freenect-cppview when a freenect device is not presenet -Patch5: %{name}-0.5.3-noabort.patch -# Fix const/constexpr usage for c++11 -Patch6: %{name}-0.5.3-cpp11.patch +# Fix the installation path for python libs +Patch7: %{name}-0.5.5-py3.patch BuildRequires: cmake BuildRequires: Cython @@ -37,9 +35,11 @@ BuildRequires: libusb1-devel BuildRequires: libGL-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel -BuildRequires: numpy BuildRequires: opencv-devel -BuildRequires: python-devel +BuildRequires: python2-devel +BuildRequires: python2-numpy +BuildRequires: python3-devel +BuildRequires: python3-numpy Requires: udev @@ -83,13 +83,26 @@ Requires: %{name}%{?_isa} = %{version}-%{release} The %{name}-opencv package contains the libfreenect binding library for OpenCV development. -%package python -Summary: Python bindings for %{name} +%package -n python2-%{name} +Summary: Python 2 bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: numpy +Requires: python2-numpy +# Until F28 +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python%{?_isa} < 0.5.5 +%{?python_provide:%python_provide python2-%{name}} -%description python -The %{name}-python package contains python bindings for %{name} +%description -n python2-%{name} +The %{name}-python package contains python 2 bindings for %{name} + +%package -n python3-%{name} +Summary: Python 3 bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-numpy +%{?python_provide:%python_provide python3-%{name}} + +%description -n python3-%{name} +The %{name}-python package contains python 3 bindings for %{name} %package openni Summary: OpenNI2 driver for the Kinect @@ -102,15 +115,12 @@ It was originally a separate project but is now distributed with libfreenect. %prep %setup -qn %{name}-%{commit} rm -rf platform/windows -%patch0 -p0 -b .cmake30 + %patch1 -p0 -b .openni2 %patch2 -p0 -b .aarch64 %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch -%patch5 -p0 -b .noabort -%if 0%{fedora} > 23 -%patch6 -p0 -b .cpp11 -%endif +%patch7 -p1 -b .py3 %build mkdir build @@ -123,7 +133,7 @@ pushd build -DBUILD_EXAMPLES=ON \ -DBUILD_FAKENECT=ON \ -DBUILD_PYTHON=ON \ - -DBUILD_OPENNI2_DRIVER=ON + -DBUILD_OPENNI2_DRIVER=ON make %{?_smp_mflags} VERBOSE=1 popd @@ -147,8 +157,6 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' # Move the fwfetcher script to the correct datadir mkdir -p %{buildroot}%{_datadir}/%{name} 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 @@ -162,7 +170,8 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %postun opencv -p /sbin/ldconfig %files -%doc APACHE20 GPL2 README.md CONTRIB +%license APACHE20 GPL2 +%doc README.md CONTRIB /lib/udev/rules.d/* %{_libdir}/libfreenect.so.* %{_libdir}/libfreenect_sync.so.* @@ -186,8 +195,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %files static %{_libdir}/*.a -%files python -%{python_sitearch}/*.so +%files -n python2-%{name} +%{python2_sitearch}/*.so + +%files -n python3-%{name} +%{python3_sitearch}/*.so %files fakenect %dir %{_libdir}/fakenect @@ -200,6 +212,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index c1bfb3c..3db66b7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eccbee8ff4e4d3c0487705d201774053 libfreenect-baec1501c703c731f32eac2bf97c28c77b51fdd8.tar.gz +SHA512 (libfreenect-ddf092cce09ab4bc97529827a061f1a54a046a17.tar.gz) = 8f2f5e1b1efd44b44784f58a7551c5fc49b81f0fb6b47688c2bcdc4e9ef3cf87cda7d94f8bdb4354eb486c761f268833e2f06d80be38cd66fe7135acb2f80847 From fe0b27038c0330ba052386c64a9c1d521626fc79 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 7 Jul 2017 12:19:50 +0200 Subject: [PATCH 026/106] Rebuild due to bug in RPM (RHBZ #1468476) Signed-off-by: Igor Gnatenko --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index ae8468e..e08f52e 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -212,6 +212,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 56b966f464aff143b3c3d8762ee8b0478ed4b650 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 18:52:05 +0000 Subject: [PATCH 027/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index e08f52e..472243a 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -212,6 +212,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From 77f59d2dc967f90e26809d026e1728489b729a33 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 01:28:46 +0000 Subject: [PATCH 028/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 472243a..4e43a19 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -212,6 +212,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From f058c02c6bc7a7498a7c16947c01885ef21451b3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 21:39:40 +0000 Subject: [PATCH 029/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 4e43a19..9239cff 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -212,6 +212,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From cf0b818fa8ae399206e7ca60902f36fc14292902 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 5 Mar 2018 11:59:51 -0800 Subject: [PATCH 030/106] Rebuild for opencv soname bump --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 9239cff..7e89cae 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.5 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -212,6 +212,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* Mon Mar 05 2018 Adam Williamson - 0.5.5-6 +- Rebuild for opencv soname bump + * Wed Feb 07 2018 Fedora Release Engineering - 0.5.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 1bee53d925202cf5cd2ffe7c03289759e9d65088 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 5 Mar 2018 13:55:56 -0800 Subject: [PATCH 031/106] Bump to 0.5.7, disable OpenCV for now (#1551748) --- libfreenect-0.4.2-aarch64.patch | 12 ------- libfreenect.spec | 57 +++++++++++++++++++++------------ 2 files changed, 36 insertions(+), 33 deletions(-) delete mode 100644 libfreenect-0.4.2-aarch64.patch diff --git a/libfreenect-0.4.2-aarch64.patch b/libfreenect-0.4.2-aarch64.patch deleted file mode 100644 index d91ad4d..0000000 --- a/libfreenect-0.4.2-aarch64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h.aarch64 ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h ---- ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h.aarch64 2014-05-05 18:15:56.817039757 -0400 -+++ ./OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-05-05 18:16:43.015509240 -0400 -@@ -39,7 +39,7 @@ - # include "Android-Arm/OniPlatformAndroid-Arm.h" - #elif (__linux__ && (__i386__ || __x86_64__)) - # include "Linux-x86/OniPlatformLinux-x86.h" --#elif (__linux__ && __arm__) -+#elif (__linux__ && (__arm__ || __aarch64__)) - # include "Linux-Arm/OniPlatformLinux-Arm.h" - #elif _ARC - # include "ARC/OniPlaformARC.h" diff --git a/libfreenect.spec b/libfreenect.spec index 7e89cae..d5e3e5d 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit ddf092cce09ab4bc97529827a061f1a54a046a17 +%global commit 88166014859c09f6ad6a93f0862bdcc4e46dc87e %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,8 +7,8 @@ } Name: libfreenect -Version: 0.5.5 -Release: 6%{?dist} +Version: 0.5.7 +Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -18,8 +18,6 @@ URL: http://www.openkinect.org/ Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz # Freenect openni driver is a plugin lib, and doesn't need soversion symlinks Patch1: %{name}-0.4.1-openni2.patch -# Detect aarch64 -Patch2: %{name}-0.4.2-aarch64.patch # Allow for proper libdir Patch3: %{name}-0.4.2-libdir.patch # BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1143912 @@ -35,12 +33,21 @@ BuildRequires: libusb1-devel BuildRequires: libGL-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel -BuildRequires: opencv-devel +# FTBFS with opencv 3.4.1: +# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 +#BuildRequires: opencv-devel BuildRequires: python2-devel BuildRequires: python2-numpy BuildRequires: python3-devel BuildRequires: python3-numpy +# We had to disable build of OpenCV bindings when OpenCV went to +# 3.4.1: https://bugzilla.redhat.com/show_bug.cgi?id=1551748 +# This is to make updates work for systems which have the package +# installed. The version should *not* be bumped, if we ever get the +# bindings building again, we don't want newer versions obsoleted +Obsoletes: %{name}-opencv < 0.5.7 + Requires: udev %description @@ -75,13 +82,15 @@ and a library that can be linked to, providing an interface compatible with freenect. This allows you to save data and repeat for experiments, debug problems, share datasets, and experiment with the kinect without having one. -%package opencv -Summary: OpenCV bindings for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +# FTBFS with opencv 3.4.1: +# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 +#package opencv +#Summary: OpenCV bindings for %{name} +#Requires: %{name}%{?_isa} = %{version}-%{release} -%description opencv -The %{name}-opencv package contains the libfreenect binding -library for OpenCV development. +#description opencv +#The %{name}-opencv package contains the libfreenect binding +#library for OpenCV development. %package -n python2-%{name} Summary: Python 2 bindings for %{name} @@ -117,7 +126,6 @@ It was originally a separate project but is now distributed with libfreenect. rm -rf platform/windows %patch1 -p0 -b .openni2 -%patch2 -p0 -b .aarch64 %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch7 -p1 -b .py3 @@ -125,10 +133,12 @@ rm -rf platform/windows %build mkdir build pushd build +# FTBFS with opencv 3.4.1: +# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 %cmake .. \ -DBUILD_AUDIO=ON \ -DBUILD_C_SYNC=ON \ - -DBUILD_CV=ON \ + -DBUILD_CV=OFF \ -DBUILD_REDIST_PACKAGE=ON \ -DBUILD_EXAMPLES=ON \ -DBUILD_FAKENECT=ON \ @@ -165,9 +175,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %postun -p /sbin/ldconfig -%post opencv -p /sbin/ldconfig +# FTBFS with opencv 3.4.1: +# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 +#post opencv -p /sbin/ldconfig -%postun opencv -p /sbin/ldconfig +#postun opencv -p /sbin/ldconfig %files %license APACHE20 GPL2 @@ -180,9 +192,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_bindir}/freenect-* %{_datadir}/%{name} -%files opencv -%{_bindir}/freenect-cvdemo -%{_libdir}/libfreenect_cv.so.* +# FTBFS with opencv 3.4.1: +# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 +#files opencv +#{_bindir}/freenect-cvdemo +#{_libdir}/libfreenect_cv.so.* %files devel %doc doc/html @@ -212,8 +226,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog -* Mon Mar 05 2018 Adam Williamson - 0.5.5-6 -- Rebuild for opencv soname bump +* 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 From 72c484a9dcfc709a54917923ae9e0013dfb97fed Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 5 Mar 2018 14:04:38 -0800 Subject: [PATCH 032/106] Update source to 0.5.7 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5666cb0..f62c18f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz /libfreenect-baec1501c703c731f32eac2bf97c28c77b51fdd8.tar.gz /libfreenect-ddf092cce09ab4bc97529827a061f1a54a046a17.tar.gz +/libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e.tar.gz diff --git a/sources b/sources index 3db66b7..8f88b39 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-ddf092cce09ab4bc97529827a061f1a54a046a17.tar.gz) = 8f2f5e1b1efd44b44784f58a7551c5fc49b81f0fb6b47688c2bcdc4e9ef3cf87cda7d94f8bdb4354eb486c761f268833e2f06d80be38cd66fe7135acb2f80847 +SHA512 (libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e.tar.gz) = d4f54deb36381234fd85cfbf4b08e755335aaca9abdec3a370cf465ce5db161b2f7c23ba4a3159b653ae8ff8504691c3982e2601137a40e1ba1c9ae4841ff832 From 937f2cc1d577682de3cc37d558c48ee859585772 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 26 May 2018 17:08:04 -0400 Subject: [PATCH 033/106] Re-enable OpenCV bindings (rhbz#1551748) Fix bogus obsoletes (rhbz#1537213) Update udev rule to allow device access to "video" group --- ...bfreenect_cv-and-cvdemo-as-C-sources.patch | 66 +++++++++++++++++++ ...-bugs-in-sync-library-error-handling.patch | 51 ++++++++++++++ libfreenect.spec | 59 ++++++++--------- 3 files changed, 146 insertions(+), 30 deletions(-) create mode 100644 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch create mode 100644 0002-Fix-bugs-in-sync-library-error-handling.patch diff --git a/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch b/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch new file mode 100644 index 0000000..73e9583 --- /dev/null +++ b/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch @@ -0,0 +1,66 @@ +From 9e98a0b11fddeabab6ef5e0915b96c950597e53e Mon Sep 17 00:00:00 2001 +From: Rich Mattes +Date: Sat, 26 May 2018 16:11:11 -0400 +Subject: [PATCH 1/2] Build libfreenect_cv and cvdemo as C++ sources + +Signed-off-by: Rich Mattes +--- + wrappers/opencv/CMakeLists.txt | 4 ++-- + wrappers/opencv/{cvdemo.c => cvdemo.cpp} | 0 + wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} | 0 + wrappers/opencv/libfreenect_cv.h | 4 ++-- + 4 files changed, 4 insertions(+), 4 deletions(-) + rename wrappers/opencv/{cvdemo.c => cvdemo.cpp} (100%) + rename wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} (100%) + +diff --git a/wrappers/opencv/CMakeLists.txt b/wrappers/opencv/CMakeLists.txt +index 0239075..bc5df19 100644 +--- a/wrappers/opencv/CMakeLists.txt ++++ b/wrappers/opencv/CMakeLists.txt +@@ -2,7 +2,7 @@ + # OpenCV Interface + ###################################################################################### + find_package(OpenCV REQUIRED) +-add_library (freenect_cv SHARED libfreenect_cv.c) ++add_library (freenect_cv SHARED libfreenect_cv.cpp) + set_target_properties (freenect_cv PROPERTIES + VERSION ${PROJECT_VER} + SOVERSION ${PROJECT_APIVER}) +@@ -16,7 +16,7 @@ install (TARGETS freenect_cv + install (FILES "libfreenect_cv.h" + DESTINATION ${PROJECT_INCLUDE_INSTALL_DIR}) + +-add_executable(freenect-cvdemo cvdemo.c) ++add_executable(freenect-cvdemo cvdemo.cpp) + target_link_libraries(freenect-cvdemo freenect freenect_sync freenect_cv ${OpenCV_LIBS}) + install (TARGETS freenect-cvdemo + DESTINATION bin) +diff --git a/wrappers/opencv/cvdemo.c b/wrappers/opencv/cvdemo.cpp +similarity index 100% +rename from wrappers/opencv/cvdemo.c +rename to wrappers/opencv/cvdemo.cpp +diff --git a/wrappers/opencv/libfreenect_cv.c b/wrappers/opencv/libfreenect_cv.cpp +similarity index 100% +rename from wrappers/opencv/libfreenect_cv.c +rename to wrappers/opencv/libfreenect_cv.cpp +diff --git a/wrappers/opencv/libfreenect_cv.h b/wrappers/opencv/libfreenect_cv.h +index b73b60c..55e3582 100644 +--- a/wrappers/opencv/libfreenect_cv.h ++++ b/wrappers/opencv/libfreenect_cv.h +@@ -1,11 +1,11 @@ + #pragma once + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif + +-#include +- + IplImage *freenect_sync_get_depth_cv(int index); + IplImage *freenect_sync_get_rgb_cv(int index); + +-- +2.17.0 + diff --git a/0002-Fix-bugs-in-sync-library-error-handling.patch b/0002-Fix-bugs-in-sync-library-error-handling.patch new file mode 100644 index 0000000..f437b6b --- /dev/null +++ b/0002-Fix-bugs-in-sync-library-error-handling.patch @@ -0,0 +1,51 @@ +From db0e1825ff93133f3ca5735524d78279ede824db Mon Sep 17 00:00:00 2001 +From: Rich Mattes +Date: Sat, 26 May 2018 16:14:01 -0400 +Subject: [PATCH 2/2] Fix bugs in sync library error handling + +fnusb_open_subdevices checked for camera==NULL or res < 0 before +jumping to the failure case. If camera was NULL but res was not +0, the function would return 0 indicating success. This occurs +when a kinect is not plugged into the PC. Forcing res to be +negative when the camera == NULL case allows the failure to open +a device to propagate through an application. + +alloc_kinect in freenect_sync has a check for if freenect_open_device +fails, but the logic is incorrect. freenect_open_device returns 0 on +success and < 0 on error, so adding a check to see if the return is +< 0 corrects detection of the failure case. + +Signed-off-by: Rich Mattes +--- + src/usb_libusb10.c | 1 + + wrappers/c_sync/libfreenect_sync.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/usb_libusb10.c b/src/usb_libusb10.c +index 11de86a..614aeee 100644 +--- a/src/usb_libusb10.c ++++ b/src/usb_libusb10.c +@@ -465,6 +465,7 @@ FN_INTERNAL int fnusb_open_subdevices(freenect_device *dev, int index) + } + + if (res < 0 || camera == NULL) { ++ res = -1; + goto failure; + } + +diff --git a/wrappers/c_sync/libfreenect_sync.c b/wrappers/c_sync/libfreenect_sync.c +index 1b2e049..26a2261 100644 +--- a/wrappers/c_sync/libfreenect_sync.c ++++ b/wrappers/c_sync/libfreenect_sync.c +@@ -249,7 +249,7 @@ static int change_depth_format(sync_kinect_t *kinect, freenect_resolution res, f + static sync_kinect_t *alloc_kinect(int index) + { + sync_kinect_t *kinect = (sync_kinect_t*)malloc(sizeof(sync_kinect_t)); +- if (freenect_open_device(ctx, &kinect->dev, index)) { ++ if (freenect_open_device(ctx, &kinect->dev, index) < 0) { + free(kinect); + return NULL; + } +-- +2.17.0 + diff --git a/libfreenect.spec b/libfreenect.spec index d5e3e5d..62b7556 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -16,6 +16,8 @@ License: ASL 2.0 and (GPLv2 or ASL 2.0) URL: http://www.openkinect.org/ Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.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}-0.4.1-openni2.patch # Allow for proper libdir @@ -24,6 +26,10 @@ Patch3: %{name}-0.4.2-libdir.patch Patch4: secarch.patch # Fix the installation path for python libs Patch7: %{name}-0.5.5-py3.patch +# Fixes to OpenCV support +# https://github.com/OpenKinect/libfreenect/pull/555 +Patch8: 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch +Patch9: 0002-Fix-bugs-in-sync-library-error-handling.patch BuildRequires: cmake BuildRequires: Cython @@ -33,21 +39,12 @@ BuildRequires: libusb1-devel BuildRequires: libGL-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel -# FTBFS with opencv 3.4.1: -# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 -#BuildRequires: opencv-devel +BuildRequires: opencv-devel BuildRequires: python2-devel BuildRequires: python2-numpy BuildRequires: python3-devel BuildRequires: python3-numpy -# We had to disable build of OpenCV bindings when OpenCV went to -# 3.4.1: https://bugzilla.redhat.com/show_bug.cgi?id=1551748 -# This is to make updates work for systems which have the package -# installed. The version should *not* be bumped, if we ever get the -# bindings building again, we don't want newer versions obsoleted -Obsoletes: %{name}-opencv < 0.5.7 - Requires: udev %description @@ -82,15 +79,13 @@ and a library that can be linked to, providing an interface compatible with freenect. This allows you to save data and repeat for experiments, debug problems, share datasets, and experiment with the kinect without having one. -# FTBFS with opencv 3.4.1: -# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 -#package opencv -#Summary: OpenCV bindings for %{name} -#Requires: %{name}%{?_isa} = %{version}-%{release} +%package opencv +Summary: OpenCV bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} -#description opencv -#The %{name}-opencv package contains the libfreenect binding -#library for OpenCV development. +%description opencv +The %{name}-opencv package contains the libfreenect binding +library for OpenCV development. %package -n python2-%{name} Summary: Python 2 bindings for %{name} @@ -98,7 +93,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python2-numpy # Until F28 Provides: %{name}-python%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-python%{?_isa} < 0.5.5 +Obsoletes: %{name}-python < 0.5.5 %{?python_provide:%python_provide python2-%{name}} %description -n python2-%{name} @@ -125,10 +120,13 @@ It was originally a separate project but is now distributed with libfreenect. %setup -qn %{name}-%{commit} rm -rf platform/windows +%patch0 -p0 -b .videogroup %patch1 -p0 -b .openni2 %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch7 -p1 -b .py3 +%patch8 -p1 +%patch9 -p1 %build mkdir build @@ -138,7 +136,7 @@ pushd build %cmake .. \ -DBUILD_AUDIO=ON \ -DBUILD_C_SYNC=ON \ - -DBUILD_CV=OFF \ + -DBUILD_CV=ON \ -DBUILD_REDIST_PACKAGE=ON \ -DBUILD_EXAMPLES=ON \ -DBUILD_FAKENECT=ON \ @@ -175,11 +173,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %postun -p /sbin/ldconfig -# FTBFS with opencv 3.4.1: -# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 -#post opencv -p /sbin/ldconfig +%post opencv -p /sbin/ldconfig -#postun opencv -p /sbin/ldconfig +%postun opencv -p /sbin/ldconfig %files %license APACHE20 GPL2 @@ -192,11 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_bindir}/freenect-* %{_datadir}/%{name} -# FTBFS with opencv 3.4.1: -# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 -#files opencv -#{_bindir}/freenect-cvdemo -#{_libdir}/libfreenect_cv.so.* +%files opencv +%{_bindir}/freenect-cvdemo +%{_libdir}/libfreenect_cv.so.* %files devel %doc doc/html @@ -226,6 +220,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From e30667c48da16d57f61a2ac417cbb5b01f25b588 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 26 May 2018 17:10:47 -0400 Subject: [PATCH 034/106] Add videogroup patch --- libfreenect-0.5.7-videogroup.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 libfreenect-0.5.7-videogroup.patch diff --git a/libfreenect-0.5.7-videogroup.patch b/libfreenect-0.5.7-videogroup.patch new file mode 100644 index 0000000..6390006 --- /dev/null +++ b/libfreenect-0.5.7-videogroup.patch @@ -0,0 +1,21 @@ +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" From fc12df6499486829cd12a7742180c4734b4fbf96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 10:45:56 +0200 Subject: [PATCH 035/106] Rebuilt for Python 3.7 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 62b7556..a8153ae 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -220,6 +220,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From 062db16a705e0c363f1b869d5d2835f0c8266c61 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:47 +0200 Subject: [PATCH 036/106] add BuildRequires: gcc-c++ Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- libfreenect.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/libfreenect.spec b/libfreenect.spec index a8153ae..37413f5 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -31,6 +31,7 @@ Patch7: %{name}-0.5.5-py3.patch Patch8: 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch Patch9: 0002-Fix-bugs-in-sync-library-error-handling.patch +BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: Cython BuildRequires: doxygen From 122525edac41cde46ef0a3fb1db8b67471fdadeb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 08:07:15 +0000 Subject: [PATCH 037/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 37413f5..3d31a34 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -221,6 +221,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 6933729ad431175cfdc04e11b2eb60904a4197a7 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sun, 20 Jan 2019 12:36:19 -0500 Subject: [PATCH 038/106] Remove Python 2 support (#1634715) --- libfreenect.spec | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 3d31a34..7dd3642 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -41,8 +41,7 @@ BuildRequires: libGL-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel BuildRequires: opencv-devel -BuildRequires: python2-devel -BuildRequires: python2-numpy +BuildRequires: python3-Cython BuildRequires: python3-devel BuildRequires: python3-numpy @@ -88,18 +87,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release} The %{name}-opencv package contains the libfreenect binding library for OpenCV development. -%package -n python2-%{name} -Summary: Python 2 bindings for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python2-numpy -# Until F28 -Provides: %{name}-python%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-python < 0.5.5 -%{?python_provide:%python_provide python2-%{name}} - -%description -n python2-%{name} -The %{name}-python package contains python 2 bindings for %{name} - %package -n python3-%{name} Summary: Python 3 bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -141,7 +128,9 @@ pushd build -DBUILD_REDIST_PACKAGE=ON \ -DBUILD_EXAMPLES=ON \ -DBUILD_FAKENECT=ON \ - -DBUILD_PYTHON=ON \ + -DBUILD_PYTHON=OFF \ + -DBUILD_PYTHON2=OFF \ + -DBUILD_PYTHON3=ON \ -DBUILD_OPENNI2_DRIVER=ON make %{?_smp_mflags} VERBOSE=1 @@ -170,14 +159,6 @@ mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} # 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 @@ -204,9 +185,6 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %files static %{_libdir}/*.a -%files -n python2-%{name} -%{python2_sitearch}/*.so - %files -n python3-%{name} %{python3_sitearch}/*.so @@ -221,6 +199,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 3f26cae9d3ab53d73a631a8ecadeb684eca02bd2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 1 Feb 2019 07:09:54 +0000 Subject: [PATCH 039/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 7dd3642..1737d52 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -199,6 +199,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From cabca34d2db64453d8fe884ef00bac36e8603c4f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 13:17:42 +0000 Subject: [PATCH 040/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 1737d52..de708ae 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -199,6 +199,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 2e56980d4b197cf1b127812555e64d24c84a2235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:17:43 +0200 Subject: [PATCH 041/106] Rebuilt for Python 3.8 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index de708ae..353ab16 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -199,6 +199,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 33882aca71f98e1093c7354c5945f96a3e73dc7a Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Fri, 4 Oct 2019 07:38:07 -0500 Subject: [PATCH 042/106] Rebuild for new freeglut. --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 353ab16..e460a6e 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -199,6 +199,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 7c5177f01a70ef04781daccc9e21513900f78246 Mon Sep 17 00:00:00 2001 From: kwizart Date: Sun, 29 Dec 2019 11:21:42 +0100 Subject: [PATCH 043/106] Rebuilt for opencv4 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index e460a6e..395c5e5 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -199,6 +199,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* Sun Dec 29 2019 Nicolas Chauvet - 0.5.7-10 +- Rebuilt for opencv4 + * Tue Sep 17 2019 Gwyn Ciesla - 0.5.7-9 - Rebuilt for new freeglut From db21e1e03425385e3310c9939f456c24beb78cbd Mon Sep 17 00:00:00 2001 From: kwizart Date: Sun, 29 Dec 2019 20:40:51 +0100 Subject: [PATCH 044/106] Rebuilt again --- libfreenect.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 395c5e5..1b7d313 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -199,7 +199,7 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog -* Sun Dec 29 2019 Nicolas Chauvet - 0.5.7-10 +* Sun Dec 29 2019 Nicolas Chauvet - 0.5.7-11 - Rebuilt for opencv4 * Tue Sep 17 2019 Gwyn Ciesla - 0.5.7-9 From f53d62f564e2e489b462abc6da411dc0af1f8bbc Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Mon, 27 Jan 2020 13:33:42 +0100 Subject: [PATCH 045/106] Fix for OpenCV4 --- libfreenect-opencv4.patch | 21 +++++++++++++++++++++ libfreenect.spec | 8 +++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 libfreenect-opencv4.patch diff --git a/libfreenect-opencv4.patch b/libfreenect-opencv4.patch new file mode 100644 index 0000000..95ccaf6 --- /dev/null +++ b/libfreenect-opencv4.patch @@ -0,0 +1,21 @@ +diff -up libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp.cv4 libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp +--- libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp.cv4 2020-01-27 13:26:58.804395458 +0100 ++++ libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp 2020-01-27 13:26:58.808395477 +0100 +@@ -1,5 +1,4 @@ +-#include +-#include ++#include + #include + #include "libfreenect_cv.h" + +diff -up libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h.cv4 libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h +--- libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h.cv4 2020-01-27 13:26:58.804395458 +0100 ++++ libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h 2020-01-27 13:29:39.237158488 +0100 +@@ -1,6 +1,6 @@ + #pragma once + +-#include ++#include + + #ifdef __cplusplus + extern "C" { diff --git a/libfreenect.spec b/libfreenect.spec index 1b7d313..8b28e26 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -30,6 +30,8 @@ Patch7: %{name}-0.5.5-py3.patch # https://github.com/OpenKinect/libfreenect/pull/555 Patch8: 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch Patch9: 0002-Fix-bugs-in-sync-library-error-handling.patch +# Fixup of OpenCV fixes +Patch10: libfreenect-opencv4.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -115,6 +117,7 @@ rm -rf platform/windows %patch7 -p1 -b .py3 %patch8 -p1 %patch9 -p1 +%patch10 -p1 -b .cv4 %build mkdir build @@ -199,6 +202,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 77a793b6979459acc6ddb93efb0a834ac966eb6d Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 28 Jan 2020 10:45:11 +0100 Subject: [PATCH 046/106] Rebuilt --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 8b28e26..b3446ac 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -202,6 +202,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 8964dbf515ba8fe4672a12054484adf0329afa8e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 09:09:39 +0000 Subject: [PATCH 047/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index b3446ac..92975e6 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -202,6 +202,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 9586e4d6ea8b977e54c49a6efe6cdd50f9e3b727 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 19 Feb 2020 22:10:16 +0000 Subject: [PATCH 048/106] Rebuilt for OpenCV 4.2 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 92975e6..892a785 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -8,7 +8,7 @@ Name: libfreenect Version: 0.5.7 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -202,6 +202,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From cab3ac090b030af5831190ed6bcd7e971902069a Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 28 Feb 2020 12:33:52 +0100 Subject: [PATCH 049/106] Update to 0.6.0 --- .gitignore | 10 +--------- libfreenect.spec | 23 ++++++++--------------- sources | 2 +- 3 files changed, 10 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index f62c18f..3257e85 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1 @@ -/libfreenect-v0.1.2.tar.bz2 -/libfreenect-de79349de52e0458da38f3eaa721f2ca4b45ff29.tar.gz -/libfreenect-a35642fefd533c6b21864cd3bab7fefb9f0e2f00.tar.gz -/libfreenect-9b671cd7210d16d330a88c7f4e80ce48f42d013e.tar.gz -/libfreenect-8d957924f8a82a235aaa44d8c455113f10c0373f.tar.bz2 -/libfreenect-b2043d02b66c9c59899bbf09cb1a13206e8fa10d.tar.gz -/libfreenect-baec1501c703c731f32eac2bf97c28c77b51fdd8.tar.gz -/libfreenect-ddf092cce09ab4bc97529827a061f1a54a046a17.tar.gz -/libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e.tar.gz +libfreenect-*.tar.* diff --git a/libfreenect.spec b/libfreenect.spec index 892a785..aea9cac 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,4 +1,4 @@ -%global commit 88166014859c09f6ad6a93f0862bdcc4e46dc87e +%global commit 48a5c66d98505dd187e6352c2b9aca88985486c0 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %{?filter_setup: @@ -7,8 +7,8 @@ } Name: libfreenect -Version: 0.5.7 -Release: 15%{?dist} +Version: 0.6.0 +Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -26,11 +26,6 @@ Patch3: %{name}-0.4.2-libdir.patch Patch4: secarch.patch # Fix the installation path for python libs Patch7: %{name}-0.5.5-py3.patch -# Fixes to OpenCV support -# https://github.com/OpenKinect/libfreenect/pull/555 -Patch8: 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch -Patch9: 0002-Fix-bugs-in-sync-library-error-handling.patch -# Fixup of OpenCV fixes Patch10: libfreenect-opencv4.patch BuildRequires: gcc-c++ @@ -115,15 +110,11 @@ rm -rf platform/windows %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch7 -p1 -b .py3 -%patch8 -p1 -%patch9 -p1 %patch10 -p1 -b .cv4 %build mkdir build pushd build -# FTBFS with opencv 3.4.1: -# https://bugzilla.redhat.com/show_bug.cgi?id=1551748 %cmake .. \ -DBUILD_AUDIO=ON \ -DBUILD_C_SYNC=ON \ @@ -136,7 +127,7 @@ pushd build -DBUILD_PYTHON3=ON \ -DBUILD_OPENNI2_DRIVER=ON -make %{?_smp_mflags} VERBOSE=1 +%make_build VERBOSE=1 popd pushd doc @@ -144,8 +135,7 @@ doxygen Doxyfile popd %install -rm -rf %{buildroot} -make -C build install DESTDIR=%{buildroot} +%make_install -C build # Install the kinect udev rule mkdir -p %{buildroot}/lib/udev/rules.d @@ -202,6 +192,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* Fri Feb 28 2020 Nicolas Chauvet - 0.6.0-1 +- Update to 0.6.0 + * Wed Feb 19 2020 Leigh Scott - 0.5.7-15 - Rebuilt for OpenCV 4.2 diff --git a/sources b/sources index 8f88b39..91181c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e.tar.gz) = d4f54deb36381234fd85cfbf4b08e755335aaca9abdec3a370cf465ce5db161b2f7c23ba4a3159b653ae8ff8504691c3982e2601137a40e1ba1c9ae4841ff832 +SHA512 (libfreenect-48a5c66d98505dd187e6352c2b9aca88985486c0.tar.gz) = fad7f63774fe640f95fa3b3ffd1cef2f64576e10e84b5befd3ab97647d92f8527ef8ad344b08d73dbeac3bda71d97235ef8116c8cee45b18dbb8a96851cd5170 From 7381e30c28b021e800d10da5f10262d60440335d Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 28 Feb 2020 12:59:16 +0100 Subject: [PATCH 050/106] Use modern provides filter --- libfreenect.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index aea9cac..041373c 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,10 +1,7 @@ %global commit 48a5c66d98505dd187e6352c2b9aca88985486c0 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%{?filter_setup: -%filter_provides_in %{python_sitearch}/.*\.so$ -%filter_setup -} +%global __provides_exclude %{python_sitearch}/.*\.so$ Name: libfreenect Version: 0.6.0 From 1747099b34882b5e28081dc8099f7f8a15ca7a4e Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 28 Feb 2020 14:57:48 +0100 Subject: [PATCH 051/106] Drop Drop Minor in APIVER --- Drop-PROJECT_VER_MINOR-in-APIVER.patch | 28 ++++++++++++++++++++++++++ libfreenect.spec | 3 +++ 2 files changed, 31 insertions(+) create mode 100644 Drop-PROJECT_VER_MINOR-in-APIVER.patch diff --git a/Drop-PROJECT_VER_MINOR-in-APIVER.patch b/Drop-PROJECT_VER_MINOR-in-APIVER.patch new file mode 100644 index 0000000..539fae2 --- /dev/null +++ b/Drop-PROJECT_VER_MINOR-in-APIVER.patch @@ -0,0 +1,28 @@ +From 79e357efa8a0a4d60ab8bb9e8d189f12ac4627d1 Mon Sep 17 00:00:00 2001 +From: Nicolas Chauvet +Date: Fri, 28 Feb 2020 14:54:47 +0100 +Subject: [PATCH] Drop PROJECT_VER_MINOR in APIVER + +This will change SONAME to libfreenect.so.0 instead of 0.6 + +Signed-off-by: Nicolas Chauvet +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e71ea97..37d6e94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,7 +51,7 @@ set (PROJECT_VER_PATCH 1) + set (PROJECT_VER + "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}") + set (PROJECT_APIVER +- "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}") ++ "${PROJECT_VER_MAJOR}") + + OPTION(BUILD_REDIST_PACKAGE "Build libfreenect in a legally-redistributable manner (only affects audio)" ON) + OPTION(BUILD_EXAMPLES "Build example programs" ON) +-- +2.24.1 + diff --git a/libfreenect.spec b/libfreenect.spec index 041373c..ecb7e3c 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -24,6 +24,7 @@ Patch4: secarch.patch # Fix the installation path for python libs Patch7: %{name}-0.5.5-py3.patch Patch10: libfreenect-opencv4.patch +Patch11: Drop-PROJECT_VER_MINOR-in-APIVER.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -108,6 +109,7 @@ rm -rf platform/windows %patch4 -p1 -b .secarch %patch7 -p1 -b .py3 %patch10 -p1 -b .cv4 +%patch11 -p1 -b .drop %build mkdir build @@ -191,6 +193,7 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %changelog * 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 From 8bd4c1d9bcd72a411f38d7c607497f9e2857649d Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 28 Feb 2020 15:09:22 +0100 Subject: [PATCH 052/106] Hack to keep the previous ABI instead of forging a new one --- Drop-PROJECT_VER_MINOR-in-APIVER.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Drop-PROJECT_VER_MINOR-in-APIVER.patch b/Drop-PROJECT_VER_MINOR-in-APIVER.patch index 539fae2..2282ff0 100644 --- a/Drop-PROJECT_VER_MINOR-in-APIVER.patch +++ b/Drop-PROJECT_VER_MINOR-in-APIVER.patch @@ -19,7 +19,7 @@ index e71ea97..37d6e94 100644 "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}") set (PROJECT_APIVER - "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}") -+ "${PROJECT_VER_MAJOR}") ++ "${PROJECT_VER_MAJOR}.5") OPTION(BUILD_REDIST_PACKAGE "Build libfreenect in a legally-redistributable manner (only affects audio)" ON) OPTION(BUILD_EXAMPLES "Build example programs" ON) From 85f387205c5edc937d769e3c7152a04c9eda8d23 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 28 Feb 2020 15:16:41 +0100 Subject: [PATCH 053/106] Update changelog --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index ecb7e3c..c12a46c 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -191,6 +191,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From caed0572c96cf9a0ffadef570b03b88636ccd9ff Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 3 Mar 2020 08:26:48 +0100 Subject: [PATCH 054/106] Revert "Hack to keep the previous ABI instead of forging a new one" This reverts commit 8bd4c1d9bcd72a411f38d7c607497f9e2857649d. --- Drop-PROJECT_VER_MINOR-in-APIVER.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Drop-PROJECT_VER_MINOR-in-APIVER.patch b/Drop-PROJECT_VER_MINOR-in-APIVER.patch index 2282ff0..539fae2 100644 --- a/Drop-PROJECT_VER_MINOR-in-APIVER.patch +++ b/Drop-PROJECT_VER_MINOR-in-APIVER.patch @@ -19,7 +19,7 @@ index e71ea97..37d6e94 100644 "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}") set (PROJECT_APIVER - "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}") -+ "${PROJECT_VER_MAJOR}.5") ++ "${PROJECT_VER_MAJOR}") OPTION(BUILD_REDIST_PACKAGE "Build libfreenect in a legally-redistributable manner (only affects audio)" ON) OPTION(BUILD_EXAMPLES "Build example programs" ON) From 87963521946888b8b00db1c20e4901e6b408a73d Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 3 Mar 2020 08:31:15 +0100 Subject: [PATCH 055/106] Rebuilt for new ABI --- libfreenect.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index c12a46c..93f9ca6 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -155,8 +155,8 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %license APACHE20 GPL2 %doc README.md CONTRIB /lib/udev/rules.d/* -%{_libdir}/libfreenect.so.* -%{_libdir}/libfreenect_sync.so.* +%{_libdir}/libfreenect.so.0* +%{_libdir}/libfreenect_sync.so.0* %exclude %{_bindir}/freenect-cvdemo %exclude %{_bindir}/fakenect %{_bindir}/freenect-* @@ -191,6 +191,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 9206aba454fe80f884aa2ce8217e1e11d7cab3fa Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Mon, 25 May 2020 11:25:20 +0200 Subject: [PATCH 056/106] Update to 0.6.1 --- Drop-PROJECT_VER_MINOR-in-APIVER.patch | 28 -------------------------- libfreenect-0.4.1-openni2.patch | 12 ----------- libfreenect-opencv4.patch | 21 ------------------- libfreenect-openni2.patch | 12 +++++++++++ libfreenect.spec | 20 +++++++++--------- sources | 2 +- 6 files changed, 23 insertions(+), 72 deletions(-) delete mode 100644 Drop-PROJECT_VER_MINOR-in-APIVER.patch delete mode 100644 libfreenect-0.4.1-openni2.patch delete mode 100644 libfreenect-opencv4.patch create mode 100644 libfreenect-openni2.patch diff --git a/Drop-PROJECT_VER_MINOR-in-APIVER.patch b/Drop-PROJECT_VER_MINOR-in-APIVER.patch deleted file mode 100644 index 539fae2..0000000 --- a/Drop-PROJECT_VER_MINOR-in-APIVER.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 79e357efa8a0a4d60ab8bb9e8d189f12ac4627d1 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Fri, 28 Feb 2020 14:54:47 +0100 -Subject: [PATCH] Drop PROJECT_VER_MINOR in APIVER - -This will change SONAME to libfreenect.so.0 instead of 0.6 - -Signed-off-by: Nicolas Chauvet ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e71ea97..37d6e94 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -51,7 +51,7 @@ set (PROJECT_VER_PATCH 1) - set (PROJECT_VER - "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}") - set (PROJECT_APIVER -- "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}") -+ "${PROJECT_VER_MAJOR}") - - OPTION(BUILD_REDIST_PACKAGE "Build libfreenect in a legally-redistributable manner (only affects audio)" ON) - OPTION(BUILD_EXAMPLES "Build example programs" ON) --- -2.24.1 - diff --git a/libfreenect-0.4.1-openni2.patch b/libfreenect-0.4.1-openni2.patch deleted file mode 100644 index 326621d..0000000 --- a/libfreenect-0.4.1-openni2.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./OpenNI2-FreenectDriver/CMakeLists.txt.openni2 ./OpenNI2-FreenectDriver/CMakeLists.txt ---- ./OpenNI2-FreenectDriver/CMakeLists.txt.openni2 2014-05-02 19:44:28.783577819 -0400 -+++ ./OpenNI2-FreenectDriver/CMakeLists.txt 2014-05-02 19:44:31.992726677 -0400 -@@ -10,8 +10,6 @@ set(CMAKE_CXX_FLAGS "-Wno-gnu-static-flo - - 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-opencv4.patch b/libfreenect-opencv4.patch deleted file mode 100644 index 95ccaf6..0000000 --- a/libfreenect-opencv4.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp.cv4 libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp ---- libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp.cv4 2020-01-27 13:26:58.804395458 +0100 -+++ libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/cvdemo.cpp 2020-01-27 13:26:58.808395477 +0100 -@@ -1,5 +1,4 @@ --#include --#include -+#include - #include - #include "libfreenect_cv.h" - -diff -up libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h.cv4 libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h ---- libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h.cv4 2020-01-27 13:26:58.804395458 +0100 -+++ libfreenect-88166014859c09f6ad6a93f0862bdcc4e46dc87e/wrappers/opencv/libfreenect_cv.h 2020-01-27 13:29:39.237158488 +0100 -@@ -1,6 +1,6 @@ - #pragma once - --#include -+#include - - #ifdef __cplusplus - extern "C" { diff --git a/libfreenect-openni2.patch b/libfreenect-openni2.patch new file mode 100644 index 0000000..36dc2da --- /dev/null +++ b/libfreenect-openni2.patch @@ -0,0 +1,12 @@ +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 93f9ca6..62b8fb4 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -4,27 +4,25 @@ %global __provides_exclude %{python_sitearch}/.*\.so$ Name: libfreenect -Version: 0.6.0 -Release: 3%{?dist} +Version: 0.6.1 +Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 License: ASL 2.0 and (GPLv2 or ASL 2.0) URL: http://www.openkinect.org/ -Source0: https://github.com/OpenKinect/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz +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}-0.4.1-openni2.patch +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 Patch7: %{name}-0.5.5-py3.patch -Patch10: libfreenect-opencv4.patch -Patch11: Drop-PROJECT_VER_MINOR-in-APIVER.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -100,16 +98,15 @@ 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 -%setup -qn %{name}-%{commit} +%setup -qn %{name}-%{version} rm -rf platform/windows %patch0 -p0 -b .videogroup -%patch1 -p0 -b .openni2 +%patch1 -p1 -b .openni2 %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch7 -p1 -b .py3 -%patch10 -p1 -b .cv4 -%patch11 -p1 -b .drop + %build mkdir build @@ -191,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index 91181c8..553e172 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-48a5c66d98505dd187e6352c2b9aca88985486c0.tar.gz) = fad7f63774fe640f95fa3b3ffd1cef2f64576e10e84b5befd3ab97647d92f8527ef8ad344b08d73dbeac3bda71d97235ef8116c8cee45b18dbb8a96851cd5170 +SHA512 (libfreenect-0.6.1.tar.gz) = 832cf6f184b71f1a447068c3a7b745471a81ffa5e026ef9cfab9c479e26f4dcd49cb60ffde5238ba18e132c7bb4dd6b812a5b0e443bd0dbb99ea748e359a0e16 From 43a7f2117e6a0f1153d183901ffd71d12690eb75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 02:50:22 +0200 Subject: [PATCH 057/106] Rebuilt for Python 3.9 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 62b8fb4..092f800 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -188,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 7c0e8957a52cff405c918a3a3a44d8fb1573d516 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 4 Jun 2020 17:48:06 +0200 Subject: [PATCH 058/106] Rebuilt --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 092f800..6949b5c 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -188,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 0598ac73852f93f4538797166d783b3c3b0431f8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 04:40:33 +0000 Subject: [PATCH 059/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 6949b5c..b7be42f 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -188,6 +188,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 5962de8b5f7631ec11c27a3b8818e65c220a3775 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 03:56:24 +0000 Subject: [PATCH 060/106] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index b7be42f..c80f45c 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -188,6 +188,10 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From b3565306f106970bd17de9fcd6a86cfe1b2dd6bd Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Mon, 3 Aug 2020 14:10:02 +0100 Subject: [PATCH 061/106] Fix unversioned python --- libfreenect.spec | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index c80f45c..6a923b9 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,11 +1,11 @@ %global commit 48a5c66d98505dd187e6352c2b9aca88985486c0 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global __provides_exclude %{python_sitearch}/.*\.so$ +%global __provides_exclude %{python3_sitearch}/.*\.so$ Name: libfreenect Version: 0.6.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -25,7 +25,7 @@ Patch4: secarch.patch Patch7: %{name}-0.5.5-py3.patch BuildRequires: gcc-c++ -BuildRequires: cmake +BuildRequires: cmake3 BuildRequires: Cython BuildRequires: doxygen BuildRequires: freeglut-devel @@ -109,9 +109,7 @@ rm -rf platform/windows %build -mkdir build -pushd build -%cmake .. \ +%cmake3 \ -DBUILD_AUDIO=ON \ -DBUILD_C_SYNC=ON \ -DBUILD_CV=ON \ @@ -123,15 +121,14 @@ pushd build -DBUILD_PYTHON3=ON \ -DBUILD_OPENNI2_DRIVER=ON -%make_build VERBOSE=1 -popd +%cmake3_build pushd doc doxygen Doxyfile popd %install -%make_install -C build +%cmake3_install # Install the kinect udev rule mkdir -p %{buildroot}/lib/udev/rules.d @@ -188,6 +185,10 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 33fee85f5a8a6340d659c164527199df3ab5d3a3 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 22 Oct 2020 13:29:21 +0200 Subject: [PATCH 062/106] Rebuilt for OpenCV --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 6a923b9..8ca6259 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 8f326d8a5a2e7d995d50b0266301643ab85b7157 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 17:05:44 +0000 Subject: [PATCH 063/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 8ca6259..4acd96f 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From ac80ab0ef9624949895505e41679e94a24dd29c2 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 4 Mar 2021 14:28:02 +0100 Subject: [PATCH 064/106] Update to 0.6.2 --- libfreenect.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 4acd96f..5585916 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -4,8 +4,8 @@ %global __provides_exclude %{python3_sitearch}/.*\.so$ Name: libfreenect -Version: 0.6.1 -Release: 8%{?dist} +Version: 0.6.2 +Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index 553e172..8a4caff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-0.6.1.tar.gz) = 832cf6f184b71f1a447068c3a7b745471a81ffa5e026ef9cfab9c479e26f4dcd49cb60ffde5238ba18e132c7bb4dd6b812a5b0e443bd0dbb99ea748e359a0e16 +SHA512 (libfreenect-0.6.2.tar.gz) = e232487fe62a81161e6e74d34a625d6e86ca56befc1692590ecf863ce6b96b9094b3042557e8a4801a7a1fb3eade4cb02d647cc57dd6b043e7b891d48ff1cba1 From 6b2da630a02a3b2c4d1830b310e88d308b7ddbaa Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 4 Mar 2021 14:36:48 +0100 Subject: [PATCH 065/106] Update patch --- libfreenect.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 5585916..abef09e 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -22,7 +22,7 @@ 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 -Patch7: %{name}-0.5.5-py3.patch +Patch5: %{name}-0.6.2-py3.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -105,7 +105,7 @@ rm -rf platform/windows %patch1 -p1 -b .openni2 %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch -%patch7 -p1 -b .py3 +%patch5 -p1 -b .py3 %build From 12998f86ce95ab8534e35f310deb0544c4b896a0 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 4 Mar 2021 14:37:07 +0100 Subject: [PATCH 066/106] Rename file --- libfreenect-0.5.5-py3.patch => libfreenect-0.6.2-py3.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename libfreenect-0.5.5-py3.patch => libfreenect-0.6.2-py3.patch (100%) diff --git a/libfreenect-0.5.5-py3.patch b/libfreenect-0.6.2-py3.patch similarity index 100% rename from libfreenect-0.5.5-py3.patch rename to libfreenect-0.6.2-py3.patch From 8e0c7dae406e575739b027fb5179cf772872533b Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 4 Mar 2021 14:37:37 +0100 Subject: [PATCH 067/106] Update patch for 0.6.2 --- libfreenect-0.6.2-py3.patch | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/libfreenect-0.6.2-py3.patch b/libfreenect-0.6.2-py3.patch index b9140f3..11ea5f5 100644 --- a/libfreenect-0.6.2-py3.patch +++ b/libfreenect-0.6.2-py3.patch @@ -1,6 +1,6 @@ -diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py ---- ./src/fwfetcher.py.py3 2016-08-28 09:54:21.000000000 -0400 -+++ ./src/fwfetcher.py 2016-12-29 16:52:00.569437210 -0500 +diff -up libfreenect-0.6.2/src/fwfetcher.py.py3 libfreenect-0.6.2/src/fwfetcher.py +--- libfreenect-0.6.2/src/fwfetcher.py.py3 2021-02-12 00:51:27.000000000 +0100 ++++ libfreenect-0.6.2/src/fwfetcher.py 2021-03-04 14:35:02.568905434 +0100 @@ -1,5 +1,3 @@ -#!/usr/bin/env python2 - @@ -20,24 +20,24 @@ diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py # Python 2 from urllib2 import Request, URLError, urlopen -diff -up ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt ---- ./wrappers/python/CMakeLists.txt.py3 2016-08-28 09:54:21.000000000 -0400 -+++ ./wrappers/python/CMakeLists.txt 2016-12-29 16:49:58.970814941 -0500 -@@ -50,7 +50,7 @@ endif() - # Figure out installation path +diff -up libfreenect-0.6.2/wrappers/python/CMakeLists.txt.py3 libfreenect-0.6.2/wrappers/python/CMakeLists.txt +--- libfreenect-0.6.2/wrappers/python/CMakeLists.txt.py3 2021-02-12 00:51:27.000000000 +0100 ++++ libfreenect-0.6.2/wrappers/python/CMakeLists.txt 2021-03-04 14:32:52.382237690 +0100 +@@ -21,7 +21,7 @@ find_program(CYTHON_EXECUTABLE cython) + # 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(prefix='${CMAKE_INSTALL_PREFIX}'))" + ${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}'))" + -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))" - OUTPUT_VARIABLE PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_VARIABLE Python${Python_BUILD_VERSION}_SITELIB OUTPUT_STRIP_TRAILING_WHITESPACE) # Figure out numpy include path -@@ -84,7 +84,10 @@ target_include_directories(cython${Pytho +@@ -56,7 +56,10 @@ target_include_directories(cython${Pytho # Install the extension install(TARGETS cython${Python_BUILD_VERSION}_freenect -- DESTINATION ${PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES}) -+ DESTINATION ${PYTHON${Python_BUILD_VERSION}_SITE_PACKAGES} +- 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} + ) From a9c7d0d194f782c9bebf3ad5b3f3693b0ea028a3 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 20:09:08 +0200 Subject: [PATCH 068/106] Rebuilt for Python 3.10 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index abef09e..baaa5b2 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 0f42c525fb00ab2e7b17817e9be26d18eed676af Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 11:24:25 +0000 Subject: [PATCH 069/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index baaa5b2..573320a 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 716e67bb820e60d388b3891e3710a7103155b253 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 17 Aug 2021 14:29:56 +0200 Subject: [PATCH 070/106] Drop Cython rhbz#1984287 --- libfreenect.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 573320a..7f6d510 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -26,7 +26,6 @@ Patch5: %{name}-0.6.2-py3.patch BuildRequires: gcc-c++ BuildRequires: cmake3 -BuildRequires: Cython BuildRequires: doxygen BuildRequires: freeglut-devel BuildRequires: libusb1-devel From 2c735ac688cce1a2905b413278319d6c407c2226 Mon Sep 17 00:00:00 2001 From: Phil Wyett Date: Wed, 1 Sep 2021 12:01:38 +0100 Subject: [PATCH 071/106] Update spec --- libfreenect.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 7f6d510..de8b3d0 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -184,6 +184,10 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 5a0ca9b77a6316b7a32f250b58fa296a181ee2b8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 16:14:54 +0000 Subject: [PATCH 072/106] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index de8b3d0..df5e633 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -184,6 +184,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 676ea2c2bd91f3847bd64269a59bfdbf93342c90 Mon Sep 17 00:00:00 2001 From: Phil Wyett Date: Wed, 26 Jan 2022 22:08:31 +0000 Subject: [PATCH 073/106] Fix FTBFS in f36 mass rebuild. --- libfreenect-0.6.2-cmake-gl-glut.patch | 58 +++++++++++++++++++++++++++ libfreenect.spec | 8 +++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 libfreenect-0.6.2-cmake-gl-glut.patch diff --git a/libfreenect-0.6.2-cmake-gl-glut.patch b/libfreenect-0.6.2-cmake-gl-glut.patch new file mode 100644 index 0000000..153de82 --- /dev/null +++ b/libfreenect-0.6.2-cmake-gl-glut.patch @@ -0,0 +1,58 @@ +--- wrappers/cpp/CMakeLists.txt.orig 2022-01-26 21:08:55.022364517 +0000 ++++ wrappers/cpp/CMakeLists.txt 2022-01-26 21:09:55.781482241 +0000 +@@ -6,6 +6,7 @@ + if (BUILD_EXAMPLES) + set(THREADS_USE_PTHREADS_WIN32 true) + find_package(Threads) ++ set(OpenGL_GL_PREFERENCE GLVND) + find_package(OpenGL) + find_package(GLUT) + +@@ -18,8 +19,8 @@ + target_compile_features(freenect-cppview PUBLIC cxx_std_11) + target_compile_features(freenect-cpp_pcview PUBLIC cxx_std_11) + +- target_link_libraries(freenect-cppview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) +- target_link_libraries(freenect-cpp_pcview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-cppview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-cpp_pcview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) + + install(TARGETS freenect-cppview freenect-cpp_pcview + DESTINATION bin) + +--- examples/CMakeLists.txt.orig 2022-01-26 20:51:31.842178661 +0000 ++++ examples/CMakeLists.txt 2022-01-26 21:15:39.575806682 +0000 +@@ -13,6 +13,7 @@ + # Most viewers need pthreads and GLUT. + set(THREADS_USE_PTHREADS_WIN32 true) + find_package(Threads) ++set(OpenGL_GL_PREFERENCE GLVND) + find_package(OpenGL) + find_package(GLUT) + +@@ -25,11 +26,11 @@ + add_executable(freenect-chunkview chunkview.c) + add_executable(freenect-micview micview.c) + +- target_link_libraries(freenect-glview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) +- target_link_libraries(freenect-regview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) +- target_link_libraries(freenect-hiview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) +- target_link_libraries(freenect-chunkview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) +- target_link_libraries(freenect-micview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-glview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-regview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-hiview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-chunkview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) ++ target_link_libraries(freenect-micview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) + + install(TARGETS freenect-glview freenect-regview freenect-hiview freenect-chunkview freenect-micview + DESTINATION bin) +@@ -51,7 +52,7 @@ + if (OPENGL_FOUND AND GLUT_FOUND) + include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}) + add_executable(freenect-glpclview glpclview.c) +- target_link_libraries(freenect-glpclview freenect_sync ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${MATH_LIB}) ++ target_link_libraries(freenect-glpclview freenect_sync ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${MATH_LIB}) + install(TARGETS freenect-glpclview + DESTINATION bin) + endif () diff --git a/libfreenect.spec b/libfreenect.spec index df5e633..946f45f 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -23,6 +23,8 @@ Patch3: %{name}-0.4.2-libdir.patch Patch4: secarch.patch # Fix the installation path for python libs Patch5: %{name}-0.6.2-py3.patch +# BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2045802 +Patch6: %{name}-0.6.2-cmake-gl-glut.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -105,6 +107,7 @@ rm -rf platform/windows %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch5 -p1 -b .py3 +%patch6 -p0 -b .cmake-gl-glut %build @@ -184,6 +187,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From ab039342ef6d6b680178fc96c29d961587318dba Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 18:56:35 +0200 Subject: [PATCH 074/106] Rebuilt for Python 3.11 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 946f45f..a76b55c 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -187,6 +187,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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. From 729a4614a3a7790fc73b3a70490351951607d259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Tue, 21 Jun 2022 12:35:52 +0100 Subject: [PATCH 075/106] Rebuilt for opencv 4.6.0 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index a76b55c..aca3081 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -187,6 +187,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From bec9c63ac9a792b90b0f8e3e2bf4d541a2c177db Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 17:50:21 +0000 Subject: [PATCH 076/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index aca3081..3dc2ac8 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -5,7 +5,7 @@ Name: libfreenect Version: 0.6.2 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -187,6 +187,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 2f8a148d04fc6ea1824cbc6ca47fd02549d5176b Mon Sep 17 00:00:00 2001 From: Phil Wyett Date: Sat, 24 Sep 2022 06:38:30 +0100 Subject: [PATCH 077/106] New upstream 0.6.4 --- libfreenect-0.6.2-cmake-gl-glut.patch | 58 --------------------------- libfreenect.spec | 16 +++----- sources | 2 +- 3 files changed, 7 insertions(+), 69 deletions(-) delete mode 100644 libfreenect-0.6.2-cmake-gl-glut.patch diff --git a/libfreenect-0.6.2-cmake-gl-glut.patch b/libfreenect-0.6.2-cmake-gl-glut.patch deleted file mode 100644 index 153de82..0000000 --- a/libfreenect-0.6.2-cmake-gl-glut.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- wrappers/cpp/CMakeLists.txt.orig 2022-01-26 21:08:55.022364517 +0000 -+++ wrappers/cpp/CMakeLists.txt 2022-01-26 21:09:55.781482241 +0000 -@@ -6,6 +6,7 @@ - if (BUILD_EXAMPLES) - set(THREADS_USE_PTHREADS_WIN32 true) - find_package(Threads) -+ set(OpenGL_GL_PREFERENCE GLVND) - find_package(OpenGL) - find_package(GLUT) - -@@ -18,8 +19,8 @@ - target_compile_features(freenect-cppview PUBLIC cxx_std_11) - target_compile_features(freenect-cpp_pcview PUBLIC cxx_std_11) - -- target_link_libraries(freenect-cppview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -- target_link_libraries(freenect-cpp_pcview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-cppview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-cpp_pcview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) - - install(TARGETS freenect-cppview freenect-cpp_pcview - DESTINATION bin) - ---- examples/CMakeLists.txt.orig 2022-01-26 20:51:31.842178661 +0000 -+++ examples/CMakeLists.txt 2022-01-26 21:15:39.575806682 +0000 -@@ -13,6 +13,7 @@ - # Most viewers need pthreads and GLUT. - set(THREADS_USE_PTHREADS_WIN32 true) - find_package(Threads) -+set(OpenGL_GL_PREFERENCE GLVND) - find_package(OpenGL) - find_package(GLUT) - -@@ -25,11 +26,11 @@ - add_executable(freenect-chunkview chunkview.c) - add_executable(freenect-micview micview.c) - -- target_link_libraries(freenect-glview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -- target_link_libraries(freenect-regview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -- target_link_libraries(freenect-hiview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -- target_link_libraries(freenect-chunkview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -- target_link_libraries(freenect-micview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-glview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-regview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-hiview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-chunkview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) -+ target_link_libraries(freenect-micview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) - - install(TARGETS freenect-glview freenect-regview freenect-hiview freenect-chunkview freenect-micview - DESTINATION bin) -@@ -51,7 +52,7 @@ - if (OPENGL_FOUND AND GLUT_FOUND) - include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}) - add_executable(freenect-glpclview glpclview.c) -- target_link_libraries(freenect-glpclview freenect_sync ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${MATH_LIB}) -+ target_link_libraries(freenect-glpclview freenect_sync ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${MATH_LIB}) - install(TARGETS freenect-glpclview - DESTINATION bin) - endif () diff --git a/libfreenect.spec b/libfreenect.spec index 3dc2ac8..ede55ce 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,11 +1,8 @@ -%global commit 48a5c66d98505dd187e6352c2b9aca88985486c0 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - %global __provides_exclude %{python3_sitearch}/.*\.so$ Name: libfreenect -Version: 0.6.2 -Release: 9%{?dist} +Version: 0.6.4 +Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -23,8 +20,6 @@ Patch3: %{name}-0.4.2-libdir.patch Patch4: secarch.patch # Fix the installation path for python libs Patch5: %{name}-0.6.2-py3.patch -# BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2045802 -Patch6: %{name}-0.6.2-cmake-gl-glut.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -46,7 +41,6 @@ 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} @@ -107,8 +101,6 @@ rm -rf platform/windows %patch3 -p0 -b .libdir %patch4 -p1 -b .secarch %patch5 -p1 -b .py3 -%patch6 -p0 -b .cmake-gl-glut - %build %cmake3 \ @@ -187,6 +179,10 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index 8a4caff..e4c4ea1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-0.6.2.tar.gz) = e232487fe62a81161e6e74d34a625d6e86ca56befc1692590ecf863ce6b96b9094b3042557e8a4801a7a1fb3eade4cb02d647cc57dd6b043e7b891d48ff1cba1 +SHA512 (libfreenect-0.6.4.tar.gz) = 761f81331fa5d2b3366eeb96716b270c35490501e30659db8bc5940ae50ccc5996773f0b339ece31779e57ccf1755e547f83d6a31b40f156e6e60b6269ae9feb From 1354f136abf04be400a060627b0df500992cb2c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Mon, 16 Jan 2023 01:45:19 +0000 Subject: [PATCH 078/106] Rebuild for opencv 4.7.0 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index ede55ce..9c8c238 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.6.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -179,6 +179,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From f0320677ae2ba341263fb88cabda0e96da0f74ce Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 16:21:45 +0000 Subject: [PATCH 079/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 9c8c238..1947aeb 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.6.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -179,6 +179,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From e746e2a26d05ede3442d34c3dae2f2a5f0bd62f4 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 4 May 2023 15:07:37 +0200 Subject: [PATCH 080/106] Update to 0.7.0 --- libfreenect.spec | 17 ++++++++++------- sources | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 1947aeb..6650658 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,8 +1,8 @@ %global __provides_exclude %{python3_sitearch}/.*\.so$ Name: libfreenect -Version: 0.6.4 -Release: 3%{?dist} +Version: 0.7.0 +Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 @@ -96,11 +96,11 @@ It was originally a separate project but is now distributed with libfreenect. %setup -qn %{name}-%{version} rm -rf platform/windows -%patch0 -p0 -b .videogroup -%patch1 -p1 -b .openni2 -%patch3 -p0 -b .libdir -%patch4 -p1 -b .secarch -%patch5 -p1 -b .py3 +%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 %build %cmake3 \ @@ -179,6 +179,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index e4c4ea1..4b8b72a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-0.6.4.tar.gz) = 761f81331fa5d2b3366eeb96716b270c35490501e30659db8bc5940ae50ccc5996773f0b339ece31779e57ccf1755e547f83d6a31b40f156e6e60b6269ae9feb +SHA512 (libfreenect-0.7.0.tar.gz) = ed5dc4e6493afd3ff26e122c36cc7c9e366bd3e243db4b27552b1d07d0a3dc1330ab41f27114c1d9ff2a311113f5eff8a513504567b8322cb85ea29b19f773c4 From 1fb2d065b1bcc7a262f5dc7e308df4a5e115d8d6 Mon Sep 17 00:00:00 2001 From: Phil Wyett Date: Tue, 23 May 2023 10:34:50 +0100 Subject: [PATCH 081/106] Convert license tags to SPDX. --- libfreenect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 6650658..9ef1ed1 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -6,7 +6,7 @@ Release: 1%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as ASL 2.0 OR GPLv2 # OpenNI driver is available as ASL 2.0 -License: ASL 2.0 and (GPLv2 or ASL 2.0) +License: Apache-2.0 AND (GPL-2.0-only OR Apache-2.0) URL: http://www.openkinect.org/ Source0: https://github.com/OpenKinect/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz From ec86d1cb9fcf0f1eb7e7bde8fa2dc5a853bc01e9 Mon Sep 17 00:00:00 2001 From: Phil Wyett Date: Tue, 23 May 2023 10:36:05 +0100 Subject: [PATCH 082/106] Update license comments. --- libfreenect.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 9ef1ed1..350a2b7 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -4,8 +4,9 @@ Name: libfreenect Version: 0.7.0 Release: 1%{?dist} Summary: Device driver for the Kinect -# Core libfreenect is available as ASL 2.0 OR GPLv2 -# OpenNI driver is available as ASL 2.0 +# Core libfreenect is available as Apache-2.0 OR GPL-2.0-only +# +# OpenNI driver is available as Apache-2.0 License: Apache-2.0 AND (GPL-2.0-only OR Apache-2.0) URL: http://www.openkinect.org/ From bc489b16d6f7fd28666158fc4cc8b6c0a5b2abf5 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sat, 17 Jun 2023 07:19:27 +0200 Subject: [PATCH 083/106] Rebuilt for Python 3.12 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 350a2b7..f799885 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -180,6 +180,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From c24c1822bd0c6c2f8fcaf361985d24b7a101e6da Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Thu, 13 Jul 2023 22:00:22 -0400 Subject: [PATCH 084/106] Updates for Python 3.12 compatibility Resolves: rhbz#2220025 --- libfreenect-0.6.2-py3.patch | 46 ---------------------------- libfreenect-0.7.0-py3.patch | 61 +++++++++++++++++++++++++++++++++++++ libfreenect.spec | 6 +++- 3 files changed, 66 insertions(+), 47 deletions(-) delete mode 100644 libfreenect-0.6.2-py3.patch create mode 100644 libfreenect-0.7.0-py3.patch diff --git a/libfreenect-0.6.2-py3.patch b/libfreenect-0.6.2-py3.patch deleted file mode 100644 index 11ea5f5..0000000 --- a/libfreenect-0.6.2-py3.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -up libfreenect-0.6.2/src/fwfetcher.py.py3 libfreenect-0.6.2/src/fwfetcher.py ---- libfreenect-0.6.2/src/fwfetcher.py.py3 2021-02-12 00:51:27.000000000 +0100 -+++ libfreenect-0.6.2/src/fwfetcher.py 2021-03-04 14:35:02.568905434 +0100 -@@ -1,5 +1,3 @@ --#!/usr/bin/env python2 -- - from __future__ import absolute_import, division, print_function - - import hashlib -@@ -10,10 +8,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.6.2/wrappers/python/CMakeLists.txt.py3 libfreenect-0.6.2/wrappers/python/CMakeLists.txt ---- libfreenect-0.6.2/wrappers/python/CMakeLists.txt.py3 2021-02-12 00:51:27.000000000 +0100 -+++ libfreenect-0.6.2/wrappers/python/CMakeLists.txt 2021-03-04 14:32:52.382237690 +0100 -@@ -21,7 +21,7 @@ find_program(CYTHON_EXECUTABLE cython) - # 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}'))" -+ -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))" - OUTPUT_VARIABLE Python${Python_BUILD_VERSION}_SITELIB OUTPUT_STRIP_TRAILING_WHITESPACE) - - # Figure out numpy include path -@@ -56,7 +56,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 --git a/libfreenect-0.7.0-py3.patch b/libfreenect-0.7.0-py3.patch new file mode 100644 index 0000000..104ef06 --- /dev/null +++ b/libfreenect-0.7.0-py3.patch @@ -0,0 +1,61 @@ +diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py +--- ./src/fwfetcher.py.py3 2023-04-03 17:59:43.000000000 -0400 ++++ ./src/fwfetcher.py 2023-07-13 21:54:27.641914564 -0400 +@@ -1,5 +1,3 @@ +-#!/usr/bin/env python2 +- + from __future__ import absolute_import, division, print_function + + import hashlib +@@ -10,10 +8,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 ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt +--- ./wrappers/python/CMakeLists.txt.py3 2023-04-03 17:59:43.000000000 -0400 ++++ ./wrappers/python/CMakeLists.txt 2023-07-13 21:56:32.387653639 -0400 +@@ -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 +@@ -56,7 +53,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 ./wrappers/python/setup.py.py3 ./wrappers/python/setup.py +--- ./wrappers/python/setup.py.py3 2023-07-13 21:56:42.085711096 -0400 ++++ ./wrappers/python/setup.py 2023-07-13 21:56:56.680797569 -0400 +@@ -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.spec b/libfreenect.spec index f799885..597790e 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -20,7 +20,7 @@ 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.6.2-py3.patch +Patch5: %{name}-0.7.0-py3.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -180,6 +180,10 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 68d7a67de34e0fea81c933a394b45cb6a64703c3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 10:53:21 +0000 Subject: [PATCH 085/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 597790e..1164970 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -180,6 +180,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 8d93c5893ea6e1f8e1b9f9c01df893a2468af5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Mon, 7 Aug 2023 03:58:22 +0100 Subject: [PATCH 086/106] Rebuild for opencv 4.8.0 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 1164970..4b41b48 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -180,6 +180,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 1ef45bc200d380be0c8ebe1e3f0d1a4cf1eaaa1b Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Mon, 7 Aug 2023 20:58:31 -0400 Subject: [PATCH 087/106] Fix build error with cython 3 --- libfreenect-0.7.0-cython3.patch | 21 +++++++++++++++++++++ libfreenect.spec | 6 ++++++ 2 files changed, 27 insertions(+) create mode 100644 libfreenect-0.7.0-cython3.patch diff --git a/libfreenect-0.7.0-cython3.patch b/libfreenect-0.7.0-cython3.patch new file mode 100644 index 0000000..99bdb67 --- /dev/null +++ b/libfreenect-0.7.0-cython3.patch @@ -0,0 +1,21 @@ +diff -up ./wrappers/python/freenect.pyx.cython3 ./wrappers/python/freenect.pyx +--- ./wrappers/python/freenect.pyx.cython3 2023-08-07 20:46:10.771514185 -0400 ++++ ./wrappers/python/freenect.pyx 2023-08-07 20:54:34.791037845 -0400 +@@ -322,7 +322,7 @@ cpdef open_device(CtxPtr ctx, int index) + + _depth_cb, _video_cb = None, None + +-cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: ++cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: + cdef freenect_frame_mode mode = freenect_get_current_depth_mode(dev) + if not mode.is_valid: + return +@@ -333,7 +333,7 @@ cdef void depth_cb(freenect_device *dev, + pydata = _depth_cb_np(data, &mode) + _depth_cb(dev_out, pydata, timestamp) + +-cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: ++cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: + cdef freenect_frame_mode mode = freenect_get_current_video_mode(dev) + if not mode.is_valid: + return diff --git a/libfreenect.spec b/libfreenect.spec index 4b41b48..cbd0205 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -21,6 +21,8 @@ Patch3: %{name}-0.4.2-libdir.patch Patch4: secarch.patch # Fix the installation path for python libs Patch5: %{name}-0.7.0-py3.patch +# Fix for cython3 +Patch6: %{name}-0.7.0-cython3.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -102,6 +104,7 @@ rm -rf platform/windows %patch -P 3 -p0 -b .libdir %patch -P 4 -p1 -b .secarch %patch -P 5 -p1 -b .py3 +%patch -P 6 -p1 -b .cython3 %build %cmake3 \ @@ -180,6 +183,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From f55eb6d5623f6c1b2c424fa775d84e011e5e490f Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 4 Jan 2024 12:09:13 +0100 Subject: [PATCH 088/106] Fix C compatibility issue in Cython wrapper Related to: --- libfreenect-c99.patch | 31 +++++++++++++++++++++++++++++++ libfreenect.spec | 7 ++++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 libfreenect-c99.patch diff --git a/libfreenect-c99.patch b/libfreenect-c99.patch new file mode 100644 index 0000000..ca11ee5 --- /dev/null +++ b/libfreenect-c99.patch @@ -0,0 +1,31 @@ + Use the recommended way to integrate Cython and NumPy + +This follows the example code in +. + +The previous version results in an int-conversion error with current +compilers. + +Submitted upstream: + +diff --git a/wrappers/python/freenect.pyx b/wrappers/python/freenect.pyx +index 5bda18b42e8243e5..f69483d4b9592daa 100644 +--- a/wrappers/python/freenect.pyx ++++ b/wrappers/python/freenect.pyx +@@ -27,7 +27,6 @@ import numpy as np + cimport numpy as npc + + cdef extern from "numpy/arrayobject.h": +- void import_array() + cdef object PyArray_SimpleNewFromData(int nd, npc.npy_intp *dims, + int typenum, void *data) + +@@ -455,7 +454,7 @@ def base_runloop(CtxPtr ctx, body=None): + except Kill: + pass + +-import_array() ++npc.import_array() + + cdef object _depth_cb_np(void *data, freenect_frame_mode *mode): + cdef npc.npy_intp dims[2] diff --git a/libfreenect.spec b/libfreenect.spec index cbd0205..9127f6a 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -23,6 +23,7 @@ Patch4: secarch.patch Patch5: %{name}-0.7.0-py3.patch # Fix for cython3 Patch6: %{name}-0.7.0-cython3.patch +Patch7: libfreenect-c99.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -105,6 +106,7 @@ rm -rf platform/windows %patch -P 4 -p1 -b .secarch %patch -P 5 -p1 -b .py3 %patch -P 6 -p1 -b .cython3 +%patch -P 7 -p1 %build %cmake3 \ @@ -183,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 2ed534fa00e3e81607fc7ffdfee41ab25d52df4a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 04:06:57 +0000 Subject: [PATCH 089/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 9127f6a..289c3f6 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 0584e9ef1367560f08984d30ca91c88fbdfa5a4f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 02:11:52 +0000 Subject: [PATCH 090/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 289c3f6..0e0cdca 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 40010c080a50c44ad68b61cfa9f1749aeae42c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Mon, 5 Feb 2024 22:40:27 +0000 Subject: [PATCH 091/106] Rebuild for opencv 4.9.0 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 0e0cdca..3e082cf 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From d4f1291e35a5155cc896f07f9110b5fac53e6aab Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sun, 9 Jun 2024 12:52:47 +0200 Subject: [PATCH 092/106] Rebuilt for Python 3.13 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 3e082cf..424ade3 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 1dd8ebc2f8e3c62ec967a344f0625ecd9db8a2aa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 13:53:22 +0000 Subject: [PATCH 093/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 424ade3..c10b7d5 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From f12a983f141f90fb7c18853d8a5a81b85a538e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Thu, 25 Jul 2024 23:43:23 +0100 Subject: [PATCH 094/106] Rebuild for opencv 4.10.0 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index c10b7d5..3416386 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 80f39ba0f4e773b3f9d501d03fee3d4e1c0ed670 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 24 Dec 2024 13:37:23 -0700 Subject: [PATCH 095/106] Rebuild with numpy 2.x (rhbz#2333776) --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 3416386..137290f 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 2c0e95bf9e4ed26195e88dc6227e2c6a002e4027 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 11:15:43 +0000 Subject: [PATCH 096/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 137290f..fffefb8 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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) From 6475407250a6f067d917b8745c6ab79046f7ec96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Tue, 4 Feb 2025 02:44:23 +0000 Subject: [PATCH 097/106] Rebuild for opencv-4.11.0 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index fffefb8..672f3f4 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 82cdb292a320048c6a4847787b75ac6243c6d22e Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 4 Jun 2025 08:17:06 +0200 Subject: [PATCH 098/106] Rebuilt for Python 3.14 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 672f3f4..0e3255e 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From dcf7f68d156e58b37111c2ca4f3e0abe20a5dc9b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 19:40:11 +0000 Subject: [PATCH 099/106] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index 0e3255e..781828b 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -2,7 +2,7 @@ Name: libfreenect Version: 0.7.0 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Device driver for the Kinect # Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # @@ -185,6 +185,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 44bf89d545d2133ba11d391945cc0fd2b673833d Mon Sep 17 00:00:00 2001 From: Orphaned Packages Process Date: Sun, 28 Sep 2025 15:46:48 -0500 Subject: [PATCH 100/106] Orphaned for 6+ weeks --- .gitignore | 1 - ...bfreenect_cv-and-cvdemo-as-C-sources.patch | 66 --- ...-bugs-in-sync-library-error-handling.patch | 51 -- dead.package | 1 + freenect_generate_tarball.sh | 11 - libfreenect-0.4.2-libdir.patch | 12 - libfreenect-0.5.2-cmake30.patch | 43 -- libfreenect-0.5.3-cpp11.patch | 43 -- libfreenect-0.5.3-noabort.patch | 18 - libfreenect-0.5.7-videogroup.patch | 21 - libfreenect-0.7.0-cython3.patch | 21 - libfreenect-0.7.0-py3.patch | 61 --- libfreenect-c99.patch | 31 -- libfreenect-openni2.patch | 12 - libfreenect.spec | 466 ------------------ secarch.patch | 114 ----- sources | 1 - 17 files changed, 1 insertion(+), 972 deletions(-) delete mode 100644 .gitignore delete mode 100644 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch delete mode 100644 0002-Fix-bugs-in-sync-library-error-handling.patch create mode 100644 dead.package delete mode 100755 freenect_generate_tarball.sh delete mode 100644 libfreenect-0.4.2-libdir.patch delete mode 100644 libfreenect-0.5.2-cmake30.patch delete mode 100644 libfreenect-0.5.3-cpp11.patch delete mode 100644 libfreenect-0.5.3-noabort.patch delete mode 100644 libfreenect-0.5.7-videogroup.patch delete mode 100644 libfreenect-0.7.0-cython3.patch delete mode 100644 libfreenect-0.7.0-py3.patch delete mode 100644 libfreenect-c99.patch delete mode 100644 libfreenect-openni2.patch delete mode 100644 libfreenect.spec delete mode 100644 secarch.patch delete mode 100644 sources diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3257e85..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -libfreenect-*.tar.* diff --git a/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch b/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch deleted file mode 100644 index 73e9583..0000000 --- a/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 9e98a0b11fddeabab6ef5e0915b96c950597e53e Mon Sep 17 00:00:00 2001 -From: Rich Mattes -Date: Sat, 26 May 2018 16:11:11 -0400 -Subject: [PATCH 1/2] Build libfreenect_cv and cvdemo as C++ sources - -Signed-off-by: Rich Mattes ---- - wrappers/opencv/CMakeLists.txt | 4 ++-- - wrappers/opencv/{cvdemo.c => cvdemo.cpp} | 0 - wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} | 0 - wrappers/opencv/libfreenect_cv.h | 4 ++-- - 4 files changed, 4 insertions(+), 4 deletions(-) - rename wrappers/opencv/{cvdemo.c => cvdemo.cpp} (100%) - rename wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} (100%) - -diff --git a/wrappers/opencv/CMakeLists.txt b/wrappers/opencv/CMakeLists.txt -index 0239075..bc5df19 100644 ---- a/wrappers/opencv/CMakeLists.txt -+++ b/wrappers/opencv/CMakeLists.txt -@@ -2,7 +2,7 @@ - # OpenCV Interface - ###################################################################################### - find_package(OpenCV REQUIRED) --add_library (freenect_cv SHARED libfreenect_cv.c) -+add_library (freenect_cv SHARED libfreenect_cv.cpp) - set_target_properties (freenect_cv PROPERTIES - VERSION ${PROJECT_VER} - SOVERSION ${PROJECT_APIVER}) -@@ -16,7 +16,7 @@ install (TARGETS freenect_cv - install (FILES "libfreenect_cv.h" - DESTINATION ${PROJECT_INCLUDE_INSTALL_DIR}) - --add_executable(freenect-cvdemo cvdemo.c) -+add_executable(freenect-cvdemo cvdemo.cpp) - target_link_libraries(freenect-cvdemo freenect freenect_sync freenect_cv ${OpenCV_LIBS}) - install (TARGETS freenect-cvdemo - DESTINATION bin) -diff --git a/wrappers/opencv/cvdemo.c b/wrappers/opencv/cvdemo.cpp -similarity index 100% -rename from wrappers/opencv/cvdemo.c -rename to wrappers/opencv/cvdemo.cpp -diff --git a/wrappers/opencv/libfreenect_cv.c b/wrappers/opencv/libfreenect_cv.cpp -similarity index 100% -rename from wrappers/opencv/libfreenect_cv.c -rename to wrappers/opencv/libfreenect_cv.cpp -diff --git a/wrappers/opencv/libfreenect_cv.h b/wrappers/opencv/libfreenect_cv.h -index b73b60c..55e3582 100644 ---- a/wrappers/opencv/libfreenect_cv.h -+++ b/wrappers/opencv/libfreenect_cv.h -@@ -1,11 +1,11 @@ - #pragma once - -+#include -+ - #ifdef __cplusplus - extern "C" { - #endif - --#include -- - IplImage *freenect_sync_get_depth_cv(int index); - IplImage *freenect_sync_get_rgb_cv(int index); - --- -2.17.0 - diff --git a/0002-Fix-bugs-in-sync-library-error-handling.patch b/0002-Fix-bugs-in-sync-library-error-handling.patch deleted file mode 100644 index f437b6b..0000000 --- a/0002-Fix-bugs-in-sync-library-error-handling.patch +++ /dev/null @@ -1,51 +0,0 @@ -From db0e1825ff93133f3ca5735524d78279ede824db Mon Sep 17 00:00:00 2001 -From: Rich Mattes -Date: Sat, 26 May 2018 16:14:01 -0400 -Subject: [PATCH 2/2] Fix bugs in sync library error handling - -fnusb_open_subdevices checked for camera==NULL or res < 0 before -jumping to the failure case. If camera was NULL but res was not -0, the function would return 0 indicating success. This occurs -when a kinect is not plugged into the PC. Forcing res to be -negative when the camera == NULL case allows the failure to open -a device to propagate through an application. - -alloc_kinect in freenect_sync has a check for if freenect_open_device -fails, but the logic is incorrect. freenect_open_device returns 0 on -success and < 0 on error, so adding a check to see if the return is -< 0 corrects detection of the failure case. - -Signed-off-by: Rich Mattes ---- - src/usb_libusb10.c | 1 + - wrappers/c_sync/libfreenect_sync.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/usb_libusb10.c b/src/usb_libusb10.c -index 11de86a..614aeee 100644 ---- a/src/usb_libusb10.c -+++ b/src/usb_libusb10.c -@@ -465,6 +465,7 @@ FN_INTERNAL int fnusb_open_subdevices(freenect_device *dev, int index) - } - - if (res < 0 || camera == NULL) { -+ res = -1; - goto failure; - } - -diff --git a/wrappers/c_sync/libfreenect_sync.c b/wrappers/c_sync/libfreenect_sync.c -index 1b2e049..26a2261 100644 ---- a/wrappers/c_sync/libfreenect_sync.c -+++ b/wrappers/c_sync/libfreenect_sync.c -@@ -249,7 +249,7 @@ static int change_depth_format(sync_kinect_t *kinect, freenect_resolution res, f - static sync_kinect_t *alloc_kinect(int index) - { - sync_kinect_t *kinect = (sync_kinect_t*)malloc(sizeof(sync_kinect_t)); -- if (freenect_open_device(ctx, &kinect->dev, index)) { -+ if (freenect_open_device(ctx, &kinect->dev, index) < 0) { - free(kinect); - return NULL; - } --- -2.17.0 - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5204a84 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Orphaned for 6+ weeks diff --git a/freenect_generate_tarball.sh b/freenect_generate_tarball.sh deleted file mode 100755 index 0dad130..0000000 --- a/freenect_generate_tarball.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - - -git clone git://github.com/OpenKinect/libfreenect -pushd libfreenect -git checkout $1 -sh mkcontrib.sh -find ./ -name ".git*" -exec rm -rf {} ';' -rm -rf platform/windows platform/osx -popd -tar cjf libfreenect-$1.tar.bz2 libfreenect 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.2-cmake30.patch b/libfreenect-0.5.2-cmake30.patch deleted file mode 100644 index fa4f9ed..0000000 --- a/libfreenect-0.5.2-cmake30.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up ./wrappers/python/CMakeLists.txt.cmake30 ./wrappers/python/CMakeLists.txt ---- ./wrappers/python/CMakeLists.txt.cmake30 2015-01-26 22:01:37.000000000 -0500 -+++ ./wrappers/python/CMakeLists.txt 2016-02-21 11:19:40.995391145 -0500 -@@ -2,19 +2,18 @@ - # Python extension builder - ###################################################################################### - --include(FindPythonInterp) --include(FindPythonLibs) -- -+include(FindPkgConfig) -+pkg_check_modules(PYTHON python2) - find_program(CYTHON_EXECUTABLE cython) - - # Figure out installation path - execute_process(COMMAND -- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" -+ ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(1))" - OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) - - # Figure out numpy include path - execute_process(COMMAND -- ${PYTHON_EXECUTABLE} -c "import numpy; print numpy.get_include()" -+ ${PYTHON_EXECUTABLE} -c "import numpy; print (numpy.get_include())" - OUTPUT_VARIABLE NUMPY_INCLUDE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) - - # How to Cython the .pyx file -@@ -29,11 +28,13 @@ set_target_properties(cython_freenect PR - OUTPUT_NAME "freenect" - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - target_link_libraries(cython_freenect freenect_sync ${PYTHON_LIBRARIES}) --include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/ ${NUMPY_INCLUDE_PATH}) -+include_directories(${PYTHON_INCLUDE_DIRS} ../c_sync/ ${NUMPY_INCLUDE_PATH}) - - # Install the extension - install(TARGETS cython_freenect -- DESTINATION ${PYTHON_SITE_PACKAGES}) -+ ARCHIVE DESTINATION ${PYTHON_SITE_PACKAGES} -+ LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES} -+ COMPONENT library) - - # TODO: decide on what to do with demo_ scripts and were to install - # them diff --git a/libfreenect-0.5.3-cpp11.patch b/libfreenect-0.5.3-cpp11.patch deleted file mode 100644 index b20069b..0000000 --- a/libfreenect-0.5.3-cpp11.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/ColorStream.hpp ---- ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 2016-02-21 12:18:01.412029788 -0500 -+++ ./OpenNI2-FreenectDriver/src/ColorStream.hpp 2016-02-21 12:18:21.272807345 -0500 -@@ -13,9 +13,9 @@ namespace FreenectDriver - { - public: - // from NUI library & converted to radians -- static const float DIAGONAL_FOV = 73.9 * (M_PI / 180); -- static const float HORIZONTAL_FOV = 62 * (M_PI / 180); -- static const float VERTICAL_FOV = 48.6 * (M_PI / 180); -+ static constexpr float DIAGONAL_FOV = 73.9 * (M_PI / 180); -+ static constexpr float HORIZONTAL_FOV = 62 * (M_PI / 180); -+ static constexpr float VERTICAL_FOV = 48.6 * (M_PI / 180); - - private: - typedef std::map< OniVideoMode, std::pair > FreenectVideoModeMap; -diff -up ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/DepthStream.hpp ---- ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 2016-02-21 12:22:59.048682374 -0500 -+++ ./OpenNI2-FreenectDriver/src/DepthStream.hpp 2016-02-21 12:23:27.387791861 -0500 -@@ -17,9 +17,9 @@ namespace FreenectDriver - { - public: - // from NUI library and converted to radians -- static const float DIAGONAL_FOV = 70 * (M_PI / 180); -- static const float HORIZONTAL_FOV = 58.5 * (M_PI / 180); -- static const float VERTICAL_FOV = 45.6 * (M_PI / 180); -+ static constexpr float DIAGONAL_FOV = 70 * (M_PI / 180); -+ static constexpr float HORIZONTAL_FOV = 58.5 * (M_PI / 180); -+ static constexpr float VERTICAL_FOV = 45.6 * (M_PI / 180); - // from DepthKinectStream.cpp - static const int MAX_VALUE = 10000; - static const unsigned long long GAIN_VAL = 42; -@@ -28,8 +28,8 @@ namespace FreenectDriver - static const unsigned long long PARAM_COEFF_VAL = 4; - static const unsigned long long SHIFT_SCALE_VAL = 10; - static const unsigned long long ZERO_PLANE_DISTANCE_VAL = 120; -- static const double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; -- static const double EMITTER_DCMOS_DISTANCE_VAL = 7.5; -+ static constexpr double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; -+ static constexpr double EMITTER_DCMOS_DISTANCE_VAL = 7.5; - - private: - typedef std::map< OniVideoMode, std::pair > FreenectDepthModeMap; diff --git a/libfreenect-0.5.3-noabort.patch b/libfreenect-0.5.3-noabort.patch deleted file mode 100644 index 67e0eba..0000000 --- a/libfreenect-0.5.3-noabort.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up ./wrappers/cpp/cppview.cpp.noabort ./wrappers/cpp/cppview.cpp ---- ./wrappers/cpp/cppview.cpp.noabort 2016-02-21 11:03:00.653334752 -0500 -+++ ./wrappers/cpp/cppview.cpp 2016-02-21 11:04:51.022655752 -0500 -@@ -348,7 +348,13 @@ void *gl_threadfunc(void *arg) - } - - int main(int argc, char **argv) { -- device = &freenect.createDevice(0); -+ try { -+ device = &freenect.createDevice(0); -+ } -+ catch (std::exception &e) { -+ std::cerr << std::endl << "Exception starting Freenect device : " << e.what() << std::endl; -+ exit(1); -+ } - device->startVideo(); - device->startDepth(); - gl_threadfunc(NULL); 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.0-cython3.patch b/libfreenect-0.7.0-cython3.patch deleted file mode 100644 index 99bdb67..0000000 --- a/libfreenect-0.7.0-cython3.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up ./wrappers/python/freenect.pyx.cython3 ./wrappers/python/freenect.pyx ---- ./wrappers/python/freenect.pyx.cython3 2023-08-07 20:46:10.771514185 -0400 -+++ ./wrappers/python/freenect.pyx 2023-08-07 20:54:34.791037845 -0400 -@@ -322,7 +322,7 @@ cpdef open_device(CtxPtr ctx, int index) - - _depth_cb, _video_cb = None, None - --cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: -+cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: - cdef freenect_frame_mode mode = freenect_get_current_depth_mode(dev) - if not mode.is_valid: - return -@@ -333,7 +333,7 @@ cdef void depth_cb(freenect_device *dev, - pydata = _depth_cb_np(data, &mode) - _depth_cb(dev_out, pydata, timestamp) - --cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: -+cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: - cdef freenect_frame_mode mode = freenect_get_current_video_mode(dev) - if not mode.is_valid: - return diff --git a/libfreenect-0.7.0-py3.patch b/libfreenect-0.7.0-py3.patch deleted file mode 100644 index 104ef06..0000000 --- a/libfreenect-0.7.0-py3.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py ---- ./src/fwfetcher.py.py3 2023-04-03 17:59:43.000000000 -0400 -+++ ./src/fwfetcher.py 2023-07-13 21:54:27.641914564 -0400 -@@ -1,5 +1,3 @@ --#!/usr/bin/env python2 -- - from __future__ import absolute_import, division, print_function - - import hashlib -@@ -10,10 +8,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 ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt ---- ./wrappers/python/CMakeLists.txt.py3 2023-04-03 17:59:43.000000000 -0400 -+++ ./wrappers/python/CMakeLists.txt 2023-07-13 21:56:32.387653639 -0400 -@@ -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 -@@ -56,7 +53,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 ./wrappers/python/setup.py.py3 ./wrappers/python/setup.py ---- ./wrappers/python/setup.py.py3 2023-07-13 21:56:42.085711096 -0400 -+++ ./wrappers/python/setup.py 2023-07-13 21:56:56.680797569 -0400 -@@ -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-c99.patch b/libfreenect-c99.patch deleted file mode 100644 index ca11ee5..0000000 --- a/libfreenect-c99.patch +++ /dev/null @@ -1,31 +0,0 @@ - Use the recommended way to integrate Cython and NumPy - -This follows the example code in -. - -The previous version results in an int-conversion error with current -compilers. - -Submitted upstream: - -diff --git a/wrappers/python/freenect.pyx b/wrappers/python/freenect.pyx -index 5bda18b42e8243e5..f69483d4b9592daa 100644 ---- a/wrappers/python/freenect.pyx -+++ b/wrappers/python/freenect.pyx -@@ -27,7 +27,6 @@ import numpy as np - cimport numpy as npc - - cdef extern from "numpy/arrayobject.h": -- void import_array() - cdef object PyArray_SimpleNewFromData(int nd, npc.npy_intp *dims, - int typenum, void *data) - -@@ -455,7 +454,7 @@ def base_runloop(CtxPtr ctx, body=None): - except Kill: - pass - --import_array() -+npc.import_array() - - cdef object _depth_cb_np(void *data, freenect_frame_mode *mode): - cdef npc.npy_intp dims[2] 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 deleted file mode 100644 index 781828b..0000000 --- a/libfreenect.spec +++ /dev/null @@ -1,466 +0,0 @@ -%global __provides_exclude %{python3_sitearch}/.*\.so$ - -Name: libfreenect -Version: 0.7.0 -Release: 16%{?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 -License: Apache-2.0 AND (GPL-2.0-only OR Apache-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.0-py3.patch -# Fix for cython3 -Patch6: %{name}-0.7.0-cython3.patch -Patch7: libfreenect-c99.patch - -BuildRequires: gcc-c++ -BuildRequires: cmake3 -BuildRequires: doxygen -BuildRequires: freeglut-devel -BuildRequires: libusb1-devel -BuildRequires: libGL-devel -BuildRequires: libXi-devel -BuildRequires: libXmu-devel -BuildRequires: opencv-devel -BuildRequires: python3-Cython -BuildRequires: python3-devel -BuildRequires: python3-numpy - -Requires: udev - -%description -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} - -%description devel -The %{name}-devel package contains libraries and header files for -developing applications that use %{name}. - -%package static -Summary: Development files for %{name} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} - -%description static -The %{name}-static package contains static libraries for -developing applications that use %{name}. - -%package fakenect -Summary: Library to play back recorded data for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description fakenect -Fakenect consists of a "record" program to save dumps from the kinect sensor -and a library that can be linked to, providing an interface compatible with -freenect. This allows you to save data and repeat for experiments, debug -problems, share datasets, and experiment with the kinect without having one. - -%package opencv -Summary: OpenCV bindings for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description opencv -The %{name}-opencv package contains the libfreenect binding -library for OpenCV development. - -%package -n python3-%{name} -Summary: Python 3 bindings for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python3-numpy -%{?python_provide:%python_provide python3-%{name}} - -%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. - -%prep -%setup -qn %{name}-%{version} -rm -rf 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 .cython3 -%patch -P 7 -p1 - -%build -%cmake3 \ - -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 - -%cmake3_build - -pushd doc -doxygen Doxyfile -popd - -%install -%cmake3_install - -# Install the kinect udev rule -mkdir -p %{buildroot}/lib/udev/rules.d -mkdir -p %{buildroot}%{_libdir}/openni2 -install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d - -# Delete libtool archives -find %{buildroot} -name '*.la' -exec rm -f {} ';' - -# Move the fwfetcher script to the correct datadir -mkdir -p %{buildroot}%{_datadir}/%{name} -mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} - -# Move openni plugin: rhbz#1094787 -mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers - -%files -%license APACHE20 GPL2 -%doc README.md CONTRIB -/lib/udev/rules.d/* -%{_libdir}/libfreenect.so.0* -%{_libdir}/libfreenect_sync.so.0* -%exclude %{_bindir}/freenect-cvdemo -%exclude %{_bindir}/fakenect -%{_bindir}/freenect-* -%{_datadir}/%{name} - -%files opencv -%{_bindir}/freenect-cvdemo -%{_libdir}/libfreenect_cv.so.* - -%files devel -%doc doc/html -%doc examples/*.c wrappers/cpp/cppview.cpp -%{_includedir}/libfreenect -%{_libdir}/*.so -%{_libdir}/pkgconfig/* -%{_libdir}/fakenect/*.so - -%files static -%{_libdir}/*.a - -%files -n python3-%{name} -%{python3_sitearch}/*.so - -%files fakenect -%dir %{_libdir}/fakenect -%{_bindir}/fakenect-record -%{_libdir}/fakenect/*.so.* -%{_bindir}/fakenect -%{_mandir}/man1/fakenect*1.* - -%files openni -%{_libdir}/openni2 - -%changelog -* 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 - -* Wed Jan 09 2013 Dan Horák - 0.1.2-4 -- fixes for secondary arches - -* Sat Nov 10 2012 Rich Mattes - 0.1.2-3 -- Rebuild for new OpenCV - -* Wed Aug 15 2012 Rich Mattes - 0.1.2-2 -- Filtered private python lib provides -- Clarified that freenect_generate_tarball.sh works with a git tag - -* Thu Apr 26 2012 Rich Mattes - 0.1.2-1 -- Update to git tag 0.1.2 -- Create OpenCV wrapper sub-package -- Create fakenect library sub-package - -* Thu 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 -- Update to latest snapshot - -* Mon Jan 31 2011 Rich Mattes - 0-0.1.687b2da5git -- Initial package - diff --git a/secarch.patch b/secarch.patch deleted file mode 100644 index 0c7308f..0000000 --- a/secarch.patch +++ /dev/null @@ -1,114 +0,0 @@ -diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h ---- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 1970-01-01 01:00:00.000000000 +0100 -+++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 2014-09-18 11:54:01.405363509 +0200 -@@ -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_ -+ -diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h ---- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 1970-01-01 01:00:00.000000000 +0100 -+++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 2014-09-18 11:55:06.169556389 +0200 -@@ -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_ -+ -diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h ---- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:51:35.428923550 +0200 -+++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:52:50.242149667 +0200 -@@ -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,10 @@ - # 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__ && (__s390__ || __s390x__ )) -+# include "Linux-s390/OniPlatformLinux-s390.h" - #elif _ARC - # include "ARC/OniPlaformARC.h" - #elif (__APPLE__) diff --git a/sources b/sources deleted file mode 100644 index 4b8b72a..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (libfreenect-0.7.0.tar.gz) = ed5dc4e6493afd3ff26e122c36cc7c9e366bd3e243db4b27552b1d07d0a3dc1330ab41f27114c1d9ff2a311113f5eff8a513504567b8322cb85ea29b19f773c4 From 126791156cadfe84c52029588c382193445ee3fb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 11 Nov 2025 16:24:00 +0000 Subject: [PATCH 101/106] Unretirement request: libfreenect on rawhide, f43, f42 Releng issue: https://pagure.io/releng/issue/13075 This reverts commit 44bf89d545d2133ba11d391945cc0fd2b673833d. Signed-off-by: Fedora Release Engineering --- .gitignore | 1 + ...bfreenect_cv-and-cvdemo-as-C-sources.patch | 66 +++ ...-bugs-in-sync-library-error-handling.patch | 51 ++ dead.package | 1 - freenect_generate_tarball.sh | 11 + libfreenect-0.4.2-libdir.patch | 12 + libfreenect-0.5.2-cmake30.patch | 43 ++ libfreenect-0.5.3-cpp11.patch | 43 ++ libfreenect-0.5.3-noabort.patch | 18 + libfreenect-0.5.7-videogroup.patch | 21 + libfreenect-0.7.0-cython3.patch | 21 + libfreenect-0.7.0-py3.patch | 61 +++ libfreenect-c99.patch | 31 ++ libfreenect-openni2.patch | 12 + libfreenect.spec | 466 ++++++++++++++++++ secarch.patch | 114 +++++ sources | 1 + 17 files changed, 972 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch create mode 100644 0002-Fix-bugs-in-sync-library-error-handling.patch delete mode 100644 dead.package create mode 100755 freenect_generate_tarball.sh create mode 100644 libfreenect-0.4.2-libdir.patch create mode 100644 libfreenect-0.5.2-cmake30.patch create mode 100644 libfreenect-0.5.3-cpp11.patch create mode 100644 libfreenect-0.5.3-noabort.patch create mode 100644 libfreenect-0.5.7-videogroup.patch create mode 100644 libfreenect-0.7.0-cython3.patch create mode 100644 libfreenect-0.7.0-py3.patch create mode 100644 libfreenect-c99.patch create mode 100644 libfreenect-openni2.patch create mode 100644 libfreenect.spec create mode 100644 secarch.patch create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3257e85 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +libfreenect-*.tar.* diff --git a/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch b/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch new file mode 100644 index 0000000..73e9583 --- /dev/null +++ b/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch @@ -0,0 +1,66 @@ +From 9e98a0b11fddeabab6ef5e0915b96c950597e53e Mon Sep 17 00:00:00 2001 +From: Rich Mattes +Date: Sat, 26 May 2018 16:11:11 -0400 +Subject: [PATCH 1/2] Build libfreenect_cv and cvdemo as C++ sources + +Signed-off-by: Rich Mattes +--- + wrappers/opencv/CMakeLists.txt | 4 ++-- + wrappers/opencv/{cvdemo.c => cvdemo.cpp} | 0 + wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} | 0 + wrappers/opencv/libfreenect_cv.h | 4 ++-- + 4 files changed, 4 insertions(+), 4 deletions(-) + rename wrappers/opencv/{cvdemo.c => cvdemo.cpp} (100%) + rename wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} (100%) + +diff --git a/wrappers/opencv/CMakeLists.txt b/wrappers/opencv/CMakeLists.txt +index 0239075..bc5df19 100644 +--- a/wrappers/opencv/CMakeLists.txt ++++ b/wrappers/opencv/CMakeLists.txt +@@ -2,7 +2,7 @@ + # OpenCV Interface + ###################################################################################### + find_package(OpenCV REQUIRED) +-add_library (freenect_cv SHARED libfreenect_cv.c) ++add_library (freenect_cv SHARED libfreenect_cv.cpp) + set_target_properties (freenect_cv PROPERTIES + VERSION ${PROJECT_VER} + SOVERSION ${PROJECT_APIVER}) +@@ -16,7 +16,7 @@ install (TARGETS freenect_cv + install (FILES "libfreenect_cv.h" + DESTINATION ${PROJECT_INCLUDE_INSTALL_DIR}) + +-add_executable(freenect-cvdemo cvdemo.c) ++add_executable(freenect-cvdemo cvdemo.cpp) + target_link_libraries(freenect-cvdemo freenect freenect_sync freenect_cv ${OpenCV_LIBS}) + install (TARGETS freenect-cvdemo + DESTINATION bin) +diff --git a/wrappers/opencv/cvdemo.c b/wrappers/opencv/cvdemo.cpp +similarity index 100% +rename from wrappers/opencv/cvdemo.c +rename to wrappers/opencv/cvdemo.cpp +diff --git a/wrappers/opencv/libfreenect_cv.c b/wrappers/opencv/libfreenect_cv.cpp +similarity index 100% +rename from wrappers/opencv/libfreenect_cv.c +rename to wrappers/opencv/libfreenect_cv.cpp +diff --git a/wrappers/opencv/libfreenect_cv.h b/wrappers/opencv/libfreenect_cv.h +index b73b60c..55e3582 100644 +--- a/wrappers/opencv/libfreenect_cv.h ++++ b/wrappers/opencv/libfreenect_cv.h +@@ -1,11 +1,11 @@ + #pragma once + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif + +-#include +- + IplImage *freenect_sync_get_depth_cv(int index); + IplImage *freenect_sync_get_rgb_cv(int index); + +-- +2.17.0 + diff --git a/0002-Fix-bugs-in-sync-library-error-handling.patch b/0002-Fix-bugs-in-sync-library-error-handling.patch new file mode 100644 index 0000000..f437b6b --- /dev/null +++ b/0002-Fix-bugs-in-sync-library-error-handling.patch @@ -0,0 +1,51 @@ +From db0e1825ff93133f3ca5735524d78279ede824db Mon Sep 17 00:00:00 2001 +From: Rich Mattes +Date: Sat, 26 May 2018 16:14:01 -0400 +Subject: [PATCH 2/2] Fix bugs in sync library error handling + +fnusb_open_subdevices checked for camera==NULL or res < 0 before +jumping to the failure case. If camera was NULL but res was not +0, the function would return 0 indicating success. This occurs +when a kinect is not plugged into the PC. Forcing res to be +negative when the camera == NULL case allows the failure to open +a device to propagate through an application. + +alloc_kinect in freenect_sync has a check for if freenect_open_device +fails, but the logic is incorrect. freenect_open_device returns 0 on +success and < 0 on error, so adding a check to see if the return is +< 0 corrects detection of the failure case. + +Signed-off-by: Rich Mattes +--- + src/usb_libusb10.c | 1 + + wrappers/c_sync/libfreenect_sync.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/usb_libusb10.c b/src/usb_libusb10.c +index 11de86a..614aeee 100644 +--- a/src/usb_libusb10.c ++++ b/src/usb_libusb10.c +@@ -465,6 +465,7 @@ FN_INTERNAL int fnusb_open_subdevices(freenect_device *dev, int index) + } + + if (res < 0 || camera == NULL) { ++ res = -1; + goto failure; + } + +diff --git a/wrappers/c_sync/libfreenect_sync.c b/wrappers/c_sync/libfreenect_sync.c +index 1b2e049..26a2261 100644 +--- a/wrappers/c_sync/libfreenect_sync.c ++++ b/wrappers/c_sync/libfreenect_sync.c +@@ -249,7 +249,7 @@ static int change_depth_format(sync_kinect_t *kinect, freenect_resolution res, f + static sync_kinect_t *alloc_kinect(int index) + { + sync_kinect_t *kinect = (sync_kinect_t*)malloc(sizeof(sync_kinect_t)); +- if (freenect_open_device(ctx, &kinect->dev, index)) { ++ if (freenect_open_device(ctx, &kinect->dev, index) < 0) { + free(kinect); + return NULL; + } +-- +2.17.0 + diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/freenect_generate_tarball.sh b/freenect_generate_tarball.sh new file mode 100755 index 0000000..0dad130 --- /dev/null +++ b/freenect_generate_tarball.sh @@ -0,0 +1,11 @@ +#!/bin/bash + + +git clone git://github.com/OpenKinect/libfreenect +pushd libfreenect +git checkout $1 +sh mkcontrib.sh +find ./ -name ".git*" -exec rm -rf {} ';' +rm -rf platform/windows platform/osx +popd +tar cjf libfreenect-$1.tar.bz2 libfreenect diff --git a/libfreenect-0.4.2-libdir.patch b/libfreenect-0.4.2-libdir.patch new file mode 100644 index 0000000..f1fbaa8 --- /dev/null +++ b/libfreenect-0.4.2-libdir.patch @@ -0,0 +1,12 @@ +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.2-cmake30.patch b/libfreenect-0.5.2-cmake30.patch new file mode 100644 index 0000000..fa4f9ed --- /dev/null +++ b/libfreenect-0.5.2-cmake30.patch @@ -0,0 +1,43 @@ +diff -up ./wrappers/python/CMakeLists.txt.cmake30 ./wrappers/python/CMakeLists.txt +--- ./wrappers/python/CMakeLists.txt.cmake30 2015-01-26 22:01:37.000000000 -0500 ++++ ./wrappers/python/CMakeLists.txt 2016-02-21 11:19:40.995391145 -0500 +@@ -2,19 +2,18 @@ + # Python extension builder + ###################################################################################### + +-include(FindPythonInterp) +-include(FindPythonLibs) +- ++include(FindPkgConfig) ++pkg_check_modules(PYTHON python2) + find_program(CYTHON_EXECUTABLE cython) + + # Figure out installation path + execute_process(COMMAND +- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" ++ ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(1))" + OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) + + # Figure out numpy include path + execute_process(COMMAND +- ${PYTHON_EXECUTABLE} -c "import numpy; print numpy.get_include()" ++ ${PYTHON_EXECUTABLE} -c "import numpy; print (numpy.get_include())" + OUTPUT_VARIABLE NUMPY_INCLUDE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) + + # How to Cython the .pyx file +@@ -29,11 +28,13 @@ set_target_properties(cython_freenect PR + OUTPUT_NAME "freenect" + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + target_link_libraries(cython_freenect freenect_sync ${PYTHON_LIBRARIES}) +-include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/ ${NUMPY_INCLUDE_PATH}) ++include_directories(${PYTHON_INCLUDE_DIRS} ../c_sync/ ${NUMPY_INCLUDE_PATH}) + + # Install the extension + install(TARGETS cython_freenect +- DESTINATION ${PYTHON_SITE_PACKAGES}) ++ ARCHIVE DESTINATION ${PYTHON_SITE_PACKAGES} ++ LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES} ++ COMPONENT library) + + # TODO: decide on what to do with demo_ scripts and were to install + # them diff --git a/libfreenect-0.5.3-cpp11.patch b/libfreenect-0.5.3-cpp11.patch new file mode 100644 index 0000000..b20069b --- /dev/null +++ b/libfreenect-0.5.3-cpp11.patch @@ -0,0 +1,43 @@ +diff -up ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/ColorStream.hpp +--- ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 2016-02-21 12:18:01.412029788 -0500 ++++ ./OpenNI2-FreenectDriver/src/ColorStream.hpp 2016-02-21 12:18:21.272807345 -0500 +@@ -13,9 +13,9 @@ namespace FreenectDriver + { + public: + // from NUI library & converted to radians +- static const float DIAGONAL_FOV = 73.9 * (M_PI / 180); +- static const float HORIZONTAL_FOV = 62 * (M_PI / 180); +- static const float VERTICAL_FOV = 48.6 * (M_PI / 180); ++ static constexpr float DIAGONAL_FOV = 73.9 * (M_PI / 180); ++ static constexpr float HORIZONTAL_FOV = 62 * (M_PI / 180); ++ static constexpr float VERTICAL_FOV = 48.6 * (M_PI / 180); + + private: + typedef std::map< OniVideoMode, std::pair > FreenectVideoModeMap; +diff -up ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/DepthStream.hpp +--- ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 2016-02-21 12:22:59.048682374 -0500 ++++ ./OpenNI2-FreenectDriver/src/DepthStream.hpp 2016-02-21 12:23:27.387791861 -0500 +@@ -17,9 +17,9 @@ namespace FreenectDriver + { + public: + // from NUI library and converted to radians +- static const float DIAGONAL_FOV = 70 * (M_PI / 180); +- static const float HORIZONTAL_FOV = 58.5 * (M_PI / 180); +- static const float VERTICAL_FOV = 45.6 * (M_PI / 180); ++ static constexpr float DIAGONAL_FOV = 70 * (M_PI / 180); ++ static constexpr float HORIZONTAL_FOV = 58.5 * (M_PI / 180); ++ static constexpr float VERTICAL_FOV = 45.6 * (M_PI / 180); + // from DepthKinectStream.cpp + static const int MAX_VALUE = 10000; + static const unsigned long long GAIN_VAL = 42; +@@ -28,8 +28,8 @@ namespace FreenectDriver + static const unsigned long long PARAM_COEFF_VAL = 4; + static const unsigned long long SHIFT_SCALE_VAL = 10; + static const unsigned long long ZERO_PLANE_DISTANCE_VAL = 120; +- static const double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; +- static const double EMITTER_DCMOS_DISTANCE_VAL = 7.5; ++ static constexpr double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; ++ static constexpr double EMITTER_DCMOS_DISTANCE_VAL = 7.5; + + private: + typedef std::map< OniVideoMode, std::pair > FreenectDepthModeMap; diff --git a/libfreenect-0.5.3-noabort.patch b/libfreenect-0.5.3-noabort.patch new file mode 100644 index 0000000..67e0eba --- /dev/null +++ b/libfreenect-0.5.3-noabort.patch @@ -0,0 +1,18 @@ +diff -up ./wrappers/cpp/cppview.cpp.noabort ./wrappers/cpp/cppview.cpp +--- ./wrappers/cpp/cppview.cpp.noabort 2016-02-21 11:03:00.653334752 -0500 ++++ ./wrappers/cpp/cppview.cpp 2016-02-21 11:04:51.022655752 -0500 +@@ -348,7 +348,13 @@ void *gl_threadfunc(void *arg) + } + + int main(int argc, char **argv) { +- device = &freenect.createDevice(0); ++ try { ++ device = &freenect.createDevice(0); ++ } ++ catch (std::exception &e) { ++ std::cerr << std::endl << "Exception starting Freenect device : " << e.what() << std::endl; ++ exit(1); ++ } + device->startVideo(); + device->startDepth(); + gl_threadfunc(NULL); diff --git a/libfreenect-0.5.7-videogroup.patch b/libfreenect-0.5.7-videogroup.patch new file mode 100644 index 0000000..6390006 --- /dev/null +++ b/libfreenect-0.5.7-videogroup.patch @@ -0,0 +1,21 @@ +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.0-cython3.patch b/libfreenect-0.7.0-cython3.patch new file mode 100644 index 0000000..99bdb67 --- /dev/null +++ b/libfreenect-0.7.0-cython3.patch @@ -0,0 +1,21 @@ +diff -up ./wrappers/python/freenect.pyx.cython3 ./wrappers/python/freenect.pyx +--- ./wrappers/python/freenect.pyx.cython3 2023-08-07 20:46:10.771514185 -0400 ++++ ./wrappers/python/freenect.pyx 2023-08-07 20:54:34.791037845 -0400 +@@ -322,7 +322,7 @@ cpdef open_device(CtxPtr ctx, int index) + + _depth_cb, _video_cb = None, None + +-cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: ++cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: + cdef freenect_frame_mode mode = freenect_get_current_depth_mode(dev) + if not mode.is_valid: + return +@@ -333,7 +333,7 @@ cdef void depth_cb(freenect_device *dev, + pydata = _depth_cb_np(data, &mode) + _depth_cb(dev_out, pydata, timestamp) + +-cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: ++cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: + cdef freenect_frame_mode mode = freenect_get_current_video_mode(dev) + if not mode.is_valid: + return diff --git a/libfreenect-0.7.0-py3.patch b/libfreenect-0.7.0-py3.patch new file mode 100644 index 0000000..104ef06 --- /dev/null +++ b/libfreenect-0.7.0-py3.patch @@ -0,0 +1,61 @@ +diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py +--- ./src/fwfetcher.py.py3 2023-04-03 17:59:43.000000000 -0400 ++++ ./src/fwfetcher.py 2023-07-13 21:54:27.641914564 -0400 +@@ -1,5 +1,3 @@ +-#!/usr/bin/env python2 +- + from __future__ import absolute_import, division, print_function + + import hashlib +@@ -10,10 +8,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 ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt +--- ./wrappers/python/CMakeLists.txt.py3 2023-04-03 17:59:43.000000000 -0400 ++++ ./wrappers/python/CMakeLists.txt 2023-07-13 21:56:32.387653639 -0400 +@@ -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 +@@ -56,7 +53,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 ./wrappers/python/setup.py.py3 ./wrappers/python/setup.py +--- ./wrappers/python/setup.py.py3 2023-07-13 21:56:42.085711096 -0400 ++++ ./wrappers/python/setup.py 2023-07-13 21:56:56.680797569 -0400 +@@ -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-c99.patch b/libfreenect-c99.patch new file mode 100644 index 0000000..ca11ee5 --- /dev/null +++ b/libfreenect-c99.patch @@ -0,0 +1,31 @@ + Use the recommended way to integrate Cython and NumPy + +This follows the example code in +. + +The previous version results in an int-conversion error with current +compilers. + +Submitted upstream: + +diff --git a/wrappers/python/freenect.pyx b/wrappers/python/freenect.pyx +index 5bda18b42e8243e5..f69483d4b9592daa 100644 +--- a/wrappers/python/freenect.pyx ++++ b/wrappers/python/freenect.pyx +@@ -27,7 +27,6 @@ import numpy as np + cimport numpy as npc + + cdef extern from "numpy/arrayobject.h": +- void import_array() + cdef object PyArray_SimpleNewFromData(int nd, npc.npy_intp *dims, + int typenum, void *data) + +@@ -455,7 +454,7 @@ def base_runloop(CtxPtr ctx, body=None): + except Kill: + pass + +-import_array() ++npc.import_array() + + cdef object _depth_cb_np(void *data, freenect_frame_mode *mode): + cdef npc.npy_intp dims[2] diff --git a/libfreenect-openni2.patch b/libfreenect-openni2.patch new file mode 100644 index 0000000..36dc2da --- /dev/null +++ b/libfreenect-openni2.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000..781828b --- /dev/null +++ b/libfreenect.spec @@ -0,0 +1,466 @@ +%global __provides_exclude %{python3_sitearch}/.*\.so$ + +Name: libfreenect +Version: 0.7.0 +Release: 16%{?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 +License: Apache-2.0 AND (GPL-2.0-only OR Apache-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.0-py3.patch +# Fix for cython3 +Patch6: %{name}-0.7.0-cython3.patch +Patch7: libfreenect-c99.patch + +BuildRequires: gcc-c++ +BuildRequires: cmake3 +BuildRequires: doxygen +BuildRequires: freeglut-devel +BuildRequires: libusb1-devel +BuildRequires: libGL-devel +BuildRequires: libXi-devel +BuildRequires: libXmu-devel +BuildRequires: opencv-devel +BuildRequires: python3-Cython +BuildRequires: python3-devel +BuildRequires: python3-numpy + +Requires: udev + +%description +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} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package static +Summary: Development files for %{name} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description static +The %{name}-static package contains static libraries for +developing applications that use %{name}. + +%package fakenect +Summary: Library to play back recorded data for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description fakenect +Fakenect consists of a "record" program to save dumps from the kinect sensor +and a library that can be linked to, providing an interface compatible with +freenect. This allows you to save data and repeat for experiments, debug +problems, share datasets, and experiment with the kinect without having one. + +%package opencv +Summary: OpenCV bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description opencv +The %{name}-opencv package contains the libfreenect binding +library for OpenCV development. + +%package -n python3-%{name} +Summary: Python 3 bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-numpy +%{?python_provide:%python_provide python3-%{name}} + +%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. + +%prep +%setup -qn %{name}-%{version} +rm -rf 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 .cython3 +%patch -P 7 -p1 + +%build +%cmake3 \ + -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 + +%cmake3_build + +pushd doc +doxygen Doxyfile +popd + +%install +%cmake3_install + +# Install the kinect udev rule +mkdir -p %{buildroot}/lib/udev/rules.d +mkdir -p %{buildroot}%{_libdir}/openni2 +install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d + +# Delete libtool archives +find %{buildroot} -name '*.la' -exec rm -f {} ';' + +# Move the fwfetcher script to the correct datadir +mkdir -p %{buildroot}%{_datadir}/%{name} +mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} + +# Move openni plugin: rhbz#1094787 +mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers + +%files +%license APACHE20 GPL2 +%doc README.md CONTRIB +/lib/udev/rules.d/* +%{_libdir}/libfreenect.so.0* +%{_libdir}/libfreenect_sync.so.0* +%exclude %{_bindir}/freenect-cvdemo +%exclude %{_bindir}/fakenect +%{_bindir}/freenect-* +%{_datadir}/%{name} + +%files opencv +%{_bindir}/freenect-cvdemo +%{_libdir}/libfreenect_cv.so.* + +%files devel +%doc doc/html +%doc examples/*.c wrappers/cpp/cppview.cpp +%{_includedir}/libfreenect +%{_libdir}/*.so +%{_libdir}/pkgconfig/* +%{_libdir}/fakenect/*.so + +%files static +%{_libdir}/*.a + +%files -n python3-%{name} +%{python3_sitearch}/*.so + +%files fakenect +%dir %{_libdir}/fakenect +%{_bindir}/fakenect-record +%{_libdir}/fakenect/*.so.* +%{_bindir}/fakenect +%{_mandir}/man1/fakenect*1.* + +%files openni +%{_libdir}/openni2 + +%changelog +* 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 + +* Wed Jan 09 2013 Dan Horák - 0.1.2-4 +- fixes for secondary arches + +* Sat Nov 10 2012 Rich Mattes - 0.1.2-3 +- Rebuild for new OpenCV + +* Wed Aug 15 2012 Rich Mattes - 0.1.2-2 +- Filtered private python lib provides +- Clarified that freenect_generate_tarball.sh works with a git tag + +* Thu Apr 26 2012 Rich Mattes - 0.1.2-1 +- Update to git tag 0.1.2 +- Create OpenCV wrapper sub-package +- Create fakenect library sub-package + +* Thu 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 +- Update to latest snapshot + +* Mon Jan 31 2011 Rich Mattes - 0-0.1.687b2da5git +- Initial package + diff --git a/secarch.patch b/secarch.patch new file mode 100644 index 0000000..0c7308f --- /dev/null +++ b/secarch.patch @@ -0,0 +1,114 @@ +diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h +--- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 1970-01-01 01:00:00.000000000 +0100 ++++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 2014-09-18 11:54:01.405363509 +0200 +@@ -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_ ++ +diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h +--- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 1970-01-01 01:00:00.000000000 +0100 ++++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 2014-09-18 11:55:06.169556389 +0200 +@@ -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_ ++ +diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h +--- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:51:35.428923550 +0200 ++++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:52:50.242149667 +0200 +@@ -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,10 @@ + # 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__ && (__s390__ || __s390x__ )) ++# include "Linux-s390/OniPlatformLinux-s390.h" + #elif _ARC + # include "ARC/OniPlaformARC.h" + #elif (__APPLE__) diff --git a/sources b/sources new file mode 100644 index 0000000..4b8b72a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libfreenect-0.7.0.tar.gz) = ed5dc4e6493afd3ff26e122c36cc7c9e366bd3e243db4b27552b1d07d0a3dc1330ab41f27114c1d9ff2a311113f5eff8a513504567b8322cb85ea29b19f773c4 From efd58e5baa4a1b2a20148d899b88223834248269 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 11 Nov 2025 09:56:40 +0100 Subject: [PATCH 102/106] Updated to 0.7.5 - Dropped obsolete patches - Updated URL --- libfreenect-0.7.0-cython3.patch | 21 ------------- ...0-py3.patch => libfreenect-0.7.5-py3.patch | 28 +++++++---------- libfreenect-c99.patch | 31 ------------------- libfreenect.spec | 18 +++++------ sources | 2 +- 5 files changed, 21 insertions(+), 79 deletions(-) delete mode 100644 libfreenect-0.7.0-cython3.patch rename libfreenect-0.7.0-py3.patch => libfreenect-0.7.5-py3.patch (63%) delete mode 100644 libfreenect-c99.patch diff --git a/libfreenect-0.7.0-cython3.patch b/libfreenect-0.7.0-cython3.patch deleted file mode 100644 index 99bdb67..0000000 --- a/libfreenect-0.7.0-cython3.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up ./wrappers/python/freenect.pyx.cython3 ./wrappers/python/freenect.pyx ---- ./wrappers/python/freenect.pyx.cython3 2023-08-07 20:46:10.771514185 -0400 -+++ ./wrappers/python/freenect.pyx 2023-08-07 20:54:34.791037845 -0400 -@@ -322,7 +322,7 @@ cpdef open_device(CtxPtr ctx, int index) - - _depth_cb, _video_cb = None, None - --cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: -+cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: - cdef freenect_frame_mode mode = freenect_get_current_depth_mode(dev) - if not mode.is_valid: - return -@@ -333,7 +333,7 @@ cdef void depth_cb(freenect_device *dev, - pydata = _depth_cb_np(data, &mode) - _depth_cb(dev_out, pydata, timestamp) - --cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) with gil: -+cdef void video_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil: - cdef freenect_frame_mode mode = freenect_get_current_video_mode(dev) - if not mode.is_valid: - return diff --git a/libfreenect-0.7.0-py3.patch b/libfreenect-0.7.5-py3.patch similarity index 63% rename from libfreenect-0.7.0-py3.patch rename to libfreenect-0.7.5-py3.patch index 104ef06..26f5e26 100644 --- a/libfreenect-0.7.0-py3.patch +++ b/libfreenect-0.7.5-py3.patch @@ -1,13 +1,7 @@ -diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py ---- ./src/fwfetcher.py.py3 2023-04-03 17:59:43.000000000 -0400 -+++ ./src/fwfetcher.py 2023-07-13 21:54:27.641914564 -0400 -@@ -1,5 +1,3 @@ --#!/usr/bin/env python2 -- - from __future__ import absolute_import, division, print_function - - import hashlib -@@ -10,10 +8,10 @@ import sys +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-11 09:46:49.713531146 +0100 +@@ -10,10 +10,10 @@ import sys import time import zipfile @@ -20,9 +14,9 @@ diff -up ./src/fwfetcher.py.py3 ./src/fwfetcher.py # Python 2 from urllib2 import Request, URLError, urlopen -diff -up ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt ---- ./wrappers/python/CMakeLists.txt.py3 2023-04-03 17:59:43.000000000 -0400 -+++ ./wrappers/python/CMakeLists.txt 2023-07-13 21:56:32.387653639 -0400 +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:46:49.713788373 +0100 @@ -19,10 +19,7 @@ find_program(CYTHON_EXECUTABLE cython) # Figure out installation path @@ -35,7 +29,7 @@ diff -up ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt # Figure out numpy include path # todo: CMake >= 3.14 populates this var automatically when using COMPONENTS NumPy -@@ -56,7 +53,10 @@ target_include_directories(cython${Pytho +@@ -73,7 +70,10 @@ target_include_directories(cython${Pytho # Install the extension install(TARGETS cython${Python_BUILD_VERSION}_freenect @@ -47,9 +41,9 @@ diff -up ./wrappers/python/CMakeLists.txt.py3 ./wrappers/python/CMakeLists.txt # TODO: decide on what to do with demo_ scripts and were to install # them -diff -up ./wrappers/python/setup.py.py3 ./wrappers/python/setup.py ---- ./wrappers/python/setup.py.py3 2023-07-13 21:56:42.085711096 -0400 -+++ ./wrappers/python/setup.py 2023-07-13 21:56:56.680797569 -0400 +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:46:49.713970521 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/env python -from distutils.core import setup diff --git a/libfreenect-c99.patch b/libfreenect-c99.patch deleted file mode 100644 index ca11ee5..0000000 --- a/libfreenect-c99.patch +++ /dev/null @@ -1,31 +0,0 @@ - Use the recommended way to integrate Cython and NumPy - -This follows the example code in -. - -The previous version results in an int-conversion error with current -compilers. - -Submitted upstream: - -diff --git a/wrappers/python/freenect.pyx b/wrappers/python/freenect.pyx -index 5bda18b42e8243e5..f69483d4b9592daa 100644 ---- a/wrappers/python/freenect.pyx -+++ b/wrappers/python/freenect.pyx -@@ -27,7 +27,6 @@ import numpy as np - cimport numpy as npc - - cdef extern from "numpy/arrayobject.h": -- void import_array() - cdef object PyArray_SimpleNewFromData(int nd, npc.npy_intp *dims, - int typenum, void *data) - -@@ -455,7 +454,7 @@ def base_runloop(CtxPtr ctx, body=None): - except Kill: - pass - --import_array() -+npc.import_array() - - cdef object _depth_cb_np(void *data, freenect_frame_mode *mode): - cdef npc.npy_intp dims[2] diff --git a/libfreenect.spec b/libfreenect.spec index 781828b..e555171 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,14 +1,14 @@ %global __provides_exclude %{python3_sitearch}/.*\.so$ Name: libfreenect -Version: 0.7.0 -Release: 16%{?dist} +Version: 0.7.5 +Release: 1%{?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 License: Apache-2.0 AND (GPL-2.0-only OR Apache-2.0) -URL: http://www.openkinect.org/ +URL: https://github.com/OpenKinect/ 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 @@ -20,10 +20,7 @@ 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.0-py3.patch -# Fix for cython3 -Patch6: %{name}-0.7.0-cython3.patch -Patch7: libfreenect-c99.patch +Patch5: %{name}-0.7.5-py3.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -105,8 +102,6 @@ rm -rf platform/windows %patch -P 3 -p0 -b .libdir %patch -P 4 -p1 -b .secarch %patch -P 5 -p1 -b .py3 -%patch -P 6 -p1 -b .cython3 -%patch -P 7 -p1 %build %cmake3 \ @@ -185,6 +180,11 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 diff --git a/sources b/sources index 4b8b72a..4bba409 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfreenect-0.7.0.tar.gz) = ed5dc4e6493afd3ff26e122c36cc7c9e366bd3e243db4b27552b1d07d0a3dc1330ab41f27114c1d9ff2a311113f5eff8a513504567b8322cb85ea29b19f773c4 +SHA512 (libfreenect-0.7.5.tar.gz) = 6ba9ba632d9021b84a8c137837226fadc6e0e091cf89bf092e8ee805610c227c31da95b50c05d5882357cb80d7e4275693d13d1511eb2eb45f15ffffc2d549bf From afa6666ec35d7ca0d1b451e821b4831cfe5a18bc Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 11 Nov 2025 15:41:37 +0100 Subject: [PATCH 103/106] drop unused patches --- ...bfreenect_cv-and-cvdemo-as-C-sources.patch | 66 ------------------- ...-bugs-in-sync-library-error-handling.patch | 51 -------------- libfreenect-0.5.2-cmake30.patch | 43 ------------ libfreenect-0.5.3-cpp11.patch | 43 ------------ libfreenect-0.5.3-noabort.patch | 18 ----- 5 files changed, 221 deletions(-) delete mode 100644 0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch delete mode 100644 0002-Fix-bugs-in-sync-library-error-handling.patch delete mode 100644 libfreenect-0.5.2-cmake30.patch delete mode 100644 libfreenect-0.5.3-cpp11.patch delete mode 100644 libfreenect-0.5.3-noabort.patch diff --git a/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch b/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch deleted file mode 100644 index 73e9583..0000000 --- a/0001-Build-libfreenect_cv-and-cvdemo-as-C-sources.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 9e98a0b11fddeabab6ef5e0915b96c950597e53e Mon Sep 17 00:00:00 2001 -From: Rich Mattes -Date: Sat, 26 May 2018 16:11:11 -0400 -Subject: [PATCH 1/2] Build libfreenect_cv and cvdemo as C++ sources - -Signed-off-by: Rich Mattes ---- - wrappers/opencv/CMakeLists.txt | 4 ++-- - wrappers/opencv/{cvdemo.c => cvdemo.cpp} | 0 - wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} | 0 - wrappers/opencv/libfreenect_cv.h | 4 ++-- - 4 files changed, 4 insertions(+), 4 deletions(-) - rename wrappers/opencv/{cvdemo.c => cvdemo.cpp} (100%) - rename wrappers/opencv/{libfreenect_cv.c => libfreenect_cv.cpp} (100%) - -diff --git a/wrappers/opencv/CMakeLists.txt b/wrappers/opencv/CMakeLists.txt -index 0239075..bc5df19 100644 ---- a/wrappers/opencv/CMakeLists.txt -+++ b/wrappers/opencv/CMakeLists.txt -@@ -2,7 +2,7 @@ - # OpenCV Interface - ###################################################################################### - find_package(OpenCV REQUIRED) --add_library (freenect_cv SHARED libfreenect_cv.c) -+add_library (freenect_cv SHARED libfreenect_cv.cpp) - set_target_properties (freenect_cv PROPERTIES - VERSION ${PROJECT_VER} - SOVERSION ${PROJECT_APIVER}) -@@ -16,7 +16,7 @@ install (TARGETS freenect_cv - install (FILES "libfreenect_cv.h" - DESTINATION ${PROJECT_INCLUDE_INSTALL_DIR}) - --add_executable(freenect-cvdemo cvdemo.c) -+add_executable(freenect-cvdemo cvdemo.cpp) - target_link_libraries(freenect-cvdemo freenect freenect_sync freenect_cv ${OpenCV_LIBS}) - install (TARGETS freenect-cvdemo - DESTINATION bin) -diff --git a/wrappers/opencv/cvdemo.c b/wrappers/opencv/cvdemo.cpp -similarity index 100% -rename from wrappers/opencv/cvdemo.c -rename to wrappers/opencv/cvdemo.cpp -diff --git a/wrappers/opencv/libfreenect_cv.c b/wrappers/opencv/libfreenect_cv.cpp -similarity index 100% -rename from wrappers/opencv/libfreenect_cv.c -rename to wrappers/opencv/libfreenect_cv.cpp -diff --git a/wrappers/opencv/libfreenect_cv.h b/wrappers/opencv/libfreenect_cv.h -index b73b60c..55e3582 100644 ---- a/wrappers/opencv/libfreenect_cv.h -+++ b/wrappers/opencv/libfreenect_cv.h -@@ -1,11 +1,11 @@ - #pragma once - -+#include -+ - #ifdef __cplusplus - extern "C" { - #endif - --#include -- - IplImage *freenect_sync_get_depth_cv(int index); - IplImage *freenect_sync_get_rgb_cv(int index); - --- -2.17.0 - diff --git a/0002-Fix-bugs-in-sync-library-error-handling.patch b/0002-Fix-bugs-in-sync-library-error-handling.patch deleted file mode 100644 index f437b6b..0000000 --- a/0002-Fix-bugs-in-sync-library-error-handling.patch +++ /dev/null @@ -1,51 +0,0 @@ -From db0e1825ff93133f3ca5735524d78279ede824db Mon Sep 17 00:00:00 2001 -From: Rich Mattes -Date: Sat, 26 May 2018 16:14:01 -0400 -Subject: [PATCH 2/2] Fix bugs in sync library error handling - -fnusb_open_subdevices checked for camera==NULL or res < 0 before -jumping to the failure case. If camera was NULL but res was not -0, the function would return 0 indicating success. This occurs -when a kinect is not plugged into the PC. Forcing res to be -negative when the camera == NULL case allows the failure to open -a device to propagate through an application. - -alloc_kinect in freenect_sync has a check for if freenect_open_device -fails, but the logic is incorrect. freenect_open_device returns 0 on -success and < 0 on error, so adding a check to see if the return is -< 0 corrects detection of the failure case. - -Signed-off-by: Rich Mattes ---- - src/usb_libusb10.c | 1 + - wrappers/c_sync/libfreenect_sync.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/usb_libusb10.c b/src/usb_libusb10.c -index 11de86a..614aeee 100644 ---- a/src/usb_libusb10.c -+++ b/src/usb_libusb10.c -@@ -465,6 +465,7 @@ FN_INTERNAL int fnusb_open_subdevices(freenect_device *dev, int index) - } - - if (res < 0 || camera == NULL) { -+ res = -1; - goto failure; - } - -diff --git a/wrappers/c_sync/libfreenect_sync.c b/wrappers/c_sync/libfreenect_sync.c -index 1b2e049..26a2261 100644 ---- a/wrappers/c_sync/libfreenect_sync.c -+++ b/wrappers/c_sync/libfreenect_sync.c -@@ -249,7 +249,7 @@ static int change_depth_format(sync_kinect_t *kinect, freenect_resolution res, f - static sync_kinect_t *alloc_kinect(int index) - { - sync_kinect_t *kinect = (sync_kinect_t*)malloc(sizeof(sync_kinect_t)); -- if (freenect_open_device(ctx, &kinect->dev, index)) { -+ if (freenect_open_device(ctx, &kinect->dev, index) < 0) { - free(kinect); - return NULL; - } --- -2.17.0 - diff --git a/libfreenect-0.5.2-cmake30.patch b/libfreenect-0.5.2-cmake30.patch deleted file mode 100644 index fa4f9ed..0000000 --- a/libfreenect-0.5.2-cmake30.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up ./wrappers/python/CMakeLists.txt.cmake30 ./wrappers/python/CMakeLists.txt ---- ./wrappers/python/CMakeLists.txt.cmake30 2015-01-26 22:01:37.000000000 -0500 -+++ ./wrappers/python/CMakeLists.txt 2016-02-21 11:19:40.995391145 -0500 -@@ -2,19 +2,18 @@ - # Python extension builder - ###################################################################################### - --include(FindPythonInterp) --include(FindPythonLibs) -- -+include(FindPkgConfig) -+pkg_check_modules(PYTHON python2) - find_program(CYTHON_EXECUTABLE cython) - - # Figure out installation path - execute_process(COMMAND -- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" -+ ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(1))" - OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) - - # Figure out numpy include path - execute_process(COMMAND -- ${PYTHON_EXECUTABLE} -c "import numpy; print numpy.get_include()" -+ ${PYTHON_EXECUTABLE} -c "import numpy; print (numpy.get_include())" - OUTPUT_VARIABLE NUMPY_INCLUDE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) - - # How to Cython the .pyx file -@@ -29,11 +28,13 @@ set_target_properties(cython_freenect PR - OUTPUT_NAME "freenect" - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - target_link_libraries(cython_freenect freenect_sync ${PYTHON_LIBRARIES}) --include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/ ${NUMPY_INCLUDE_PATH}) -+include_directories(${PYTHON_INCLUDE_DIRS} ../c_sync/ ${NUMPY_INCLUDE_PATH}) - - # Install the extension - install(TARGETS cython_freenect -- DESTINATION ${PYTHON_SITE_PACKAGES}) -+ ARCHIVE DESTINATION ${PYTHON_SITE_PACKAGES} -+ LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES} -+ COMPONENT library) - - # TODO: decide on what to do with demo_ scripts and were to install - # them diff --git a/libfreenect-0.5.3-cpp11.patch b/libfreenect-0.5.3-cpp11.patch deleted file mode 100644 index b20069b..0000000 --- a/libfreenect-0.5.3-cpp11.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/ColorStream.hpp ---- ./OpenNI2-FreenectDriver/src/ColorStream.hpp.cpp11 2016-02-21 12:18:01.412029788 -0500 -+++ ./OpenNI2-FreenectDriver/src/ColorStream.hpp 2016-02-21 12:18:21.272807345 -0500 -@@ -13,9 +13,9 @@ namespace FreenectDriver - { - public: - // from NUI library & converted to radians -- static const float DIAGONAL_FOV = 73.9 * (M_PI / 180); -- static const float HORIZONTAL_FOV = 62 * (M_PI / 180); -- static const float VERTICAL_FOV = 48.6 * (M_PI / 180); -+ static constexpr float DIAGONAL_FOV = 73.9 * (M_PI / 180); -+ static constexpr float HORIZONTAL_FOV = 62 * (M_PI / 180); -+ static constexpr float VERTICAL_FOV = 48.6 * (M_PI / 180); - - private: - typedef std::map< OniVideoMode, std::pair > FreenectVideoModeMap; -diff -up ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 ./OpenNI2-FreenectDriver/src/DepthStream.hpp ---- ./OpenNI2-FreenectDriver/src/DepthStream.hpp.cpp11 2016-02-21 12:22:59.048682374 -0500 -+++ ./OpenNI2-FreenectDriver/src/DepthStream.hpp 2016-02-21 12:23:27.387791861 -0500 -@@ -17,9 +17,9 @@ namespace FreenectDriver - { - public: - // from NUI library and converted to radians -- static const float DIAGONAL_FOV = 70 * (M_PI / 180); -- static const float HORIZONTAL_FOV = 58.5 * (M_PI / 180); -- static const float VERTICAL_FOV = 45.6 * (M_PI / 180); -+ static constexpr float DIAGONAL_FOV = 70 * (M_PI / 180); -+ static constexpr float HORIZONTAL_FOV = 58.5 * (M_PI / 180); -+ static constexpr float VERTICAL_FOV = 45.6 * (M_PI / 180); - // from DepthKinectStream.cpp - static const int MAX_VALUE = 10000; - static const unsigned long long GAIN_VAL = 42; -@@ -28,8 +28,8 @@ namespace FreenectDriver - static const unsigned long long PARAM_COEFF_VAL = 4; - static const unsigned long long SHIFT_SCALE_VAL = 10; - static const unsigned long long ZERO_PLANE_DISTANCE_VAL = 120; -- static const double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; -- static const double EMITTER_DCMOS_DISTANCE_VAL = 7.5; -+ static constexpr double ZERO_PLANE_PIXEL_SIZE_VAL = 0.10520000010728836; -+ static constexpr double EMITTER_DCMOS_DISTANCE_VAL = 7.5; - - private: - typedef std::map< OniVideoMode, std::pair > FreenectDepthModeMap; diff --git a/libfreenect-0.5.3-noabort.patch b/libfreenect-0.5.3-noabort.patch deleted file mode 100644 index 67e0eba..0000000 --- a/libfreenect-0.5.3-noabort.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up ./wrappers/cpp/cppview.cpp.noabort ./wrappers/cpp/cppview.cpp ---- ./wrappers/cpp/cppview.cpp.noabort 2016-02-21 11:03:00.653334752 -0500 -+++ ./wrappers/cpp/cppview.cpp 2016-02-21 11:04:51.022655752 -0500 -@@ -348,7 +348,13 @@ void *gl_threadfunc(void *arg) - } - - int main(int argc, char **argv) { -- device = &freenect.createDevice(0); -+ try { -+ device = &freenect.createDevice(0); -+ } -+ catch (std::exception &e) { -+ std::cerr << std::endl << "Exception starting Freenect device : " << e.what() << std::endl; -+ exit(1); -+ } - device->startVideo(); - device->startDepth(); - gl_threadfunc(NULL); From ee4496ce03428253aa31e86f87aa0038f715f9ea Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 25 Nov 2025 00:00:12 +0100 Subject: [PATCH 104/106] address review findings - 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 --- libfreenect-0.7.5-notimestamp.patch | 12 ++++ libfreenect-0.7.5-py3.patch | 12 +++- libfreenect.spec | 85 +++++++++++++++++++---------- 3 files changed, 78 insertions(+), 31 deletions(-) create mode 100644 libfreenect-0.7.5-notimestamp.patch diff --git a/libfreenect-0.7.5-notimestamp.patch b/libfreenect-0.7.5-notimestamp.patch new file mode 100644 index 0000000..54b6a6b --- /dev/null +++ b/libfreenect-0.7.5-notimestamp.patch @@ -0,0 +1,12 @@ +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 index 26f5e26..e938de1 100644 --- a/libfreenect-0.7.5-py3.patch +++ b/libfreenect-0.7.5-py3.patch @@ -1,6 +1,12 @@ 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-11 09:46:49.713531146 +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 @@ -16,7 +22,7 @@ diff -up libfreenect-0.7.5/src/fwfetcher.py.py3 libfreenect-0.7.5/src/fwfetcher. 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:46:49.713788373 +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 @@ -43,7 +49,7 @@ diff -up libfreenect-0.7.5/wrappers/python/CMakeLists.txt.py3 libfreenect-0.7.5/ # 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:46:49.713970521 +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 diff --git a/libfreenect.spec b/libfreenect.spec index e555171..b9b311d 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,13 +1,12 @@ -%global __provides_exclude %{python3_sitearch}/.*\.so$ - Name: libfreenect Version: 0.7.5 -Release: 1%{?dist} +Release: 2%{?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 -License: Apache-2.0 AND (GPL-2.0-only OR 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/ Source0: https://github.com/OpenKinect/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -21,6 +20,11 @@ Patch3: %{name}-0.4.2-libdir.patch 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 +ExcludeArch: %{ix86} BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -61,6 +65,8 @@ 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 @@ -80,7 +86,6 @@ library for OpenCV development. Summary: Python 3 bindings for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python3-numpy -%{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} The %{name}-python package contains python 3 bindings for %{name} @@ -94,17 +99,18 @@ 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 -%setup -qn %{name}-%{version} -rm -rf platform/windows +%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 %build -%cmake3 \ +%cmake \ -DBUILD_AUDIO=ON \ -DBUILD_C_SYNC=ON \ -DBUILD_CV=ON \ @@ -116,26 +122,27 @@ rm -rf platform/windows -DBUILD_PYTHON3=ON \ -DBUILD_OPENNI2_DRIVER=ON -%cmake3_build +%cmake_build pushd doc doxygen Doxyfile popd %install -%cmake3_install +%cmake_install # Install the kinect udev rule -mkdir -p %{buildroot}/lib/udev/rules.d +mkdir -p %{buildroot}%{_udevrulesdir} mkdir -p %{buildroot}%{_libdir}/openni2 -install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d +install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}%{_udevrulesdir} # Delete libtool archives find %{buildroot} -name '*.la' -exec rm -f {} ';' # Move the fwfetcher script to the correct datadir 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 # Move openni plugin: rhbz#1094787 mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers @@ -143,43 +150,65 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %files %license APACHE20 GPL2 %doc README.md CONTRIB -/lib/udev/rules.d/* -%{_libdir}/libfreenect.so.0* -%{_libdir}/libfreenect_sync.so.0* -%exclude %{_bindir}/freenect-cvdemo -%exclude %{_bindir}/fakenect -%{_bindir}/freenect-* +%{_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 %{_datadir}/%{name} %files opencv %{_bindir}/freenect-cvdemo -%{_libdir}/libfreenect_cv.so.* +%{_libdir}/libfreenect_cv.so.0{,.*} %files devel %doc doc/html %doc examples/*.c wrappers/cpp/cppview.cpp %{_includedir}/libfreenect -%{_libdir}/*.so -%{_libdir}/pkgconfig/* -%{_libdir}/fakenect/*.so +%{_libdir}/libfreenect.so +%{_libdir}/libfreenect_cv.so +%{_libdir}/libfreenect_sync.so +%{_libdir}/pkgconfig/libfreenect.pc +%{_libdir}/fakenect/libfakenect.so %files static -%{_libdir}/*.a +%{_libdir}/libfreenect.a +%{_libdir}/libfreenect_sync.a %files -n python3-%{name} -%{python3_sitearch}/*.so +%{python3_sitearch}/freenect.so %files fakenect %dir %{_libdir}/fakenect %{_bindir}/fakenect-record -%{_libdir}/fakenect/*.so.* +%{_libdir}/fakenect/libfakenect.so.0{,.*} %{_bindir}/fakenect -%{_mandir}/man1/fakenect*1.* +%{_mandir}/man1/fakenect-record.1.* +%{_mandir}/man1/fakenect.1.* %files openni +%license APACHE20 GPL2 %{_libdir}/openni2 %changelog +* 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 From 42509b749807342dd7c656d180d09c300e58eb9c Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Wed, 10 Dec 2025 16:14:57 +0100 Subject: [PATCH 105/106] Rebuilt for OpenCV-4.12 --- libfreenect.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreenect.spec b/libfreenect.spec index b9b311d..30fe3ca 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,6 +1,6 @@ Name: libfreenect Version: 0.7.5 -Release: 2%{?dist} +Release: 3%{?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 @@ -201,6 +201,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_libdir}/openni2 %changelog +* 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 From 1f69cb7539dc94d80a17ea40ee141cffbd3e9557 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Fri, 2 Jan 2026 15:15:56 +0100 Subject: [PATCH 106/106] Add OpenNI2 driver on riscv64 Signed-off-by: Marcin Juszkiewicz --- libfreenect.spec | 5 +++- secarch.patch | 66 ++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 60 insertions(+), 11 deletions(-) diff --git a/libfreenect.spec b/libfreenect.spec index 30fe3ca..d3aa0e9 100644 --- a/libfreenect.spec +++ b/libfreenect.spec @@ -1,6 +1,6 @@ Name: libfreenect Version: 0.7.5 -Release: 3%{?dist} +Release: 4%{?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 @@ -201,6 +201,9 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/ %{_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 diff --git a/secarch.patch b/secarch.patch index 0c7308f..4bdca1e 100644 --- a/secarch.patch +++ b/secarch.patch @@ -1,6 +1,7 @@ -diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h ---- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 1970-01-01 01:00:00.000000000 +0100 -+++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 2014-09-18 11:54:01.405363509 +0200 +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 @@ +/***************************************************************************** +* * @@ -43,9 +44,10 @@ diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/In + +#endif //_ONI_PLATFORM_LINUX_PPC_H_ + -diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h ---- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 1970-01-01 01:00:00.000000000 +0100 -+++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 2014-09-18 11:55:06.169556389 +0200 +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 @@ +/***************************************************************************** +* * @@ -89,9 +91,10 @@ diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/In + +#endif //_ONI_PLATFORM_LINUX_s390_H_ + -diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h ---- libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:51:35.428923550 +0200 -+++ libfreenect.new/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h 2014-09-18 11:52:50.242149667 +0200 +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 @@ -101,14 +104,57 @@ diff -urN libfreenect/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/In #if (defined _WIN32) # ifndef RC_INVOKED -@@ -41,6 +43,10 @@ +@@ -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_ ++