2cf53db0657581a368393675bbbf65c9779b576f
[platform/core/uifw/dali-adaptor.git] / packaging / dali-adaptor-mobile.spec
1 Name:       dali-adaptor
2 Summary:    The DALi Tizen Adaptor
3 Version:    1.1.4
4 Release:    1
5 Group:      System/Libraries
6 License:    Apache-2.0
7 URL:        https://review.tizen.org/git/?p=platform/core/uifw/dali-adaptor.git;a=summary
8 Source0:    %{name}-%{version}.tar.gz
9
10 %define dali_profile MOBILE
11 %define dali_mobile_profile 1
12 %define dali_feedback_plugin 0
13 %define dali_bullet_plugin 0
14 %define dali_assimp_plugin 0
15 %define over_tizen_2_2 1
16
17 %if 0%{?over_tizen_2_2}
18 %define shaderbincache_flag ENABLE
19 %endif
20
21 Requires(post): /sbin/ldconfig
22 Requires(postun): /sbin/ldconfig
23 Requires:       giflib
24 BuildRequires:  pkgconfig
25 BuildRequires:  gawk
26 BuildRequires:  pkgconfig(sensor)
27 BuildRequires:  pkgconfig(aul)
28 BuildRequires:  giflib-devel
29 BuildRequires:  pkgconfig(xi)
30 BuildRequires:  pkgconfig(fontconfig)
31 BuildRequires:  pkgconfig(elementary)
32 BuildRequires:  pkgconfig(capi-appfw-application)
33 BuildRequires:  libjpeg-turbo-devel
34 BuildRequires:  pkgconfig(evas)
35 BuildRequires:  pkgconfig(xfixes)
36 BuildRequires:  pkgconfig(xdamage)
37 BuildRequires:  pkgconfig(utilX)
38 BuildRequires:  dali-devel
39 BuildRequires:  dali-integration-devel
40 BuildRequires:  pkgconfig(vconf)
41 BuildRequires:  tts-devel
42 BuildRequires:  pkgconfig(dlog)
43 BuildRequires:  libdrm-devel
44 BuildRequires:  pkgconfig(libexif)
45 BuildRequires:  pkgconfig(capi-system-system-settings)
46 BuildRequires:  pkgconfig(libpng)
47 BuildRequires:  pkgconfig(glesv2)
48 BuildRequires:  pkgconfig(efl-assist)
49 BuildRequires:  libcurl-devel
50 BuildRequires:  pkgconfig(harfbuzz)
51 BuildRequires:  fribidi-devel
52
53 %if 0%{?over_tizen_2_2}
54 BuildRequires:  pkgconfig(capi-system-info)
55 %endif
56
57 %if 0%{?dali_assimp_plugin}
58 BuildRequires:  pkgconfig(assimp)
59 %endif
60
61 %description
62 The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core
63 platform abstraction and application shell
64
65 ##############################
66 # devel
67 ##############################
68 %package devel
69 Summary:    Development components for the DALi Tizen Adaptor
70 Group:      Development/Building
71 Requires:   %{name} = %{version}-%{release}
72 Requires:   %{name}-integration-devel = %{version}-%{release}
73
74 %description devel
75 Development components for the DALi Tizen Adaptor - public headers and package configs
76
77 ##############################
78 # integration-devel
79 ##############################
80 %package integration-devel
81 Summary:    Integration development package for the Adaptor
82 Group:      Development/Building
83 Requires:   %{name} = %{version}-%{release}
84
85 %description integration-devel
86 Integration development package for the Adaptor - headers for integrating with an adaptor library.
87
88 ##############################
89 # Dali Feedback Plugin
90 ##############################
91 %package dali-feedback-plugin
92 Summary:    Plugin to play haptic and audio feedback for Dali
93 Group:      System/Libraries
94 %if 0%{?dali_feedback_plugin}
95 Requires:       libdeviced
96 BuildRequires:  pkgconfig(mm-sound)
97 BuildRequires:  pkgconfig(deviced)
98 BuildRequires:  libfeedback-devel
99 %endif
100
101 %description dali-feedback-plugin
102 Feedback plugin to play haptic and audio feedback for Dali
103
104 ##############################
105 # Dali Dynamics/Bullet Plugin
106 ##############################
107 %package dali-bullet-plugin
108 Summary:    Plugin to provide physics
109 Group:      System/Libraries
110 %if 0%{?dali_bullet_plugin}
111 BuildRequires:  libbullet-devel
112 %endif
113
114 %description dali-bullet-plugin
115 Dynamics plugin to wrap the libBulletDynamics libraries
116
117 ##############################
118 # Preparation
119 ##############################
120 %prep
121 %setup -q
122 %define dali_data_rw_dir         /opt/usr/share/dali/
123 %define dali_data_ro_dir         /usr/share/dali/
124 %define smack_rule_dir           /etc/smack/accesses2.d/
125 %define user_shader_cache_dir    %{dali_data_ro_dir}/core/shaderbin/
126 %define font_preloaded_path      /usr/share/fonts/
127 %define font_downloaded_path     /opt/share/fonts/
128 %define font_application_path    /usr/share/app_fonts/
129 %define font_configuration_file  /opt/etc/fonts/conf.avail/99-slp.conf
130 %define dali_plugin_sound_files  %{dali_data_ro_dir}/plugins/sounds/
131 %define dali_plugin_theme_files  %{dali_data_ro_dir}/themes/feedback-themes/
132
133 %define dev_include_path %{_includedir}
134
135 ##############################
136 # Build
137 ##############################
138 %build
139 PREFIX+="/usr"
140 CXXFLAGS+=" -Wall -g -Os -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
141 LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
142
143 %ifarch %{arm}
144 CXXFLAGS+=" -D_ARCH_ARM_ -lgcc"
145 %endif
146
147 %if 0%{?over_tizen_2_2}
148 CFLAGS+=" -DOVER_TIZEN_SDK_2_2"
149 CXXFLAGS+=" -DOVER_TIZEN_SDK_2_2"
150 %endif
151
152 libtoolize --force
153 cd %{_builddir}/%{name}-%{version}/build/tizen
154 autoreconf --install
155 DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
156 DALI_DATA_RO_DIR="%{dali_data_ro_dir}" ; export DALI_DATA_RO_DIR
157 FONT_PRELOADED_PATH="%{font_preloaded_path}" ; export FONT_PRELOADED_PATH
158 FONT_DOWNLOADED_PATH="%{font_downloaded_path}" ; export FONT_DOWNLOADED_PATH
159 FONT_APPLICATION_PATH="%{font_application_path}" ; export FONT_APPLICATION_PATH
160 FONT_CONFIGURATION_FILE="%{font_configuration_file}" ; export FONT_CONFIGURATION_FILE
161
162 %configure --with-jpeg-turbo --enable-gles=20 --enable-shaderbincache=%{shaderbincache_flag} --enable-profile=%{dali_profile} \
163 %if 0%{?dali_feedback_plugin}
164            --enable-feedback \
165 %endif
166 %if 0%{?dali_bullet_plugin}
167            --enable-bullet \
168 %endif
169 %if 0%{?dali_assimp_plugin}
170            --enable-assimp \
171 %endif
172 %if 0%{?over_tizen_2_2}
173            --with-over-tizen_2_2 \
174 %endif
175            --libdir=%{_libdir}
176
177 make %{?jobs:-j%jobs}
178
179 ##############################
180 # Installation
181 ##############################
182 %install
183 rm -rf %{buildroot}
184 cd build/tizen
185 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
186
187 ##############################
188 # Smack
189 ##############################
190 mkdir -p %{buildroot}%{smack_rule_dir}
191 cp -f %{_builddir}/%{name}-%{version}/%{name}.rule-mobile %{buildroot}%{smack_rule_dir}/%{name}.rule
192
193 # LICENSE
194 mkdir -p %{buildroot}/usr/share/license
195 cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{name}
196
197 ##############################
198 # Upgrade order:
199 # 1 - Pre Install new package
200 # 2 - Install new package
201 # 3 - Post install new package
202 # 4 - Pre uninstall old package
203 # 5 - Remove files not overwritten by new package
204 # 6 - Post uninstall old package
205 ##############################
206
207 %pre
208 exit 0
209
210 ##############################
211 #  Post Install new package
212 ##############################
213 %post
214 /sbin/ldconfig
215 exit 0
216
217 %if 0%{?dali_feedback_plugin}
218 %post dali-feedback-plugin
219 /sbin/ldconfig
220 exit 0
221 %endif
222
223 %if 0%{?dali_bullet_plugin}
224 %post dali-bullet-plugin
225 /sbin/ldconfig
226 exit 0
227 %endif
228
229 ##############################
230 #   Pre Uninstall old package
231 ##############################
232 %preun
233 exit 0
234
235 ##############################
236 #   Post Uninstall old package
237 ##############################
238 %postun
239 /sbin/ldconfig
240 exit 0
241
242 %if 0%{?dali_feedback_plugin}
243 %postun dali-feedback-plugin
244 /sbin/ldconfig
245 exit 0
246 %endif
247
248 %if 0%{?dali_bullet_plugin}
249 %postun dali-bullet-plugin
250 /sbin/ldconfig
251 exit 0
252 %endif
253
254 ##############################
255 # Files in Binary Packages
256 ##############################
257
258 %files
259 %manifest dali-adaptor.manifest-mobile
260 %defattr(-,root,root,-)
261 %{smack_rule_dir}/%{name}.rule
262 %{_libdir}/libdali-adap*.so*
263 %defattr(-,app,app,-)
264 %dir %{user_shader_cache_dir}
265 %{_bindir}/*
266 %{_datadir}/license/%{name}
267
268 %files devel
269 %defattr(-,root,root,-)
270 %{dev_include_path}/dali/dali.h
271 %{dev_include_path}/dali/public-api/*
272 %{dev_include_path}/dali/devel-api/*
273 %{dev_include_path}/dali/doc/*
274 %{_libdir}/pkgconfig/dali.pc
275
276 %files integration-devel
277 %defattr(-,root,root,-)
278 %{dev_include_path}/dali/integration-api/adaptors/*
279 %{_libdir}/pkgconfig/dali-adaptor-integration.pc
280
281 %if 0%{?dali_feedback_plugin}
282 %files dali-feedback-plugin
283 %defattr(-,root,root,-)
284 %{_libdir}/libdali-feedback-plugin.so*
285 %{dali_plugin_sound_files}/*
286 %{dali_plugin_theme_files}/*
287 %endif
288
289 %if 0%{?dali_bullet_plugin}
290 %files dali-bullet-plugin
291 %defattr(-,root,root,-)
292 %{_libdir}/libdali-bullet-plugin.so*
293 %endif