aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/openkinect.scm
blob: 0cdecca3aba29f634c460302ff126b89473a0717 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages openkinect)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system cmake)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages gl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages image-processing))

(define-public libfreenect
  (let ((version "0.6.1"))
    (package
      (name "libfreenect")
      (version version)
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://github.com/OpenKinect/libfreenect")
                      (commit (string-append "v" version))))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "0was1va167rqshmpn382h36yyprpfi9cwillb6ylppmnfdrfrhrr"))))
      (build-system cmake-build-system)
      (arguments
       '(#:tests? #f                    ; package has no tests
         #:configure-flags
         '("-DBUILD_FAKENECT=ON"
           "-DBUILD_CPP=ON"
           "-DBUILD_EXAMPLES=OFF"       ; available in libfreenect-examples
           "-DBUILD_CV=OFF"             ; available in libfreenect-cv
           "-DBUILD_PYTHON=OFF"         ; available in python-libfreenect
           "-DBUILD_C_SYNC=ON")
         #:phases
         (modify-phases %standard-phases
           (add-after 'install 'install-udev-rules
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                      (rules-out (string-append out "/lib/udev/rules.d")))
                 (install-file "../source/platform/linux/udev/51-kinect.rules"
                               (string-append rules-out "51-kinect.rules"))
                 #t))))))
      (native-inputs
       `(("pkg-config" ,pkg-config)))
      (inputs
       `(("libusb" ,libusb)))
      (synopsis "Drivers and libraries for the Xbox Kinect device")
      (description "libfreenect is a userspace driver for the Microsoft Kinect.
It supports: RGB and Depth Images, Motors, Accelerometer, LED and Audio.")
      (home-page "https://openkinect.org/")
      (license license:gpl2+))))

