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
93 %if "%{_rpmversion}" >= "5"
98 OpenNI user guide in PDF format.
100 %description doc -l pl.UTF-8
101 Podręcznik użytkownika OpenNI w formacie PDF.
104 Summary: OpenNI API documentation
105 Summary(pl.UTF-8): Dokumentacja API biblioteki OpenNI
107 %if "%{_rpmversion}" >= "5"
112 API and internal documentation for OpenNI library.
114 %description apidocs -l pl.UTF-8
115 Dokumentacja API biblioteki OpenNI.
117 %package -n java-OpenNI
118 Summary: Java wrapper for OpenNI
119 Summary(pl.UTF-8): Interfejs Javy do OpenNI
120 Group: Libraries/Java
121 Requires: %{name} = %{version}-%{release}
122 Requires: jpackage-utils
123 Requires: jre >= 1.6.0
125 %description -n java-OpenNI
126 Java wrapper for OpenNI.
128 %description -n java-OpenNI -l pl.UTF-8
129 Interfejs Javy do OpenNI.
131 %package -n dotnet-OpenNI
132 Summary: .NET wrapper for OpenNI
133 Summary(pl.UTF-8): Interfejs .NET do OpenNI
135 Requires: %{name} = %{version}-%{release}
138 %description -n dotnet-OpenNI
139 .NET wrapper for OpenNI.
141 %description -n dotnet-OpenNI -l pl.UTF-8
142 Interfejs .NET do OpenNI.
145 %setup -q -n %{name}-OpenNI-1516074
146 %undos Platform/Linux/Build/Samples/NiUserTracker/Makefile
151 sed -i -e 's///' Wrappers/OpenNI.net/*.cs Samples/*.net/*.cs
154 %{__make} -C Platform/Linux/Build clean
155 export CFLAGS="%{rpmcflags}"
156 %{__make} -C Platform/Linux/Build \
159 HOSTPLATFORM=%{openni_platform} \
160 SSE_GENERATION=%{?with_sse3:3}%{!?with_sse3:%{?with_sse2:2}} \
161 %{?with_ssse3:SSSE3_ENABLED=1} \
162 %{!?with_mono:MONO_INSTALLED=0} \
163 %{!?with_java:ALL_JAVA_PROJS= JAVA_SAMPLES=}
171 rm -rf $RPM_BUILD_ROOT
172 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/ni,/var/lib/ni}
174 BDIR=Platform/Linux/Bin/%{openni_platform}-PLD
175 install -p ${BDIR}/ni{Reg,License} $RPM_BUILD_ROOT%{_bindir}
176 install -p ${BDIR}/libOpenNI.so $RPM_BUILD_ROOT%{_libdir}
177 install -p ${BDIR}/libnim{Codecs,MockNodes,Recorder}.so $RPM_BUILD_ROOT%{_libdir}
178 cp -p Include/*.h $RPM_BUILD_ROOT%{_includedir}/ni
179 %ifarch %{ix86} %{x8664}
180 cp -pr Include/Linux-x86 $RPM_BUILD_ROOT%{_includedir}/ni
183 cp -pr Include/Linux-Arm $RPM_BUILD_ROOT%{_includedir}/ni
187 install -d $RPM_BUILD_ROOT%{_javadir}
188 install -p ${BDIR}/libOpenNI.jni.so $RPM_BUILD_ROOT%{_libdir}
189 cp -p ${BDIR}/org.OpenNI.jar $RPM_BUILD_ROOT%{_javadir}
193 gacutil -i ${BDIR}/OpenNI.net.dll -package 2.0 -root $RPM_BUILD_ROOT%{_prefix}/lib
197 rm -rf $RPM_BUILD_ROOT
201 for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
202 %{_bindir}/niReg -r %{_libdir}/$mod
206 if [ "$1" = "0" ]; then
207 for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
208 %{_bindir}/niReg -u %{_libdir}/$mod
212 %postun -p /sbin/ldconfig
215 %defattr(644,root,root,755)
217 %attr(755,root,root) %{_bindir}/niLicense
218 %attr(755,root,root) %{_bindir}/niReg
219 %attr(755,root,root) %{_libdir}/libOpenNI.so
220 %attr(755,root,root) %{_libdir}/libnimCodecs.so
221 %attr(755,root,root) %{_libdir}/libnimMockNodes.so
222 %attr(755,root,root) %{_libdir}/libnimRecorder.so
226 %defattr(644,root,root,755)
230 %defattr(644,root,root,755)
231 %doc Documentation/OpenNI_UserGuide.pdf
235 %defattr(644,root,root,755)
236 %doc Source/DoxyGen/html/*.{bmp,css,html,js,png}
240 %files -n java-OpenNI
241 %defattr(644,root,root,755)
242 %attr(755,root,root) %{_libdir}/libOpenNI.jni.so
243 %{_javadir}/org.OpenNI.jar
247 %files -n dotnet-OpenNI
248 %defattr(644,root,root,755)
249 %{_prefix}/lib/mono/2.0/OpenNI.net.dll
250 %{_prefix}/lib/mono/gac/OpenNI.net