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