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
| | (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))))
(sha256
(base32 "0was1va167rqshmpn382h36yyprpfi9cwillb6ylppmnfdrfrhrr"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; Project has not 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 libfreenect-python
"-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+))))
(define (disable-sources)
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
((".*libusb.*") "")
(("add_subdirectory \\(src\\)") "")
((".*libfreenectConfig.cmake.*") ""))))
(define-public libfreenect-examples
(package
(inherit libfreenect)
(name "libfreenect-examples")
(inputs
`(("libfreenect" ,libfreenect)
("glut" ,freeglut)))
(arguments
`(#:tests? #f ; Project has not tests
#:configure-flags '("-DBUILD_EXAMPLES=ON"
"-DBUILD_FAKENECT=OFF"
"-DBUILD_CPP=OFF"
"-DBUILD_C_SYNC=OFF"
"-DBUILD_CV=OFF")
#:phases
(modify-phases %standard-phases
;; Sources are already compiled in libfreenect input
(add-after 'unpack 'disable-sources ,disable-sources)))) ;; UNKNOW OBJECT!
(synopsis "Examples for libfreenect, the Xbox Kinect device library")))
(define-public libfreenect-cv
(package
(inherit libfreenect)
(name "libfreenect-cv")
(inputs
`(("libfreenect" ,libfreenect)
("opencv" ,opencv)))
(arguments
`(#:tests? #f ; Project has not tests
#:configure-flags '("-DBUILD_EXAMPLES=OFF"
"-DBUILD_FAKENECT=OFF"
"-DBUILD_CPP=OFF"
"-DBUILD_C_SYNC=OFF"
"-DBUILD_CV=ON")
#:phases
(modify-phases %standard-phases
;; Sources are already compiled in libfreenect input
(add-after 'unpack 'disable-sources ,disable-sources))))
(synopsis "OpenCV wrapper for libfreenect, the Xbox Kinect device
library")))
(define-public libfreenect-python
(package
(inherit libfreenect)
(name "libfreenect-python")
(native-inputs
`(("python-cython" ,python-cython)))
(inputs
`(("libfreenect" ,libfreenect)))
(propagated-inputs
`(("python" ,python)
("python-numpy" ,python-numpy)))
(arguments
`(#:tests? #f ; Project has not tests
#:configure-flags '("-DBUILD_EXAMPLES=OFF"
"-DBUILD_FAKENECT=OFF"
"-DBUILD_CPP=OFF"
"-DBUILD_C_SYNC=OFF"
"-DBUILD_CV=OFF"
"-DBUILD_PYTHON3=ON")
#:phases
(modify-phases %standard-phases
;; Sources are already compiled in libfreenect input
(add-after 'unpack 'disable-sources ,disable-sources))))
(synopsis "Python wrapper for libfreenect, the Xbox Kinect device
library")))
|