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