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