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