Compare commits

..

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

11 changed files with 321 additions and 307 deletions

View file

@ -0,0 +1,66 @@
From 9e98a0b11fddeabab6ef5e0915b96c950597e53e Mon Sep 17 00:00:00 2001
From: Rich Mattes <richmattes@gmail.com>
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 <richmattes@gmail.com>
---
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 <opencv/cv.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <opencv/cv.h>
-
IplImage *freenect_sync_get_depth_cv(int index);
IplImage *freenect_sync_get_rgb_cv(int index);
--
2.17.0

View file

@ -0,0 +1,51 @@
From db0e1825ff93133f3ca5735524d78279ede824db Mon Sep 17 00:00:00 2001
From: Rich Mattes <richmattes@gmail.com>
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 <richmattes@gmail.com>
---
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

View file

@ -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

View file

@ -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<freenect_video_format, freenect_resolution> > 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<freenect_depth_format, freenect_resolution> > FreenectDepthModeMap;

View file

@ -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<MyFreenectDevice>(0);
+ try {
+ device = &freenect.createDevice<MyFreenectDevice>(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);

View file

@ -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

View file

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

View file

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

View file

@ -1,13 +1,16 @@
%global commit 48a5c66d98505dd187e6352c2b9aca88985486c0
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global __provides_exclude %{python3_sitearch}/.*\.so$
Name: libfreenect Name: libfreenect
Version: 0.7.5 Version: 0.6.1
Release: 4%{?dist} Release: 6%{?dist}
Summary: Device driver for the Kinect Summary: Device driver for the Kinect
# Core libfreenect is available as Apache-2.0 OR GPL-2.0-only # Core libfreenect is available as ASL 2.0 OR GPLv2
# OpenNI driver is available as Apache-2.0 # OpenNI driver is available as ASL 2.0
# fakenect/parson.{c,h} is MIT License: ASL 2.0 and (GPLv2 or ASL 2.0)
# fwfetcher.py is BSD-2-Clause URL: http://www.openkinect.org/
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 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 # Edit udev rule to only allow access to the device from the video group
@ -19,15 +22,11 @@ Patch3: %{name}-0.4.2-libdir.patch
# BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1143912 # BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1143912
Patch4: secarch.patch Patch4: secarch.patch
# Fix the installation path for python libs # Fix the installation path for python libs
Patch5: %{name}-0.7.5-py3.patch Patch7: %{name}-0.5.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: gcc-c++
BuildRequires: cmake3 BuildRequires: cmake3
BuildRequires: Cython
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: freeglut-devel BuildRequires: freeglut-devel
BuildRequires: libusb1-devel BuildRequires: libusb1-devel
@ -46,6 +45,7 @@ libfreenect is a free and open source library that provides access to the
Kinect device. Currently, the library supports the RGB webcam, the depth Kinect device. Currently, the library supports the RGB webcam, the depth
image, the LED, and the tilt motor. image, the LED, and the tilt motor.
%package devel %package devel
Summary: Development files for %{name} Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
@ -65,8 +65,6 @@ developing applications that use %{name}.
%package fakenect %package fakenect
Summary: Library to play back recorded data for %{name} Summary: Library to play back recorded data for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
# upstream commit f1bb6e7fbe347754fbfc4613bf43000ef0b0c2b2
Provides: bundled(parson)
%description fakenect %description fakenect
Fakenect consists of a "record" program to save dumps from the kinect sensor Fakenect consists of a "record" program to save dumps from the kinect sensor
@ -86,6 +84,7 @@ library for OpenCV development.
Summary: Python 3 bindings for %{name} Summary: Python 3 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3-numpy Requires: python3-numpy
%{?python_provide:%python_provide python3-%{name}}
%description -n python3-%{name} %description -n python3-%{name}
The %{name}-python package contains python 3 bindings for %{name} The %{name}-python package contains python 3 bindings for %{name}
@ -99,18 +98,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. It was originally a separate project but is now distributed with libfreenect.
%prep %prep
%setup -q %setup -qn %{name}-%{version}
rm -rv platform/windows rm -rf platform/windows
%patch0 -p0 -b .videogroup
%patch1 -p1 -b .openni2
%patch3 -p0 -b .libdir
%patch4 -p1 -b .secarch
%patch7 -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
%patch -P 6 -p1 -b .tstamp
%build %build
%cmake \ %cmake3 \
-DBUILD_AUDIO=ON \ -DBUILD_AUDIO=ON \
-DBUILD_C_SYNC=ON \ -DBUILD_C_SYNC=ON \
-DBUILD_CV=ON \ -DBUILD_CV=ON \
@ -122,27 +121,26 @@ rm -rv platform/windows
-DBUILD_PYTHON3=ON \ -DBUILD_PYTHON3=ON \
-DBUILD_OPENNI2_DRIVER=ON -DBUILD_OPENNI2_DRIVER=ON
%cmake_build %cmake3_build
pushd doc pushd doc
doxygen Doxyfile doxygen Doxyfile
popd popd
%install %install
%cmake_install %cmake3_install
# Install the kinect udev rule # Install the kinect udev rule
mkdir -p %{buildroot}%{_udevrulesdir} mkdir -p %{buildroot}/lib/udev/rules.d
mkdir -p %{buildroot}%{_libdir}/openni2 mkdir -p %{buildroot}%{_libdir}/openni2
install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}%{_udevrulesdir} install -p -m 0644 platform/linux/udev/51-kinect.rules %{buildroot}/lib/udev/rules.d
# Delete libtool archives # Delete libtool archives
find %{buildroot} -name '*.la' -exec rm -f {} ';' find %{buildroot} -name '*.la' -exec rm -f {} ';'
# Move the fwfetcher script to the correct datadir # Move the fwfetcher script to the correct datadir
mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name} mv %{buildroot}%{_datadir}/fwfetcher.py %{buildroot}%{_datadir}/%{name}
chmod +x %{buildroot}%{_datadir}/%{name}/fwfetcher.py
# Move openni plugin: rhbz#1094787 # Move openni plugin: rhbz#1094787
mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/Drivers
@ -150,175 +148,43 @@ mv %{buildroot}%{_libdir}/OpenNI2-FreenectDriver %{buildroot}%{_libdir}/openni2/
%files %files
%license APACHE20 GPL2 %license APACHE20 GPL2
%doc README.md CONTRIB %doc README.md CONTRIB
%{_udevrulesdir}/51-kinect.rules /lib/udev/rules.d/*
%{_libdir}/libfreenect.so.0{,.*} %{_libdir}/libfreenect.so.0*
%{_libdir}/libfreenect_sync.so.0{,.*} %{_libdir}/libfreenect_sync.so.0*
%{_bindir}/freenect-camtest %exclude %{_bindir}/freenect-cvdemo
%{_bindir}/freenect-chunkview %exclude %{_bindir}/fakenect
%{_bindir}/freenect-cpp_pcview %{_bindir}/freenect-*
%{_bindir}/freenect-cppview
%{_bindir}/freenect-glpclview
%{_bindir}/freenect-glview
%{_bindir}/freenect-hiview
%{_bindir}/freenect-micview
%{_bindir}/freenect-regtest
%{_bindir}/freenect-regview
%{_bindir}/freenect-tiltdemo
%{_bindir}/freenect-wavrecord
%{_datadir}/%{name} %{_datadir}/%{name}
%files opencv %files opencv
%{_bindir}/freenect-cvdemo %{_bindir}/freenect-cvdemo
%{_libdir}/libfreenect_cv.so.0{,.*} %{_libdir}/libfreenect_cv.so.*
%files devel %files devel
%doc doc/html %doc doc/html
%doc examples/*.c wrappers/cpp/cppview.cpp %doc examples/*.c wrappers/cpp/cppview.cpp
%{_includedir}/libfreenect %{_includedir}/libfreenect
%{_libdir}/libfreenect.so %{_libdir}/*.so
%{_libdir}/libfreenect_cv.so %{_libdir}/pkgconfig/*
%{_libdir}/libfreenect_sync.so %{_libdir}/fakenect/*.so
%{_libdir}/pkgconfig/libfreenect.pc
%{_libdir}/fakenect/libfakenect.so
%files static %files static
%{_libdir}/libfreenect.a %{_libdir}/*.a
%{_libdir}/libfreenect_sync.a
%files -n python3-%{name} %files -n python3-%{name}
%{python3_sitearch}/freenect.so %{python3_sitearch}/*.so
%files fakenect %files fakenect
%dir %{_libdir}/fakenect %dir %{_libdir}/fakenect
%{_bindir}/fakenect-record %{_bindir}/fakenect-record
%{_libdir}/fakenect/libfakenect.so.0{,.*} %{_libdir}/fakenect/*.so.*
%{_bindir}/fakenect %{_bindir}/fakenect
%{_mandir}/man1/fakenect-record.1.* %{_mandir}/man1/fakenect*1.*
%{_mandir}/man1/fakenect.1.*
%files openni %files openni
%license APACHE20 GPL2
%{_libdir}/openni2 %{_libdir}/openni2
%changelog %changelog
* Fri Jan 02 2026 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 0.7.5-4
- Add OpenNI2 driver on riscv64
* Wed Dec 10 2025 Nicolas Chauvet <kwizart@gmail.com> - 0.7.5-3
- Rebuilt for OpenCV-4.12
* Mon Nov 24 2025 Dominik Mierzejewski <dominik@greysector.net> - 0.7.5-2
- fixed duplicate files warning
- made file lists more explicit
- corrected License tag
- added missing Provides: for bundled parson
- added executable bit to fwfetcher.py script and fixed shebang
- avoid timestamps in generated docs for reproducibility
* Tue Nov 11 2025 Dominik Mierzejewski <dominik@greysector.net> - 0.7.5-1
- Updated to 0.7.5
- Dropped obsolete patches
- Updated URL
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 04 2025 Python Maint <python-maint@redhat.com> - 0.7.0-15
- Rebuilt for Python 3.14
* Tue Feb 04 2025 Sérgio Basto <sergio@serjux.com> - 0.7.0-14
- Rebuild for opencv-4.11.0
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Dec 24 2024 Orion Poplawski <orion@nwra.com> - 0.7.0-12
- Rebuild with numpy 2.x (rhbz#2333776)
* Thu Jul 25 2024 Sérgio Basto <sergio@serjux.com> - 0.7.0-11
- Rebuild for opencv 4.10.0
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 0.7.0-9
- Rebuilt for Python 3.13
* Mon Feb 05 2024 Sérgio Basto <sergio@serjux.com> - 0.7.0-8
- Rebuild for opencv 4.9.0
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 04 2024 Florian Weimer <fweimer@redhat.com> - 0.7.0-5
- Fix C compatibility issue in Cython wrapper
* Mon Aug 07 2023 Rich Mattes <richmattes@gmail.com> - 0.7.0-4
- Fix build error with cython 3
* Mon Aug 07 2023 Sérgio Basto <sergio@serjux.com> - 0.7.0-4
- Rebuild for opencv 4.8.0
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 13 2023 Rich Mattes <richmattes@gmail.com> - 0.7.0-2
- Updates for Python 3.12 compatibility
- Resolves: rhbz#2220025
* Sat Jun 17 2023 Python Maint <python-maint@redhat.com> - 0.7.0-2
- Rebuilt for Python 3.12
* Thu May 04 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.7.0-1
- Update to 0.7.0
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Sérgio Basto <sergio@serjux.com> - 0.6.4-2
- Rebuild for opencv 4.7.0
* Sat Sep 24 2022 Phil Wyett <philip.wyett@kathenas.org> - 0.6.4-1
- New upstream version 0.6.4
- Remove old globals
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 21 2022 Sérgio Basto <sergio@serjux.com> - 0.6.2-8
- Rebuilt for opencv 4.6.0
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.6.2-7
- Rebuilt for Python 3.11
* Wed Jan 26 2022 Phil Wyett <philip.wyett@kathenas.org> - 0.6.2-6
- Fix FTBFS. Update cmake related OpenGL GLVND and GLUT.
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Sep 01 2021 Phil Wyett <philip.wyett@kathenas.org> - 0.6.2-4
- Drop not needed Cython BuildRequires
- Resolves: #1984287
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.6.2-2
- Rebuilt for Python 3.10
* Thu Mar 04 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.6.2-1
- Update to 0.6.2
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Oct 22 2020 Nicolas Chauvet <kwizart@gmail.com> - 0.6.1-7
- Rebuilt for OpenCV
* Mon Aug 03 2020 Leigh Scott <leigh123linux@gmail.com> - 0.6.1-6 * Mon Aug 03 2020 Leigh Scott <leigh123linux@gmail.com> - 0.6.1-6
- Fix unversioned python - Fix unversioned python
- Switch to new cmake macros - Switch to new cmake macros

View file

@ -1,7 +1,6 @@
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h 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
--- /dev/null +++ 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
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-ppc/OniPlatformLinux-PPC.h
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
+/***************************************************************************** +/*****************************************************************************
+* * +* *
@ -44,10 +43,9 @@ Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33
+ +
+#endif //_ONI_PLATFORM_LINUX_PPC_H_ +#endif //_ONI_PLATFORM_LINUX_PPC_H_
+ +
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h 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
--- /dev/null +++ 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
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-s390/OniPlatformLinux-s390.h
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
+/***************************************************************************** +/*****************************************************************************
+* * +* *
@ -91,10 +89,9 @@ Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33
+ +
+#endif //_ONI_PLATFORM_LINUX_s390_H_ +#endif //_ONI_PLATFORM_LINUX_s390_H_
+ +
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.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-0.7.5.orig/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 2014-09-18 11:52:50.242149667 +0200
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/OniPlatform.h
@@ -27,6 +27,8 @@ @@ -27,6 +27,8 @@
#define ONI_PLATFORM_LINUX_ARM 3 #define ONI_PLATFORM_LINUX_ARM 3
#define ONI_PLATFORM_MACOSX 4 #define ONI_PLATFORM_MACOSX 4
@ -104,57 +101,14 @@ Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33
#if (defined _WIN32) #if (defined _WIN32)
# ifndef RC_INVOKED # ifndef RC_INVOKED
@@ -41,6 +43,12 @@ @@ -41,6 +43,10 @@
# include "Linux-x86/OniPlatformLinux-x86.h" # include "Linux-x86/OniPlatformLinux-x86.h"
#elif (__linux__ && (__arm__ || __aarch64__)) #elif (__linux__ && (__arm__ || __aarch64__))
# include "Linux-Arm/OniPlatformLinux-Arm.h" # include "Linux-Arm/OniPlatformLinux-Arm.h"
+#elif (__linux__ && (__powerpc__ || __powerpc64__)) +#elif (__linux__ && (__powerpc__ || __powerpc64__))
+# include "Linux-ppc/OniPlatformLinux-PPC.h" +# include "Linux-ppc/OniPlatformLinux-PPC.h"
+#elif (__linux__ && (__riscv))
+# include "Linux-riscv/OniPlatformLinux-RISCV.h"
+#elif (__linux__ && (__s390__ || __s390x__ )) +#elif (__linux__ && (__s390__ || __s390x__ ))
+# include "Linux-s390/OniPlatformLinux-s390.h" +# include "Linux-s390/OniPlatformLinux-s390.h"
#elif _ARC #elif _ARC
# include "ARC/OniPlaformARC.h" # include "ARC/OniPlaformARC.h"
#elif (__APPLE__) #elif (__APPLE__)
Index: libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-riscv/OniPlatformLinux-RISCV.h
===================================================================
--- /dev/null
+++ libfreenect-0.7.5/OpenNI2-FreenectDriver/extern/OpenNI-Linux-x64-2.2.0.33/Include/Linux-riscv/OniPlatformLinux-RISCV.h
@@ -0,0 +1,36 @@
+/*****************************************************************************
+* *
+* OpenNI 2.x Alpha *
+* Copyright (C) 2012 PrimeSense Ltd. *
+* *
+* This file is part of OpenNI. *
+* *
+* Licensed under the Apache License, Version 2.0 (the "License"); *
+* you may not use this file except in compliance with the License. *
+* You may obtain a copy of the License at *
+* *
+* http://www.apache.org/licenses/LICENSE-2.0 *
+* *
+* Unless required by applicable law or agreed to in writing, software *
+* distributed under the License is distributed on an "AS IS" BASIS, *
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
+* See the License for the specific language governing permissions and *
+* limitations under the License. *
+* *
+*****************************************************************************/
+#ifndef _ONI_PLATFORM_LINUX_RISCV_H_
+#define _ONI_PLATFORM_LINUX_RISCV_H_
+
+// Start with Linux-x86, and override what's different
+#include "../Linux-x86/OniPlatformLinux-x86.h"
+
+//---------------------------------------------------------------------------
+// Platform Basic Definition
+//---------------------------------------------------------------------------
+#undef ONI_PLATFORM
+#undef ONI_PLATFORM_STRING
+#define ONI_PLATFORM ONI_PLATFORM_LINUX_RISCV
+#define ONI_PLATFORM_STRING "Linux-RISCV"
+
+#endif //_ONI_PLATFORM_LINUX_RISCV_H_
+

View file

@ -1 +1 @@
SHA512 (libfreenect-0.7.5.tar.gz) = 6ba9ba632d9021b84a8c137837226fadc6e0e091cf89bf092e8ee805610c227c31da95b50c05d5882357cb80d7e4275693d13d1511eb2eb45f15ffffc2d549bf SHA512 (libfreenect-0.6.1.tar.gz) = 832cf6f184b71f1a447068c3a7b745471a81ffa5e026ef9cfab9c479e26f4dcd49cb60ffde5238ba18e132c7bb4dd6b812a5b0e443bd0dbb99ea748e359a0e16