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