63604368c5b2a0558f9c22fbb569b01a5e73d1d3
[platform/core/uifw/dali-toolkit.git] / packaging / dali-toolkit.spec
1 Name:       dali2-toolkit
2 Summary:    Dali 3D engine Toolkit
3 Version:    2.1.10
4 Release:    1
5 Group:      System/Libraries
6 License:    Apache-2.0 and BSD-3-Clause and MIT
7 URL:        https://review.tizen.org/git/?p=platform/core/uifw/dali-toolkit.git;a=summary
8 Source0:    %{name}-%{version}.tar.gz
9
10 Requires(post): /sbin/ldconfig
11 Requires(postun): /sbin/ldconfig
12 BuildRequires:  cmake
13 BuildRequires:  pkgconfig
14 BuildRequires:  pkgconfig(dlog)
15 BuildRequires:  pkgconfig(dali2-core)
16 BuildRequires:  pkgconfig(dali2-adaptor)
17 BuildRequires:  gettext
18 BuildRequires:  pkgconfig(libtzplatform-config)
19
20 #############################
21 # profile setup
22 #############################
23
24 %description
25 Dali 3D engine Toolkit - a set of controls that provide
26 user interface functionality.
27
28 ##############################
29 # resource
30 ##############################
31 %package resources_360x360
32 Summary:    default resource files for 360x360
33 Requires:   %{name} = %{version}-%{release}
34 Conflicts:  %{name}-resources_480x800
35 Conflicts:  %{name}-resources_720x1280
36 Conflicts:  %{name}-resources_1920x1080
37 Conflicts:  %{name}-resources_1920x1080_rpi
38 %description resources_360x360
39 dali-toolkit default resource files for 360x360
40 Contain po / sounds / common images / style / style images
41
42 %package resources_480x800
43 Summary:    default resource files for 480x800
44 Requires:   %{name} = %{version}-%{release}
45 Conflicts:  %{name}-resources_360x360
46 Conflicts:  %{name}-resources_720x1280
47 Conflicts:  %{name}-resources_1920x1080
48 Conflicts:  %{name}-resources_1920x1080_rpi
49 %description resources_480x800
50 dali-toolkit default resource files for 480x800
51 Contain po / sounds / common images / style / style images
52
53 %package resources_720x1280
54 Summary:    default resource files for 720x1280
55 Requires:   %{name} = %{version}-%{release}
56 Conflicts:  %{name}-resources_360x360
57 Conflicts:  %{name}-resources_480x800
58 Conflicts:  %{name}-resources_1920x1080
59 Conflicts:  %{name}-resources_1920x1080_rpi
60 %description resources_720x1280
61 dali-toolkit default resource files for 720x1280
62 Contain po / sounds / common images / style / style images
63
64 %package resources_1920x1080
65 Summary:    default resource files for 1920x1080
66 Requires:   %{name} = %{version}-%{release}
67 Conflicts:  %{name}-resources_360x360
68 Conflicts:  %{name}-resources_480x800
69 Conflicts:  %{name}-resources_720x1280
70 Conflicts:  %{name}-resources_1920x1080_rpi
71 %description resources_1920x1080
72 dali-toolkit default resource files for 1920x1080
73 Contain po / sounds / common images / style / style images
74
75 %package resources_1920x1080_rpi
76 Summary:    default resource files for 1920x1080 on Raspberry Pi 4
77 Requires:   %{name} = %{version}-%{release}
78 Conflicts:  %{name}-resources_360x360
79 Conflicts:  %{name}-resources_480x800
80 Conflicts:  %{name}-resources_720x1280
81 Conflicts:  %{name}-resources_1920x1080
82 %description resources_1920x1080_rpi
83 dali-toolkit default resource files for 1920x1080 on Raspberry Pi 4
84 Contain po / sounds / common images / style / style images
85
86
87 ##############################
88 # devel
89 ##############################
90 %package devel
91 Summary:    Application development package for Dali 3D engine toolkit
92 Group:      Development/Building
93 Requires:   %{name} = %{version}-%{release}
94
95 %description devel
96 Application development package for Dali 3D engine toolkit - headers and package config
97
98 ##############################
99 # dali-scene-loader
100 ##############################
101 %define dali2_scene_loader dali2-scene-loader
102 %package -n %{dali2_scene_loader}
103 Summary:    DLI scene loading library
104 Group:      System/Libraries
105 License:    Apache-2.0
106 Requires:   dali2-toolkit
107
108 %description -n %{dali2_scene_loader}
109 Provides functionality for loading and displaying DLI format scenes. See README.md for more details.
110
111 %package -n %{dali2_scene_loader}-devel
112 Summary:    Development components for dali-scene-loader
113 Group:      Development/Building
114 Requires:   %{dali2_scene_loader} = %{version}-%{release}
115
116 %description -n %{dali2_scene_loader}-devel
117 Development components for dali-scene-loader.
118
119 %define dali_data_rw_dir            %TZ_SYS_SHARE/dali/
120 %define dali_data_ro_dir            %TZ_SYS_RO_SHARE/dali/
121
122 %define dali_toolkit_image_files    %{dali_data_ro_dir}/toolkit/images/
123 %define dali_toolkit_sound_files    %{dali_data_ro_dir}/toolkit/sounds/
124 %define dali_toolkit_style_files    %{dali_data_ro_dir}/toolkit/styles/
125 %define dev_include_path %{_includedir}
126
127 %define dali_xml_file_dir     %TZ_SYS_RO_PACKAGES
128
129 ##############################
130 # Preparation
131 ##############################
132 %prep
133 %setup -q
134
135 ##############################
136 # Build
137 ##############################
138 %build
139 # PO
140 {
141 cd %{_builddir}/dali2-toolkit-%{version}/dali-toolkit/po
142 for language in *.po
143 do
144   language=${language%.po}
145   msgfmt -o ${language}.mo ${language}.po
146 done
147 } &> /dev/null
148
149 PREFIX="/usr"
150 CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
151 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
152
153 %if 0%{?enable_coverage}
154 CXXFLAGS+=" --coverage "
155 LDFLAGS+=" --coverage "
156 %endif
157
158 %ifarch %{arm}
159 CXXFLAGS+=" -D_ARCH_ARM_"
160 %endif
161
162 libtoolize --force
163 cd %{_builddir}/dali2-toolkit-%{version}/build/tizen
164
165 DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
166 DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
167
168 cmake \
169 %if 0%{?enable_debug}
170       -DCMAKE_BUILD_TYPE=Debug \
171 %endif
172 %if 0%{?enable_trace}
173       -DENABLE_TRACE=ON \
174 %endif
175       -DCMAKE_INSTALL_PREFIX=%{_prefix} \
176       -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
177       -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
178       -DENABLE_I18N=ON
179
180 make %{?jobs:-j%jobs}
181
182 ##############################
183 # Installation
184 ##############################
185 %install
186 rm -rf %{buildroot}
187 cd build/tizen
188
189 pushd %{_builddir}/%{name}-%{version}/build/tizen
190 %make_install
191
192 # PO
193 {
194 cd %{_builddir}/dali2-toolkit-%{version}/dali-toolkit/po
195 for language in *.mo
196 do
197   language=${language%.mo}
198   mkdir -p %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/
199   cp ${language}.mo %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/dali-toolkit.mo
200 done
201 } &> /dev/null
202 popd
203
204 # Remove default style and style images which are for Linux build
205 rm -rf %{buildroot}%{dali_toolkit_style_files}/*
206
207 # Make folder to contain style and style images
208 # After making folder, copy local style and style images to new folder
209 pushd %{_builddir}/%{name}-%{version}
210 mkdir -p %{buildroot}%{dali_toolkit_style_files}/360x360
211 cp -r dali-toolkit/styles/360x360/* %{buildroot}%{dali_toolkit_style_files}/360x360
212 mkdir -p %{buildroot}%{dali_toolkit_style_files}/480x800
213 cp -r dali-toolkit/styles/480x800/* %{buildroot}%{dali_toolkit_style_files}/480x800
214 mkdir -p %{buildroot}%{dali_toolkit_style_files}/720x1280
215 cp -r dali-toolkit/styles/720x1280/* %{buildroot}%{dali_toolkit_style_files}/720x1280
216 mkdir -p %{buildroot}%{dali_toolkit_style_files}/1920x1080
217 cp -r dali-toolkit/styles/1920x1080/* %{buildroot}%{dali_toolkit_style_files}/1920x1080
218 mkdir -p %{buildroot}%{dali_toolkit_style_files}/1920x1080_rpi
219 cp -r dali-toolkit/styles/1920x1080_rpi/* %{buildroot}%{dali_toolkit_style_files}/1920x1080_rpi
220
221 # Copy default feedback theme
222 cp dali-toolkit/styles/default-feedback-theme.json %{buildroot}%{dali_toolkit_style_files}
223 popd
224
225 ##############################
226 # Pre Install
227 ##############################
228
229 %pre resources_360x360
230 case "$1" in
231   2)
232     pushd %{dali_toolkit_style_files}
233     rm -rf ./*
234     popd
235   ;;
236 esac
237
238 %pre resources_480x800
239 case "$1" in
240   2)
241     pushd %{dali_toolkit_style_files}
242     rm -rf ./*
243     popd
244   ;;
245 esac
246
247 %pre resources_720x1280
248 case "$1" in
249   2)
250     pushd %{dali_toolkit_style_files}
251     rm -rf ./*
252     popd
253   ;;
254 esac
255
256 %pre resources_1920x1080
257 case "$1" in
258   2)
259     pushd %{dali_toolkit_style_files}
260     rm -rf ./*
261     popd
262   ;;
263 esac
264
265 %pre resources_1920x1080_rpi
266 case "$1" in
267   2)
268     pushd %{dali_toolkit_style_files}
269     rm -rf ./*
270     popd
271   ;;
272 esac
273
274 ##############################
275 # Post Install
276 ##############################
277 %post
278 /sbin/ldconfig
279 exit 0
280
281 %post resources_360x360
282 pushd %{dali_toolkit_style_files}/360x360
283 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
284 popd
285
286 %post resources_480x800
287 pushd %{dali_toolkit_style_files}/480x800
288 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
289 popd
290
291 %post resources_720x1280
292 pushd %{dali_toolkit_style_files}/720x1280
293 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
294 popd
295
296 %post resources_1920x1080
297 pushd %{dali_toolkit_style_files}/1920x1080
298 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
299 popd
300
301 %post resources_1920x1080_rpi
302 pushd %{dali_toolkit_style_files}/1920x1080_rpi
303 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
304 popd
305
306 ##############################
307 # Pre Uninstall
308 ##############################
309
310 %preun resources_360x360
311 case "$1" in
312   0)
313     %preun resources_360x360
314     pushd %{dali_toolkit_style_files}
315     mv images ./360x360
316     mv dali-toolkit-default-theme.json ./360x360
317     popd
318   ;;
319 esac
320
321 %preun resources_480x800
322 case "$1" in
323   0)
324     %preun resources_480x800
325     pushd %{dali_toolkit_style_files}
326     mv images ./480x800
327     mv dali-toolkit-default-theme.json ./480x800
328     popd
329   ;;
330 esac
331
332 %preun resources_720x1280
333 case "$1" in
334   0)
335     %preun resources_720x1280
336     pushd %{dali_toolkit_style_files}
337     mv images ./720x1280
338     mv dali-toolkit-default-theme.json ./720x1280
339     popd
340   ;;
341 esac
342
343 %preun resources_1920x1080
344 case "$1" in
345   0)
346     %preun resources_1920x1080
347     pushd %{dali_toolkit_style_files}
348     mv images ./1920x1080
349     mv dali-toolkit-default-theme.json ./1920x1080
350     popd
351   ;;
352 esac
353
354 %preun resources_1920x1080_rpi
355 case "$1" in
356   0)
357     %preun resources_1920x1080_rpi
358     pushd %{dali_toolkit_style_files}
359     mv images ./1920x1080_rpi
360     mv dali-toolkit-default-theme.json ./1920x1080_rpi
361     popd
362   ;;
363 esac
364
365 ##############################
366 # Post Uninstall
367 ##############################
368 %postun
369 /sbin/ldconfig
370 exit 0
371
372 %postun resources_360x360
373 case "$1" in
374   0)
375     pushd %{dali_toolkit_style_files}
376     rm -rf *
377     popd
378   ;;
379 esac
380
381 %postun resources_480x800
382 case "$1" in
383   0)
384     pushd %{dali_toolkit_style_files}
385     rm -rf *
386     popd
387   ;;
388 esac
389
390 %postun resources_720x1280
391 case "$1" in
392   0)
393     pushd %{dali_toolkit_style_files}
394     rm -rf *
395     popd
396   ;;
397 esac
398
399 %postun resources_1920x1080
400 case "$1" in
401   0)
402     pushd %{dali_toolkit_style_files}
403     rm -rf *
404     popd
405   ;;
406 esac
407
408 %postun resources_1920x1080_rpi
409 case "$1" in
410   0)
411     pushd %{dali_toolkit_style_files}
412     rm -rf *
413     popd
414   ;;
415 esac
416
417 ##############################
418 # Files in Binary Packages
419 ##############################
420 %files
421 %if 0%{?enable_dali_smack_rules}
422 %manifest dali-toolkit.manifest-smack
423 %else
424 %manifest dali-toolkit.manifest
425 %endif
426 %defattr(-,root,root,-)
427 %{_libdir}/libdali2-toolkit.so*
428 %license LICENSE
429
430 %files devel
431 %defattr(-,root,root,-)
432 %{dev_include_path}/dali-toolkit/*
433 %{_libdir}/pkgconfig/dali2-toolkit.pc
434 %{_bindir}/dali-shader-generator
435
436 %files resources_360x360
437 %manifest dali-toolkit-resources.manifest
438 %defattr(-,root,root,-)
439 %{dali_toolkit_image_files}/*
440 %{dali_toolkit_sound_files}/*
441 %{dali_toolkit_style_files}/360x360/*
442 %{dali_toolkit_style_files}/default-feedback-theme.json
443 %{_datadir}/locale/*/LC_MESSAGES/*
444
445 %files resources_480x800
446 %manifest dali-toolkit-resources.manifest
447 %defattr(-,root,root,-)
448 %{dali_toolkit_image_files}/*
449 %{dali_toolkit_sound_files}/*
450 %{dali_toolkit_style_files}/480x800/*
451 %{dali_toolkit_style_files}/default-feedback-theme.json
452 %{_datadir}/locale/*/LC_MESSAGES/*
453
454 %files resources_720x1280
455 %manifest dali-toolkit-resources.manifest
456 %defattr(-,root,root,-)
457 %{dali_toolkit_image_files}/*
458 %{dali_toolkit_sound_files}/*
459 %{dali_toolkit_style_files}/720x1280/*
460 %{dali_toolkit_style_files}/default-feedback-theme.json
461 %{_datadir}/locale/*/LC_MESSAGES/*
462
463 %files resources_1920x1080
464 %manifest dali-toolkit-resources.manifest
465 %defattr(-,root,root,-)
466 %{dali_toolkit_image_files}/*
467 %{dali_toolkit_sound_files}/*
468 %{dali_toolkit_style_files}/1920x1080/*
469 %{dali_toolkit_style_files}/default-feedback-theme.json
470 %{_datadir}/locale/*/LC_MESSAGES/*
471
472 %files resources_1920x1080_rpi
473 %manifest dali-toolkit-resources.manifest
474 %defattr(-,root,root,-)
475 %{dali_toolkit_image_files}/*
476 %{dali_toolkit_sound_files}/*
477 %{dali_toolkit_style_files}/1920x1080_rpi/*
478 %{dali_toolkit_style_files}/default-feedback-theme.json
479 %{_datadir}/locale/*/LC_MESSAGES/*
480
481 %files -n %{dali2_scene_loader}
482 %if 0%{?enable_dali_smack_rules}
483 %manifest dali-scene-loader.manifest-smack
484 %else
485 %manifest dali-scene-loader.manifest
486 %endif
487 %defattr(-,root,root,-)
488 %{_libdir}/lib%{dali2_scene_loader}.so
489 %license LICENSE
490
491 %files -n %{dali2_scene_loader}-devel
492 %defattr(-,root,root,-)
493 %{_includedir}/dali-scene-loader/public-api/*
494 %{_libdir}/pkgconfig/dali2-scene-loader.pc