;; Library are already compiled in libfreenect, avoid build it again.
(define libfreenect-derived-phases
  '(modify-phases %standard-phases
     (add-after 'unpack 'patch-CMakeLists.txt
       (lambda* (#:key outputs #:allow-other-keys)
         (substitute* "CMakeLists.txt"
           ((".*libusb.*") "")
           (("add_subdirectory \\(src\\)") "")
           ((".*libfreenectConfig.cmake.*") ""))
         #t))))

(define-public libfreenect-examples
  (package
    (inherit libfreenect)
    (name "libfreenect-examples")
    (inputs
     `(("libfreenect" ,libfreenect)
       ("glut" ,freeglut)))
    (arguments
     `(#:tests? #f                      ; package has no tests
       #:configure-flags '("-DBUILD_EXAMPLES=ON"
                           "-DBUILD_FAKENECT=OFF"
                           "-DBUILD_CPP=OFF"
                           "-DBUILD_C_SYNC=OFF"
                           "-DBUILD_CV=OFF")
       #:phases ,libfreenect-derived-phases))
    (synopsis "Examples for libfreenect, the Xbox Kinect device library")))

(define-public libfreenect-opencv
  (package
    (inherit libfreenect)
    (name "libfreenect-opencv")
    (inputs
     `(("libfreenect" ,libfreenect)
       ("opencv" ,opencv)))
    (arguments
     `(#:tests? #f                      ; package has no tests
       #:configure-flags '("-DBUILD_EXAMPLES=OFF"
                           "-DBUILD_FAKENECT=OFF"
                           "-DBUILD_CPP=OFF"
                           "-DBUILD_C_SYNC=OFF"
                           "-DBUILD_CV=ON")
       #:phases ,libfreenect-derived-phases))
    (synopsis "OpenCV wrapper for libfreenect, the Xbox Kinect device
library")))

(define-public python-libfreenect
  (package
    (inherit libfreenect)
    (name "python-libfreenect")
    (native-inputs
     `(("python-cython" ,python-cython)))
    (inputs
     `(("libfreenect" ,libfreenect)))
    (propagated-inputs
     `(("python" ,python)
       ("python-numpy" ,python-numpy)))
    (arguments
     `(#:tests? #f                      ; package has no tests
       #:configure-flags '("-DBUILD_EXAMPLES=OFF"
                           "-DBUILD_FAKENECT=OFF"
                           "-DBUILD_CPP=OFF"
                           "-DBUILD_C_SYNC=OFF"
                           "-DBUILD_CV=OFF"
                           "-DBUILD_PYTHON3=ON")
       #:phases ,libfreenect-derived-phases))
    (synopsis "Python wrapper for libfreenect, the Xbox Kinect device
library")))
class='msg-tooltip'>* gnu/packages/webkit.scm (%webkit-version, webkitgtk, wpewebkit): Update to 2.36.8. Efraim Flashner 2022-10-12Merge remote-tracking branch 'origin/master' into staging...Conflicts: gnu/packages/gnuzilla.scm gnu/packages/graphics.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/kde-frameworks.scm gnu/packages/video.scm Efraim Flashner 2022-10-01gnu: webkitgtk: Update to 2.38.0....* gnu/packages/webkit.scm (webkitgtk): Update to 2.38.0. Liliana Marie Prikler 2022-09-15Merge branch 'staging' into core-updates...Conflicts resolved in: gnu/local.mk gnu/packages/cmake.scm gnu/packages/glib.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/sdl.scm pango-next, vala-next and librsvg-bootstrap were removed in the process. Maxim Cournoyer 2022-09-15Merge branch 'master' into staging...With resolved conflicts in: gnu/local.mk gnu/packages/freedesktop.scm gnu/packages/gnuzilla.scm Maxim Cournoyer 2022-09-13gnu: Add webkitgtk-next....* gnu/packages/webkit.scm (webkitgtk-next): New variable. Maxim Cournoyer 2022-09-13gnu: gnome-online-accounts: Update to 3.45.2, remove "lib" output....* gnu/packages/gnome.scm (gnome-online-accounts): Update to 3.45.2. [build-system]: Use meson-build-system. [glib-or-gtk?]: New argument. [phases]{patch-libgoa-output}: Delete phase. {disable-gtk-update-icon-cache}: New phase. [native-inputs]: Add gettext-minimal. [inputs]: Replace rest with rest-next; replace webkitgtk-with-libsoup2 with webkitgtk. Add gcr and mit-krb5. (gnome-recipes): Adjust for the removed gnome-online-accounts output. (gnome-music, gnome-online-miners, gnome-initial-setup): Likewise. (libgdata, gnome-contacts, grilo-plugins, evolution-data-server) (gnome-shell, gnome-todo, gnome-calendar, gnome-shell-extensions) (gnome-calculator, gnome-latex): Likewise. (gnome-online-accounts-3.44): New variable. * gnu/packages/geo.scm (gnome-maps): Likewise. * gnu/packages/webkit.scm: Update comment. Maxim Cournoyer 2022-09-07Merge branch 'master' into stagingMarius Bakke 2022-09-04gnu: webkitgtk: Increase the CI time-out period....* gnu/packages/webkit.scm (webkitgtk)[properties]: Increase the TIMEOUT to 40 hours. Tobias Geerinckx-Rice 2022-08-28Merge branch 'master' into stagingMarius Bakke 2022-08-28gnu: webkit: Update to 2.36.7....* gnu/packages/webkit.scm (%webkit-version, webkitgtk, wpewebkit): Update to 2.36.7. Efraim Flashner 2022-07-28gnu: webkitgtk: Add missing inputs....* gnu/packages/webkit.scm (webkitgtk)[inputs]: Add gst-plugins-bad-minimal and libgudev. Liliana Marie Prikler 2022-07-05gnu: WebKit: Update to 2.36.4 [security fixes]....Fixes CVE-2022-22677 and CVE-2022-26710. * gnu/packages/webkit.scm (%webkit-version, webkitgtk, wpewebkit): Update to 2.36.4. Leo Famulari 2022-06-14gnu: webkitgtk: Update to 2.36.3....* gnu/packages/webkit.scm (webkitgtk): Update to 2.36.3. Liliana Marie Prikler 2022-04-12gnu: wpewebkit: Update to 2.36.0....* gnu/packages/webkit.scm (%webkit-version): New variable. (wpewebkit): Update to 2.36.0, rewriting package to inherit from webkitgtk. (webkitgtk)[source]: Use %webkit-version, and adjust definition to match that of wpewebkit. Maxim Cournoyer 2022-04-12gnu: webkitgtk: Update to 2.36.0 and enable extra features....* gnu/packages/webkit.scm (webkitgtk): Update to 2.36.0. [source]: Remove the webkitgtk-bind-all-fonts.patch and webkitgtk-canonicalize-paths.patch patches. [arguments]: Use gexp. [tests?]: Update comment. [build-type]: Add explanatory comment. [configure-flags]: Enable gamepad support, remove nonexistent USE_SYSTEMD option and enable mini-browser. [phases]{do-not-disable-new-dtags}: New phase. {help-cmake-find-elogind}: Likewise. {patch-gtk-doc-scan}: Simplify to avoid for-each. Locate docbookx.dtd via search-input-file. {embed-absolute-wpebackend-reference}: Use search-input-file. [native-inputs]: Use new style. [inputs]: Likewise. Add elogind and libmanette. [description]: Adjust indentation. (webkitgtk-with-libsoup2): Re-format comment, fixing spacing. [configure-flags]: Use gexp. [propagated-inputs]: Use modify-inputs to replace libsoup with libsoup-minimal-2. * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Delete file. * gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise. * gnu/local.mk: De-register them. Maxim Cournoyer 2022-02-24gnu: webkitgtk: Adjust BubbleWrap wrapper....This revisits <https://issues.guix.gnu.org/40837> with a fix that doesn't require to have PULSE_CLIENTCONFIG point to an absolute store location, which will allow us to revert to have PULSE_CLIENTCONFIG point to a fixed location under /etc. This would alleviate the need to reboot to have changes to the PulseAudio configuration effected. * gnu/packages/patches/webkitgtk-share-store.patch: Delete file. * gnu/packages/patches/webkitgtk-bubblewrap-paths.patch: Add file. * gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise. * gnu/local.mk (dist_patch_DATA): Update patches list. * gnu/packages/webkit.scm (webkitgtk)[patches]: Adjust accordingly. Maxim Cournoyer 2022-02-18gnu: WebKitGTK: Update to 2.34.6 [Fixes CVE-2022-22620]....* gnu/packages/webkit.scm (webkitgtk): Update to 2.34.6. Leo Famulari 2022-02-13gnu: WebKitGTK: Update to 2.34.5 [security fixes]....Fixes CVE-2022-22589, CVE-2022-22590, CVE-2022-22592: https://webkitgtk.org/security/WSA-2022-0002.html * gnu/packages/webkit.scm (webkitgtk): Update to 2.34.5. Leo Famulari 2022-01-29gnu: wpewebkit: Update to 2.34.3 [security fixes]....This update fixes all the security issues fixed upstream between versions 2.30.5 and 2.34.3: https://webkitgtk.org/news.html * gnu/packages/webkit.scm (wpewebkit): Update to 2.34.3. [#:phases]: Add ‘patch-cmake’ phase to fix an error in the install directories of the documentation. [inputs]: Add lcms. Liliana Marie Prikler 2022-01-29gnu: wpebackend-fdo: Update to 1.12.0....* gnu/packages/webkit.scm (wpebackend-fdo): Update to 1.12.0. [build-system]: Use meson-build-system. [inputs]: Add libepoxy. Liliana Marie Prikler 2022-01-29gnu: libwpe: Update to 1.12.0....* gnu/packages/webkit.scm (libwpe): Update to 1.12.0. [build-system]: Use meson-build-system. Liliana Marie Prikler 2022-01-29gnu: WPE WebKit: Set the Common Platform Enumeration (CPE) name....* gnu/packages/webkit.scm (wpewebkit)[properties]: New field. Leo Famulari 2022-01-23gnu: WebKitGTK: Update to 2.34.4 [security fixes]....Fixes CVE-2021-30934, CVE-2021-30936, CVE-2021-30951, CVE-2021-30952, CVE-2021-30953, CVE-2021-30954, CVE-2021-30984. * gnu/packages/webkit.scm (webkitgtk): Update to 2.34.4. Leo Famulari 2022-01-10gnu: webkitgtk: Enable GStreamer GL support....* gnu/packages/webkit.scm (webkitgtk)[configure-flags]: Remove the '-DUSE_GSTREAMER_GL=OFF' build option. Maxim Cournoyer 2022-01-10gnu: webkitgtk: Add a note about plugins in description....This is in response to <https://issues.guix.gnu.org/52375>. * gnu/packages/webkit.scm (webkitgtk): Add a note about GStreamer plugins. Reported-by: Jack Hill <jackhill@jackhill.us> Maxim Cournoyer