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