Change GL_RGB to GL_RGBA for rendering 2D visualizer
[platform/core/api/mediavision.git] / packaging / capi-media-vision.spec
1 Name:        capi-media-vision
2 Summary:     Media Vision library for Tizen Native API
3 Version:     0.25.3
4 Release:     0
5 Group:       Multimedia/Framework
6 License:     Apache-2.0 and BSD-3-Clause
7 Source0:     %{name}-%{version}.tar.gz
8 BuildRequires: cmake
9 BuildRequires: pkgconfig(capi-media-tool)
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(capi-system-info)
12 BuildRequires: pkgconfig(opencv)
13 BuildRequires: pkgconfig(json-glib-1.0)
14 BuildRequires: pkgconfig(iniparser)
15 BuildRequires: pkgconfig(inference-engine-interface-common)
16 %if !0%{?ml_only:1}
17 BuildRequires: pkgconfig(glib-2.0)
18 BuildRequires: pkgconfig(zbar)
19 # Change to the pkgconfig(zint) after zint package refactor
20 BuildRequires: zint
21 BuildRequires: zint-devel
22 BuildRequires: pkgconfig(libavcodec)
23 BuildRequires: pkgconfig(libavformat)
24 BuildRequires: pkgconfig(libswscale)
25 BuildRequires: libavutil-devel
26 BuildRequires: pkgconfig(gstreamer-1.0)
27 BuildRequires: pkgconfig(gstreamer-base-1.0)
28 BuildRequires: pkgconfig(gstreamer-app-1.0)
29 BuildRequires: pkgconfig(libtzplatform-config)
30 BuildRequires: pkgconfig(ncurses)
31 BuildRequires: pkgconfig(libdrm)
32 BuildRequires: pkgconfig(wayland-egl)
33 BuildRequires: pkgconfig(glesv2)
34 BuildRequires: gtest-devel
35 BuildRequires: pkgconfig(dfs-adaptation)
36 %if 0%{?visualizer:1}
37 BuildRequires: pkgconfig(protobuf)
38 BuildRequires: pkgconfig(grpc++)
39 %endif
40 %endif
41
42 # Build options
43 # ENABLE_INFERENCE_PROFILER
44 # 0 : disable Mediavision inference engine profiler, 1 : enable Mediavision inference engine profiler.
45 %define enable_mv3d_pointcloud 0
46 %if "%{tizen_profile_name}" == "tv"
47 %define enable_ml_face_recognition 0
48 %define build_depth_stream_testsuite 0
49 %else
50 %define enable_ml_face_recognition 1
51 BuildRequires: pkgconfig(training-engine-interface-common)
52 Requires:      training-engine-interface-common
53
54 %define build_depth_stream_testsuite 1
55 BuildRequires: pkgconfig(vision-source)
56 %ifarch aarch64
57 %define enable_mv3d_pointcloud 1
58 BuildRequires: Open3D-devel
59 %endif
60 %endif
61 %define build_options -DENABLE_INFERENCE_PROFILER=0 -DENABLE_ML_FACE_RECOGNITION=%{enable_ml_face_recognition} -DBUILD_DEPTH_STREAM_TESTSUITE=%{build_depth_stream_testsuite} -DMV_3D_POINTCLOUD_IS_AVAILABLE=%{enable_mv3d_pointcloud}
62
63 Requires:   %{name}-machine_learning
64 Requires:   inference-engine-interface-common
65 %if !0%{?ml_only:1}
66 Requires:   %{name}-barcode
67 Requires:   %{name}-face
68 Requires:   %{name}-image
69 Requires:   %{name}-surveillance
70 Requires:   %{name}-3d
71 Requires:   %{name}-roi_tracker
72 %endif
73
74 %description
75 Media Vision library for Tizen Native API. Includes barcode detecting, barcode generating, face and image modules.
76
77 %if !0%{?ml_only:1}
78 %package devel
79 Summary:    Multimedia Vision Library (DEV)
80 Group:      Multimedia/Framework
81 Requires:   %{name} = %{version}-%{release}
82 Requires:   %{name}-barcode-devel
83 Requires:   %{name}-face-devel
84 Requires:   %{name}-image-devel
85 Requires:   %{name}-machine_learning-devel
86 Requires:   %{name}-surveillance-devel
87 Requires:   %{name}-3d-devel
88 Requires:   %{name}-roi_tracker-devel
89
90 %description devel
91 Media Vision library for Tizen Native API (DEV). Includes barcode detecting, barcode generating, face and image modules.
92 %endif
93
94 %if 0%{?gcov:1}
95 %package gcov
96 Summary: Line Coverage of Media Vision library for Tizen Native API
97 Group: Development/Multimedia
98
99 %description gcov
100 Collection of files related to Line Coverage. It is teseted as gcov for a Media Vision for Tizen Native API
101 %endif
102
103 %package common
104 Summary:    Multimedia Vision common Library
105 Group:      Multimedia/Framework
106
107 %description common
108 Media Vision common library for Tizen Native API.
109
110 %package common-devel
111 Summary:    Multimedia Vision common Library
112 Group:      Multimedia/Framework
113 Requires:   %{name}-common
114
115 %description common-devel
116 Media Vision common library for Tizen Native API (DEV).
117
118 %if !0%{?ml_only:1}
119 %package barcode
120 Summary:    Multimedia Vision Barcode Library
121 Group:      Multimedia/Framework
122 Requires:   %{name}-common
123
124 %description barcode
125 Media Vision barcode library for Tizen Native API.
126
127 %package barcode-devel
128 Summary:    Multimedia Vision Barcode Library
129 Group:      Multimedia/Framework
130 Requires:   %{name}-barcode
131 Requires:   %{name}-common-devel
132
133 %description barcode-devel
134 Media Vision barcode library for Tizen Native API (DEV).
135
136 %package face
137 Summary:    Multimedia Vision Library
138 Group:      Multimedia/Framework
139 Requires:   %{name}-common
140
141 %description face
142 Media Vision face library for Tizen Native API.
143
144 %package face-devel
145 Summary:    Multimedia Vision Face Library (DEV)
146 Group:      Multimedia/Framework
147 Requires:   %{name}-face
148 Requires:   %{name}-common-devel
149
150 %description face-devel
151 Media Vision face library for Tizen Native API (DEV).
152
153 %package image
154 Summary:    Multimedia Vision Image Library
155 Group:      Multimedia/Framework
156 Requires:   %{name}-common
157
158 %description image
159 Media Vision Image library for Tizen Native API.
160
161 %package image-devel
162 Summary:    Multimedia Vision Image Library
163 Group:      Multimedia/Framework
164 Requires:   %{name}-image
165 Requires:   %{name}-common-devel
166
167 %description image-devel
168 Media Vision Image library for Tizen Native API (DEV).
169
170 %package surveillance
171 Summary:    Multimedia Vision Surveillance Library
172 Group:      Multimedia/Framework
173 Requires:   %{name}-face
174
175 %description surveillance
176 Media Vision Surveillance library for Tizen Native API.
177
178 %package surveillance-devel
179 Summary:    Multimedia Vision Surveillance Library
180 Group:      Multimedia/Framework
181 Requires:   %{name}-surveillance
182 Requires:   %{name}-common-devel
183
184 %description surveillance-devel
185 Media Vision Surveillance library for Tizen Native API (DEV).
186
187 %package 3d
188 Summary:    Multimedia Vision 3d Library
189 Group:      Multimedia/Framework
190 Requires:   %{name}-common
191
192 %description 3d
193 Media Vision 3d library for Tizen Native API.
194
195 %package 3d-devel
196 Summary:    Multimedia Vision 3d Library
197 Group:      Multimedia/Framework
198 Requires:   %{name}-3d
199 Requires:   %{name}-common-devel
200
201 %description 3d-devel
202 Media Vision 3d library for Tizen Native API (DEV).
203 %endif
204
205 %package machine_learning
206 Summary:    Multimedia Vision Machine Learning Library
207 Group:      Multimedia/Framework
208 Requires:   %{name}-common
209
210 %description machine_learning
211 Media Vision Machine Learning library for Tizen Native API.
212
213 %package machine_learning-devel
214 Summary:    Multimedia Vision Machine Learning Library
215 Group:      Multimedia/Framework
216 Requires:   %{name}-machine_learning
217 Requires:   %{name}-common-devel
218
219 %description machine_learning-devel
220 Media Vision Machine Learning library for Tizen Native API (DEV).
221
222
223 %package roi_tracker
224 Summary:    Multimedia Vision Library
225 Group:      Multimedia/Framework
226 Requires:   %{name}-common
227
228 %description roi_tracker
229 Media Vision roi tracker library for Tizen Native API.
230
231 %package roi_tracker-devel
232 Summary:    Multimedia Vision ROI Tracker Library (DEV)
233 Group:      Multimedia/Framework
234 Requires:   %{name}-roi_tracker
235 Requires:   %{name}-common-devel
236
237 %description roi_tracker-devel
238 Media Vision roi_tracker library for Tizen Native API (DEV).
239
240
241 %if !0%{?ml_only:1}
242 %package testsuite
243 Summary:    Multimedia Vision Test Suite
244 Group:      Multimedia/Framework
245 Requires:   %{name}-barcode
246 Requires:   %{name}-face
247 Requires:   %{name}-image
248 Requires:   %{name}-surveillance
249 Requires:   %{name}-machine_learning
250 Requires:   %{name}-3d
251 Requires:   %{name}-roi_tracker
252 Requires:   check
253
254 %description testsuite
255 Media Vision Test Suite.
256 %endif
257
258 %prep
259 %setup -q
260
261 %build
262 %if 0%{?sec_build_binary_debug_enable}
263 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
264 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
265 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
266 %endif
267
268 export CFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
269 export CXXFLAGS+=" -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
270
271 export CFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
272 export CXXFLAGS+=" -DMV_CONFIG_PATH=\\\"%{TZ_SYS_RO_SHARE}/%{name}/\\\""
273
274 %if 0%{?gcov:1}
275 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
276 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
277 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
278 export LDFLAGS+=" -lgcov"
279 %endif
280
281 %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo %{build_options} \
282 %if 0%{?ml_only:1}
283  -DBUILD_ML_ONLY=ON \
284 %endif
285 %if 0%{?visualizer:1}
286  -DBUILD_VISUALIZER=ON \
287 %endif
288 %ifarch %arm aarch64
289 -DENABLE_NEON=ON
290 %endif
291
292 make %{?jobs:-j%jobs}
293
294 %install
295 %make_install
296
297 %if 0%{?gcov:1}
298 builddir=$(basename $PWD)
299 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
300 mkdir -p "$gcno_obj_dir"
301 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
302 %endif
303
304 %post -p /sbin/ldconfig
305 %postun -p /sbin/ldconfig
306
307 %files
308 %manifest %{name}.manifest
309 %license LICENSE.APLv2
310
311 %if !0%{?ml_only:1}
312 %files devel
313 %{_libdir}/pkgconfig/%{name}.pc
314 %endif
315
316 %files common
317 %manifest %{name}.manifest
318 %license LICENSE.APLv2
319 %{_datadir}/%{name}/media-vision-config.json
320 %{_libdir}/libmv_common*.so
321
322 %files common-devel
323 %{_includedir}/media/mv_common.h
324 %{_libdir}/pkgconfig/*common.pc
325
326 %if !0%{?ml_only:1}
327 %files barcode
328 %manifest %{name}.manifest
329 %license LICENSE.APLv2
330 %{_libdir}/libmv_barcode*.so
331
332 %files barcode-devel
333 %{_includedir}/media/mv_barcode*.h
334 %{_libdir}/pkgconfig/*barcode.pc
335
336 %files face
337 %manifest %{name}.manifest
338 %license LICENSE.APLv2
339 %{_libdir}/libmv_face*.so
340
341 %files face-devel
342 %{_includedir}/media/mv_face*.h
343 %{_libdir}/pkgconfig/*face.pc
344
345 %files image
346 %manifest %{name}.manifest
347 %license LICENSE.APLv2
348 %{_libdir}/libmv_image.so
349
350 %files image-devel
351 %{_includedir}/media/mv_image*.h
352 %{_libdir}/pkgconfig/*image.pc
353
354 %files surveillance
355 %manifest %{name}.manifest
356 %license LICENSE.APLv2
357 %{_libdir}/libmv_surveillance*.so
358
359 %files surveillance-devel
360 %{_includedir}/media/mv_surveillance*.h
361 %{_libdir}/pkgconfig/*surveillance.pc
362
363 %files 3d
364 %manifest %{name}.manifest
365 %license LICENSE.APLv2
366 %{_libdir}/libmv_3d*.so
367
368 %files 3d-devel
369 %{_includedir}/media/mv_3d*.h
370 %{_libdir}/pkgconfig/*3d.pc
371 %endif
372
373 %files machine_learning
374 %manifest %{name}.manifest
375 %license LICENSE.APLv2
376 %{_libdir}/libmv_inference*.so
377 %{_datadir}/%{name}/object_detection_3d.json
378 %{_libdir}/libmv_object_detection*.so
379 %if "%{enable_ml_face_recognition}" == "1"
380 %{_datadir}/%{name}/face_recognition.json
381 %{_libdir}/libmv_training.so
382 %{_libdir}/libmv_face_recognition.so
383 %endif
384
385 %files machine_learning-devel
386 %{_includedir}/media/mv_infer*.h
387 %{_includedir}/media/mv_object_detection_3d*.h
388 %{_libdir}/pkgconfig/*inference.pc
389 %{_libdir}/pkgconfig/*object-detection.pc
390 %if "%{enable_ml_face_recognition}" == "1"
391 %{_includedir}/media/mv_face_recognition*.h
392 %{_libdir}/pkgconfig/*training.pc
393 %{_libdir}/pkgconfig/*face-recognition.pc
394 %endif
395
396 %files roi_tracker
397 %manifest %{name}.manifest
398 %license LICENSE.APLv2
399 %{_libdir}/libmv_roi_tracker.so
400
401 %files roi_tracker-devel
402 %{_includedir}/media/mv_roi_tracker*.h
403 %{_libdir}/pkgconfig/*tracker.pc
404
405
406 %if !0%{?ml_only:1}
407 %files testsuite
408 %manifest %{name}.manifest
409 %license LICENSE.APLv2
410 %{_libdir}/libmv_*helper.so
411 %if 0%{?visualizer:1}
412 %{_libdir}/libmv_visualizer.so
413 %endif
414 %{_libdir}/libmv_testsuite*.so
415 %{_bindir}/mv_*
416 %{_bindir}/test_object_detection_3d
417 %if "%{enable_ml_face_recognition}" == "1"
418 %{_bindir}/test_face_recognition
419 %{_bindir}/measure_face_recognition
420 %endif
421 %endif
422
423 %if 0%{?gcov:1}
424 %files gcov
425 %{_datadir}/gcov/obj/*
426 %endif