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 01/29] 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 02/29] 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 03/29] 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 04/29] 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 05/29] 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 06/29] 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 07/29] 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 08/29] 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 09/29] 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 10/29] 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 11/29] 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 12/29] 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 13/29] 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 14/29] 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 15/29] 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 16/29] 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 17/29] 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 18/29] 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 19/29] 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 20/29] 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 21/29] 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 22/29] 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 23/29] 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 24/29] 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 25/29] 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 26/29] 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 27/29] 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 28/29] 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 29/29] 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_ ++