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