]> git.pld-linux.org Git - packages/OpenNI.git/blame - OpenNI.spec
noarch apidocs
[packages/OpenNI.git] / OpenNI.spec
CommitLineData
15e3f957
JB
1#
2# Conditional build:
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
becca253 9
15e3f957
JB
10%if %{with ssse}
11%define with_sse3 1
12%endif
13Summary: OpenNI framework for Natural Interaction devices
14Summary(pl.UTF-8): Szkielet OpenNI do urządzeń służących interakcji z naturą
15Name: OpenNI
16Version: 1.5.2.23
becca253 17Release: 2
15e3f957
JB
18License: LGPL v3+
19Group: Libraries
20Source0: https://github.com/OpenNI/OpenNI/tarball/Stable-%{version}#/%{name}-%{version}.tar.gz
21# Source0-md5: 12389c56bf3685a741f6bcfa068585ff
22Patch0: %{name}-system-libs.patch
23Patch1: %{name}-link.patch
24Patch2: %{name}-nosse.patch
25URL: http://openni.org/
26BuildRequires: OpenGL-devel
5317508f
JB
27# for examples
28BuildRequires: OpenGL-glut-devel >= 3
15e3f957 29%{?with_apidocs:BuildRequires: doxygen}
15e3f957
JB
30%{?with_apidocs:BuildRequires: graphviz}
31%{?with_java:BuildRequires: jdk >= 1.6.0}
32BuildRequires: libjpeg-devel
33BuildRequires: libstdc++-devel >= 6:4.0
34BuildRequires: libusb-devel >= 1.0.8
35%{?with_mono:BuildRequires: mono-csharp}
36BuildRequires: python >= 1:2.6
4c5a3ffd 37BuildRequires: rpmbuild(macros) >= 1.566
15e3f957 38BuildRequires: sed >= 4.0
7c20a007 39# NOTE: other platforms need adding a dozen of defines in Include/Linux-*/*.h
15e3f957
JB
40ExclusiveArch: %{ix86} %{x8664} arm
41BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43%ifarch %{ix86}
44%define openni_platform x86
45%endif
46%ifarch %{x8664}
47%define openni_platform x64
48%endif
49%ifarch arm
50%define openni_platform Arm
51%endif
52
53%description
54OpenNI framework provides an application programming interface (API)
55for writing applications utilizing natural interaction. This API
56covers communication with both low level devices (e.g. vision and
57audio sensors), as well as high-level middleware solutions (e.g. for
58visual tracking using computer vision).
59
60The OpenNI Framework provides the interface for physical devices and
61for middleware components. The API enables modules to be registered in
62the OpenNI framework and used to produce sensory data. Selecting the
63hardware or middleware module is easy and flexible.
64
65%description -l pl.UTF-8
66Szkielet OpenNI zapewnia interfejs programistyczny (API) dla aplikacji
67wykorzystujących interakcję z naturą. API to pokrywa komunikację
68zarówno z urządzeniami niskiego poziomu (takimi jak czujniki obrazu i
69dźwięku), jak i rozwiązaniami wysokiego poziomu warstwy pośredniej
70(np. do wizualnego śledzenia przy użyciu obrazu komputerowego).
71
72Szkielet OpenNI zapewnia interfejs dla fizycznych urządzeń oraz
73komponentów warstwy pośredniej. API pozwala na rejestrowanie modułów w
74szkielecie OpenNI i wykorzystywanie do tworzenia danych sensorycznych.
75Wybór sprzętu i modułu pośredniego jest prosty i elastyczny.
76
77%package devel
78Summary: Header files for OpenNI library
79Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenNI
80Group: Development/Libraries
81Requires: %{name} = %{version}-%{release}
82
83%description devel
84Header files for OpenNI library.
85
86%description devel -l pl.UTF-8
87Pliki nagłówkowe biblioteki OpenNI.
88
89%package doc
90Summary: OpenNI user guide
91Summary(pl.UTF-8): Podręcznik użytkownika OpenNI
92Group: Documentation
93
94%description doc
95OpenNI user guide in PDF format.
96
97%description doc -l pl.UTF-8
98Podręcznik użytkownika OpenNI w formacie PDF.
99
100%package apidocs
101Summary: OpenNI API documentation
102Summary(pl.UTF-8): Dokumentacja API biblioteki OpenNI
103Group: Documentation
becca253
ER
104%if "%{_rpmversion}" >= "5"
105BuildArch: noarch
106%endif
15e3f957
JB
107
108%description apidocs
109API and internal documentation for OpenNI library.
110
111%description apidocs -l pl.UTF-8
112Dokumentacja API biblioteki OpenNI.
113
114%package -n java-OpenNI
115Summary: Java wrapper for OpenNI
116Summary(pl.UTF-8): Interfejs Javy do OpenNI
117Group: Libraries/Java
118Requires: %{name} = %{version}-%{release}
119Requires: jpackage-utils
120Requires: jre >= 1.6.0
121
122%description -n java-OpenNI
123Java wrapper for OpenNI.
124
125%description -n java-OpenNI -l pl.UTF-8
126Interfejs Javy do OpenNI.
127
128%package -n dotnet-OpenNI
129Summary: .NET wrapper for OpenNI
130Summary(pl.UTF-8): Interfejs .NET do OpenNI
131Group: Libraries
132Requires: %{name} = %{version}-%{release}
133Requires: mono
134
135%description -n dotnet-OpenNI
136.NET wrapper for OpenNI.
137
138%description -n dotnet-OpenNI -l pl.UTF-8
139Interfejs .NET do OpenNI.
140
141%prep
becca253 142%setup -q -n %{name}-OpenNI-1516074
4c5a3ffd 143%undos Platform/Linux/Build/Samples/NiUserTracker/Makefile
15e3f957
JB
144%patch0 -p1
145%patch1 -p1
146%patch2 -p1
147
148sed -i -e 's///' Wrappers/OpenNI.net/*.cs Samples/*.net/*.cs
149
150%build
151%{__make} -C Platform/Linux/Build clean
152export CFLAGS="%{rpmcflags}"
153%{__make} -C Platform/Linux/Build \
154 CFG=PLD \
155 CXX="%{__cxx}" \
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=}
161
162%if %{with apidocs}
163cd Source/DoxyGen
164doxygen Doxyfile
165%endif
166
167%install
168rm -rf $RPM_BUILD_ROOT
169install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/ni,/var/lib/ni}
170
171BDIR=Platform/Linux/Bin/%{openni_platform}-PLD
becca253
ER
172install -p ${BDIR}/ni{Reg,License} $RPM_BUILD_ROOT%{_bindir}
173install -p ${BDIR}/libOpenNI.so $RPM_BUILD_ROOT%{_libdir}
174install -p ${BDIR}/libnim{Codecs,MockNodes,Recorder}.so $RPM_BUILD_ROOT%{_libdir}
15e3f957
JB
175cp -p Include/*.h $RPM_BUILD_ROOT%{_includedir}/ni
176%ifarch %{ix86} %{x8664}
177cp -pr Include/Linux-x86 $RPM_BUILD_ROOT%{_includedir}/ni
178%endif
179%ifarch arm
180cp -pr Include/Linux-Arm $RPM_BUILD_ROOT%{_includedir}/ni
181%endif
182
183%if %{with java}
184install -d $RPM_BUILD_ROOT%{_javadir}
becca253
ER
185install -p ${BDIR}/libOpenNI.jni.so $RPM_BUILD_ROOT%{_libdir}
186cp -p ${BDIR}/org.OpenNI.jar $RPM_BUILD_ROOT%{_javadir}
15e3f957
JB
187%endif
188
189%if %{with mono}
190gacutil -i ${BDIR}/OpenNI.net.dll -package 2.0 -root $RPM_BUILD_ROOT%{_prefix}/lib
191%endif
192
193%clean
194rm -rf $RPM_BUILD_ROOT
195
196%post
197/sbin/ldconfig
becca253 198for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
15e3f957
JB
199 %{_bindir}/niReg -r %{_libdir}/$mod
200done
201
202%preun
203if [ "$1" = "0" ]; then
becca253 204 for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
15e3f957
JB
205 %{_bindir}/niReg -u %{_libdir}/$mod
206 done
207fi
208
209%postun -p /sbin/ldconfig
210
211%files
212%defattr(644,root,root,755)
213%doc CHANGES README
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
c714cde4 220%dir /var/lib/ni
15e3f957
JB
221
222%files devel
223%defattr(644,root,root,755)
224%{_includedir}/ni
225
226%files doc
227%defattr(644,root,root,755)
228%doc Documentation/OpenNI_UserGuide.pdf
229
230%if %{with apidocs}
231%files apidocs
232%defattr(644,root,root,755)
233%doc Source/DoxyGen/html/*.{bmp,css,html,js,png}
234%endif
235
236%if %{with java}
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
241%endif
242
243%if %{with mono}
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
248%endif
This page took 0.075238 seconds and 4 git commands to generate.