]> git.pld-linux.org Git - packages/OpenNI.git/blob - OpenNI.spec
6a49ac3b6a9d9caaea3a9a3b26d9e6531e1bc32c
[packages/OpenNI.git] / OpenNI.spec
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
9
10 %if %{with ssse}
11 %define with_sse3       1
12 %endif
13 Summary:        OpenNI framework for Natural Interaction devices
14 Summary(pl.UTF-8):      Szkielet OpenNI do urządzeń służących interakcji z naturą
15 Name:           OpenNI
16 Version:        1.5.2.23
17 Release:        2
18 License:        LGPL v3+
19 Group:          Libraries
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
27 # for examples
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)
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
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).
59
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.
64
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).
71
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.
76
77 %package devel
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}
82
83 %description devel
84 Header files for OpenNI library.
85
86 %description devel -l pl.UTF-8
87 Pliki nagłówkowe biblioteki OpenNI.
88
89 %package doc
90 Summary:        OpenNI user guide
91 Summary(pl.UTF-8):      Podręcznik użytkownika OpenNI
92 Group:          Documentation
93
94 %description doc
95 OpenNI user guide in PDF format.
96
97 %description doc -l pl.UTF-8
98 Podręcznik użytkownika OpenNI w formacie PDF.
99
100 %package apidocs
101 Summary:        OpenNI API documentation
102 Summary(pl.UTF-8):      Dokumentacja API biblioteki OpenNI
103 Group:          Documentation
104 %if "%{_rpmversion}" >= "5"
105 BuildArch:      noarch
106 %endif
107
108 %description apidocs
109 API and internal documentation for OpenNI library.
110
111 %description apidocs -l pl.UTF-8
112 Dokumentacja API biblioteki OpenNI.
113
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
121
122 %description -n java-OpenNI
123 Java wrapper for OpenNI.
124
125 %description -n java-OpenNI -l pl.UTF-8
126 Interfejs Javy do OpenNI.
127
128 %package -n dotnet-OpenNI
129 Summary:        .NET wrapper for OpenNI
130 Summary(pl.UTF-8):      Interfejs .NET do OpenNI
131 Group:          Libraries
132 Requires:       %{name} = %{version}-%{release}
133 Requires:       mono
134
135 %description -n dotnet-OpenNI
136 .NET wrapper for OpenNI.
137
138 %description -n dotnet-OpenNI -l pl.UTF-8
139 Interfejs .NET do OpenNI.
140
141 %prep
142 %setup -q -n %{name}-OpenNI-1516074
143 %undos Platform/Linux/Build/Samples/NiUserTracker/Makefile
144 %patch0 -p1
145 %patch1 -p1
146 %patch2 -p1
147
148 sed -i -e 's///' Wrappers/OpenNI.net/*.cs Samples/*.net/*.cs
149
150 %build
151 %{__make} -C Platform/Linux/Build clean
152 export 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}
163 cd Source/DoxyGen
164 doxygen Doxyfile
165 %endif
166
167 %install
168 rm -rf $RPM_BUILD_ROOT
169 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/ni,/var/lib/ni}
170
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
178 %endif
179 %ifarch arm
180 cp -pr Include/Linux-Arm $RPM_BUILD_ROOT%{_includedir}/ni
181 %endif
182
183 %if %{with java}
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}
187 %endif
188
189 %if %{with mono}
190 gacutil -i ${BDIR}/OpenNI.net.dll -package 2.0 -root $RPM_BUILD_ROOT%{_prefix}/lib
191 %endif
192
193 %clean
194 rm -rf $RPM_BUILD_ROOT
195
196 %post
197 /sbin/ldconfig
198 for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
199         %{_bindir}/niReg -r %{_libdir}/$mod
200 done
201
202 %preun
203 if [ "$1" = "0" ]; then
204         for mod in libnimMockNodes.so libnimCodecs.so libnimRecorder.so; do
205                 %{_bindir}/niReg -u %{_libdir}/$mod
206         done
207 fi
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
220 %dir /var/lib/ni
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.116447 seconds and 2 git commands to generate.