DALi Version 1.4.35
[platform/core/uifw/dali-toolkit.git] / packaging / dali-toolkit.spec
1 Name:       dali-toolkit
2 Summary:    Dali 3D engine Toolkit
3 Version:    1.4.35
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
13 BuildRequires:  pkgconfig
14 BuildRequires:  pkgconfig(dlog)
15 BuildRequires:  pkgconfig(dali-core)
16 BuildRequires:  pkgconfig(dali-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 %description resources_360x360
38 dali-toolkit default resource files for 360x360
39 Contain po / sounds / common images / style / style images
40
41 %package resources_480x800
42 Summary:    default resource files for 480x800
43 Requires:   %{name} = %{version}-%{release}
44 Conflicts:  %{name}-resources_360x360
45 Conflicts:  %{name}-resources_720x1280
46 Conflicts:  %{name}-resources_1920x1080
47 %description resources_480x800
48 dali-toolkit default resource files for 480x800
49 Contain po / sounds / common images / style / style images
50
51 %package resources_720x1280
52 Summary:    default resource files for 720x1280
53 Requires:   %{name} = %{version}-%{release}
54 Conflicts:  %{name}-resources_360x360
55 Conflicts:  %{name}-resources_480x800
56 Conflicts:  %{name}-resources_1920x1080
57 %description resources_720x1280
58 dali-toolkit default resource files for 720x1280
59 Contain po / sounds / common images / style / style images
60
61 %package resources_1920x1080
62 Summary:    default resource files for 1920x1080
63 Requires:   %{name} = %{version}-%{release}
64 Conflicts:  %{name}-resources_360x360
65 Conflicts:  %{name}-resources_480x800
66 Conflicts:  %{name}-resources_720x1280
67 %description resources_1920x1080
68 dali-toolkit default resource files for 1920x1080
69 Contain po / sounds / common images / style / style images
70
71 ##############################
72 # devel
73 ##############################
74 %package devel
75 Summary:    Application development package for Dali 3D engine toolkit
76 Group:      Development/Building
77 Requires:   %{name} = %{version}-%{release}
78
79 %description devel
80 Application development package for Dali 3D engine toolkit - headers and package config
81
82 ##############################
83 # Preparation
84 ##############################
85 %prep
86 %setup -q
87
88 %define dali_data_rw_dir            %TZ_SYS_SHARE/dali/
89 %define dali_data_ro_dir            %TZ_SYS_RO_SHARE/dali/
90
91 %define dali_toolkit_image_files    %{dali_data_ro_dir}/toolkit/images/
92 %define dali_toolkit_sound_files    %{dali_data_ro_dir}/toolkit/sounds/
93 %define dali_toolkit_style_files    %{dali_data_ro_dir}/toolkit/styles/
94 %define dev_include_path %{_includedir}
95
96 # PO
97 {
98 cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
99 for language in *.po
100 do
101   language=${language%.po}
102   msgfmt -o ${language}.mo ${language}.po
103 done
104 } &> /dev/null
105
106 ##############################
107 # Build
108 ##############################
109 %build
110 PREFIX="/usr"
111 CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
112 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
113
114 %if 0%{?enable_coverage}
115 CXXFLAGS+=" --coverage "
116 LDFLAGS+=" --coverage "
117 %endif
118
119 libtoolize --force
120 cd %{_builddir}/dali-toolkit-%{version}/build/tizen
121 autoreconf --install
122 DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
123 DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
124
125 %configure --enable-profile=TIZEN \
126 %if 0%{?enable_debug}
127            --enable-debug \
128 %endif
129 %if 0%{?enable_trace}
130       --enable-trace \
131 %endif
132            --enable-i18n=yes \
133            --enable-rename-so=no
134
135 make %{?jobs:-j%jobs}
136
137 pushd %{_builddir}/%{name}-%{version}/build/tizen
138 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
139 popd
140
141 pushd %{buildroot}%{_libdir}
142 for FILE in libdali-toolkit-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
143 mv pkgconfig/dali-toolkit.pc %{_builddir}/%{name}-%{version}/build/tizen/dali-toolkit.pc
144 popd
145
146 ##############################
147 # Installation
148 ##############################
149 %install
150 rm -rf %{buildroot}
151 pushd %{_builddir}/%{name}-%{version}/build/tizen
152 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
153
154 for FILE in libdali-toolkit-cxx11.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
155 mv dali-toolkit.pc %{buildroot}%{_libdir}/pkgconfig/dali-toolkit.pc
156
157 # PO
158 {
159 cd %{_builddir}/dali-toolkit-%{version}/dali-toolkit/po
160 for language in *.mo
161 do
162   language=${language%.mo}
163   mkdir -p %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/
164   cp ${language}.mo %{buildroot}/%{_datadir}/locale/${language}/LC_MESSAGES/dali-toolkit.mo
165 done
166 } &> /dev/null
167 popd
168
169 #############################
170 #rename
171 #############################
172 pushd  %{buildroot}%{_libdir}
173 rm -rf libdali-toolkit.so
174 rm -rf libdali-toolkit-cxx11.so
175 ln -s libdali-toolkit-cxx11.so.0.0.* libdali-toolkit.so
176 popd
177
178 # Remove default style and style images which are for Linux build
179 rm -rf %{buildroot}%{dali_toolkit_style_files}/*
180
181 # Make folder to contain style and style images
182 # After making folder, copy local style and style images to new folder
183 mkdir -p %{buildroot}%{dali_toolkit_style_files}/360x360
184 cp -r dali-toolkit/styles/360x360/* %{buildroot}%{dali_toolkit_style_files}/360x360
185 mkdir -p %{buildroot}%{dali_toolkit_style_files}/480x800
186 cp -r dali-toolkit/styles/480x800/* %{buildroot}%{dali_toolkit_style_files}/480x800
187 mkdir -p %{buildroot}%{dali_toolkit_style_files}/720x1280
188 cp -r dali-toolkit/styles/720x1280/* %{buildroot}%{dali_toolkit_style_files}/720x1280
189 mkdir -p %{buildroot}%{dali_toolkit_style_files}/1920x1080
190 cp -r dali-toolkit/styles/1920x1080/* %{buildroot}%{dali_toolkit_style_files}/1920x1080
191
192 # Copy default feedback theme
193 cp dali-toolkit/styles/default-feedback-theme.json %{buildroot}%{dali_toolkit_style_files}
194
195 ##############################
196 # Pre Install
197 ##############################
198
199 %pre resources_360x360
200 case "$1" in
201   2)
202     pushd %{dali_toolkit_style_files}
203     rm -rf ./*
204     popd
205   ;;
206 esac
207
208 %pre resources_480x800
209 case "$1" in
210   2)
211     pushd %{dali_toolkit_style_files}
212     rm -rf ./*
213     popd
214   ;;
215 esac
216
217 %pre resources_720x1280
218 case "$1" in
219   2)
220     pushd %{dali_toolkit_style_files}
221     rm -rf ./*
222     popd
223   ;;
224 esac
225
226 %pre resources_1920x1080
227 case "$1" in
228   2)
229     pushd %{dali_toolkit_style_files}
230     rm -rf ./*
231     popd
232   ;;
233 esac
234
235 ##############################
236 # Post Install
237 ##############################
238 %post
239 /sbin/ldconfig
240 exit 0
241
242 %post resources_360x360
243 pushd %{dali_toolkit_style_files}/360x360
244 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
245 popd
246
247 %post resources_480x800
248 pushd %{dali_toolkit_style_files}/480x800
249 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
250 popd
251
252 %post resources_720x1280
253 pushd %{dali_toolkit_style_files}/720x1280
254 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
255 popd
256
257 %post resources_1920x1080
258 pushd %{dali_toolkit_style_files}/1920x1080
259 for FILE in *; do mv ./"${FILE}" ../"${FILE}"; done
260 popd
261
262 ##############################
263 # Pre Uninstall
264 ##############################
265
266 %preun resources_360x360
267 case "$1" in
268   0)
269     %preun resources_360x360
270     pushd %{dali_toolkit_style_files}
271     mv images ./360x360
272     mv dali-toolkit-default-theme.json ./360x360
273     popd
274   ;;
275 esac
276
277 %preun resources_480x800
278 case "$1" in
279   0)
280     %preun resources_480x800
281     pushd %{dali_toolkit_style_files}
282     mv images ./480x800
283     mv dali-toolkit-default-theme.json ./480x800
284     popd
285   ;;
286 esac
287
288 %preun resources_720x1280
289 case "$1" in
290   0)
291     %preun resources_720x1280
292     pushd %{dali_toolkit_style_files}
293     mv images ./720x1280
294     mv dali-toolkit-default-theme.json ./720x1280
295     popd
296   ;;
297 esac
298
299 %preun resources_1920x1080
300 case "$1" in
301   0)
302     %preun resources_1920x1080
303     pushd %{dali_toolkit_style_files}
304     mv images ./1920x1080
305     mv dali-toolkit-default-theme.json ./1920x1080
306     popd
307   ;;
308 esac
309
310 ##############################
311 # Post Uninstall
312 ##############################
313 %postun
314 /sbin/ldconfig
315 exit 0
316
317 %postun resources_360x360
318 case "$1" in
319   0)
320     pushd %{dali_toolkit_style_files}
321     rm -rf *
322     popd
323   ;;
324 esac
325
326 %postun resources_480x800
327 case "$1" in
328   0)
329     pushd %{dali_toolkit_style_files}
330     rm -rf *
331     popd
332   ;;
333 esac
334
335 %postun resources_720x1280
336 case "$1" in
337   0)
338     pushd %{dali_toolkit_style_files}
339     rm -rf *
340     popd
341   ;;
342 esac
343
344 %postun resources_1920x1080
345 case "$1" in
346   0)
347     pushd %{dali_toolkit_style_files}
348     rm -rf *
349     popd
350   ;;
351 esac
352
353 ##############################
354 # Files in Binary Packages
355 ##############################
356 %files
357 %if 0%{?enable_dali_smack_rules}
358 %manifest dali-toolkit.manifest-smack
359 %else
360 %manifest dali-toolkit.manifest
361 %endif
362 %defattr(-,root,root,-)
363 %{_libdir}/libdali-toolkit-cxx11.so.*
364 %{_libdir}/libdali-toolkit.so
365 %license LICENSE
366
367 %files devel
368 %defattr(-,root,root,-)
369 %{dev_include_path}/dali-toolkit/*
370 %{_libdir}/pkgconfig/dali-toolkit.pc
371
372 %files resources_360x360
373 %manifest dali-toolkit-resources.manifest
374 %defattr(-,root,root,-)
375 %{dali_toolkit_image_files}/*
376 %{dali_toolkit_sound_files}/*
377 %{dali_toolkit_style_files}/360x360/*
378 %{dali_toolkit_style_files}/default-feedback-theme.json
379 %{_datadir}/locale/*/LC_MESSAGES/*
380
381 %files resources_480x800
382 %manifest dali-toolkit-resources.manifest
383 %defattr(-,root,root,-)
384 %{dali_toolkit_image_files}/*
385 %{dali_toolkit_sound_files}/*
386 %{dali_toolkit_style_files}/480x800/*
387 %{dali_toolkit_style_files}/default-feedback-theme.json
388 %{_datadir}/locale/*/LC_MESSAGES/*
389
390 %files resources_720x1280
391 %manifest dali-toolkit-resources.manifest
392 %defattr(-,root,root,-)
393 %{dali_toolkit_image_files}/*
394 %{dali_toolkit_sound_files}/*
395 %{dali_toolkit_style_files}/720x1280/*
396 %{dali_toolkit_style_files}/default-feedback-theme.json
397 %{_datadir}/locale/*/LC_MESSAGES/*
398
399 %files resources_1920x1080
400 %manifest dali-toolkit-resources.manifest
401 %defattr(-,root,root,-)
402 %{dali_toolkit_image_files}/*
403 %{dali_toolkit_sound_files}/*
404 %{dali_toolkit_style_files}/1920x1080/*
405 %{dali_toolkit_style_files}/default-feedback-theme.json
406 %{_datadir}/locale/*/LC_MESSAGES/*