3 %bcond_without apidocs # API documentation
4 %bcond_without java # Java wrappers
5 %bcond_without mono # Mono/.NET wrappers
6 %bcond_with sse2 # use SSE2 instructions
7 %bcond_with sse3 # use SSE3 instructions
8 %bcond_with ssse3 # use SSE3 and SSSE3 instructions
13 Summary: OpenNI framework for Natural Interaction devices
14 Summary(pl.UTF-8): Szkielet OpenNI do urządzeń służących interakcji z naturą
20 Source0: https://github.com/OpenNI/OpenNI/tarball/Stable-%{version}#/%{name}-%{version}.tar.gz
21 # Source0-md5: 12389c56bf3685a741f6bcfa068585ff
22 Patch0: %{name}-system-libs.patch
23 Patch1: %{name}-link.patch
24 Patch2: %{name}-nosse.patch
25 URL: http://openni.org/
26 BuildRequires: OpenGL-devel
28 BuildRequires: OpenGL-glut-devel >= 3
29 %{?with_apidocs:BuildRequires: doxygen}
30 %{?with_apidocs:BuildRequires: graphviz}
31 %{?with_java:BuildRequires: jdk >= 1.6.0}
32 BuildRequires: libjpeg-devel
33 BuildRequires: libstdc++-devel >= 6:4.0
34 BuildRequires: libusb-devel >= 1.0.8
35 %{?with_mono:BuildRequires: mono-csharp}
36 BuildRequires: python >= 1:2.6
37 BuildRequires: rpmbuild(macros) >= 1.566
38 BuildRequires: sed >= 4.0
39 # NOTE: other platforms need adding a dozen of defines in Include/Linux-*/*.h
40 ExclusiveArch: %{ix86} %{x8664} arm
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define openni_platform x86
47 %define openni_platform x64
50 %define openni_platform Arm
54 OpenNI framework provides an application programming interface (API)
55 for writing applications utilizing natural interaction. This API
56 covers communication with both low level devices (e.g. vision and
57 audio sensors), as well as high-level middleware solutions (e.g. for
58 visual tracking using computer vision).
60 The OpenNI Framework provides the interface for physical devices and
61 for middleware components. The API enables modules to be registered in
62 the OpenNI framework and used to produce sensory data. Selecting the
63 hardware or middleware module is easy and flexible.
65 %description -l pl.UTF-8
66 Szkielet OpenNI zapewnia interfejs programistyczny (API) dla aplikacji
67 wykorzystujących interakcję z naturą. API to pokrywa komunikację
68 zarówno z urządzeniami niskiego poziomu (takimi jak czujniki obrazu i
69 dźwięku), jak i rozwiązaniami wysokiego poziomu warstwy pośredniej
70 (np. do wizualnego śledzenia przy użyciu obrazu komputerowego).
72 Szkielet OpenNI zapewnia interfejs dla fizycznych urządzeń oraz
73 komponentów warstwy pośredniej. API pozwala na rejestrowanie modułów w
74 szkielecie OpenNI i wykorzystywanie do tworzenia danych sensorycznych.
75 Wybór sprzętu i modułu pośredniego jest prosty i elastyczny.
78 Summary: Header files for OpenNI library
79 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenNI
80 Group: Development/Libraries
81 Requires: %{name} = %{version}-%{release}
84 Header files for OpenNI library.
86 %description devel -l pl.UTF-8
87 Pliki nagłówkowe biblioteki OpenNI.
90 Summary: OpenNI user guide
91 Summary(pl.UTF-8): Podręcznik użytkownika OpenNI
95 OpenNI user guide in PDF format.
97 %description doc -l pl.UTF-8
98 Podręcznik użytkownika OpenNI w formacie PDF.
101 Summary: OpenNI API documentation
102 Summary(pl.UTF-8): Dokumentacja API biblioteki OpenNI
104 %if "%{_rpmversion}" >= "5"
109 API and internal documentation for OpenNI library.
111 %description apidocs -l pl.UTF-8
112 Dokumentacja API biblioteki OpenNI.
114 %package -n java-OpenNI
115 Summary: Java wrapper for OpenNI
116 Summary(pl.UTF-8): Interfejs Javy do OpenNI
117 Group: Libraries/Java
118 Requires: %{name} = %{version}-%{release}
119 Requires: jpackage-utils
120 Requires: jre >= 1.6.0
122 %description -n java-OpenNI
123 Java wrapper for OpenNI.
125 %description -n java-OpenNI -l pl.UTF-8
126 Interfejs Javy do OpenNI.
128 %package -n dotnet-OpenNI
129 Summary: .NET wrapper for OpenNI
130 Summary(pl.UTF-8): Interfejs .NET do OpenNI
132 Requires: %{name} = %{version}-%{release}
135 %description -n dotnet-OpenNI
136 .NET wrapper for OpenNI.
138 %description -n dotnet-OpenNI -l pl.UTF-8
139 Interfejs .NET do OpenNI.
142 %setup -q -n %{name}-OpenNI-1516074
143 %undos Platform/Linux/Build/Samples/NiUserTracker/Makefile
148 sed -i -e 's///' Wrappers/OpenNI.net/*.cs Samples/*.net/*.cs
151 %{__make} -C Platform/Linux/Build clean
152 export CFLAGS="%{rpmcflags}"
153 %{__make} -C Platform/Linux/Build \
156 HOSTPLATFORM=%{openni_platform} \
157 SSE_GENERATION=%{?with_sse3:3}%{!?with_sse3:%{?with_sse2:2}} \
158 %{?with_ssse3:SSSE3_ENABLED=1} \
159 %{!?with_mono:MONO_INSTALLED=0} \
160 %{!?with_java:ALL_JAVA_PROJS= JAVA_SAMPLES=}
168 rm -rf $RPM_BUILD_ROOT
169 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/ni,/var/lib/ni}
171 BDIR=Platform/Linux/Bin/%{openni_platform}-PLD
172 install -p ${BDIR}/ni{Reg,License} $RPM_BUILD_ROOT%{_bindir}
173 install -p ${BDIR}/libOpenNI.so $RPM_BUILD_ROOT%{_libdir}
174 install -p ${BDIR}/libnim{Codecs,MockNodes,Recorder}.so $RPM_BUILD_ROOT%{_libdir}
175 cp -p Include/*.h $RPM_BUILD_ROOT%{_includedir}/ni
176 %ifarch %{ix86} %{x8664}
177 cp -pr Include/Linux-x86 $RPM_BUILD_ROOT%{_includedir}/ni
180 cp -pr Include/Linux-Arm $RPM_BUILD_ROOT%{_includedir}/ni
184 install -d $RPM_BUILD_ROOT%{_javadir}
185 install -p ${BDIR}/libOpenNI.jni.so $RPM_BUILD_ROOT%{_libdir}
186 cp -p ${BDIR}/org.OpenNI.jar $RPM_BUILD_ROOT%{_javadir}
190 gacutil -i ${BDIR}/OpenNI.net.dll -package 2.0 -root $RPM_BUILD_ROOT%{_prefix}/lib
194 rm -rf $RPM_BUILD_ROOT
198 for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
199 %{_bindir}/niReg -r %{_libdir}/$mod
203 if [ "$1" = "0" ]; then
204 for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
205 %{_bindir}/niReg -u %{_libdir}/$mod
209 %postun -p /sbin/ldconfig
212 %defattr(644,root,root,755)
214 %attr(755,root,root) %{_bindir}/niLicense
215 %attr(755,root,root) %{_bindir}/niReg
216 %attr(755,root,root) %{_libdir}/libOpenNI.so
217 %attr(755,root,root) %{_libdir}/libnimCodecs.so
218 %attr(755,root,root) %{_libdir}/libnimMockNodes.so
219 %attr(755,root,root) %{_libdir}/libnimRecorder.so
223 %defattr(644,root,root,755)
227 %defattr(644,root,root,755)
228 %doc Documentation/OpenNI_UserGuide.pdf
232 %defattr(644,root,root,755)
233 %doc Source/DoxyGen/html/*.{bmp,css,html,js,png}
237 %files -n java-OpenNI
238 %defattr(644,root,root,755)
239 %attr(755,root,root) %{_libdir}/libOpenNI.jni.so
240 %{_javadir}/org.OpenNI.jar
244 %files -n dotnet-OpenNI
245 %defattr(644,root,root,755)
246 %{_prefix}/lib/mono/2.0/OpenNI.net.dll
247 %{_prefix}/lib/mono/gac/OpenNI.net