Merge changes Ifaf5dd7d,Ib24df94c into devel/master
[platform/core/uifw/dali-demo.git] / packaging / com.samsung.dali-demo.spec
1 %bcond_with wayland
2
3 Name:       com.samsung.dali-demo
4 Summary:    The OpenGLES Canvas Core Demo
5 Version:    2.2.42
6 Release:    1
7 Group:      System/Libraries
8 License:    Apache-2.0
9 URL:        https://review.tizen.org/git/?p=platform/core/uifw/dali-demo.git;a=summary
10 Source0:    %{name}-%{version}.tar.gz
11
12 Requires(post): /sbin/ldconfig
13 Requires(postun): /sbin/ldconfig
14
15 BuildRequires:  cmake
16 BuildRequires:  pkgconfig
17 BuildRequires:  pkgconfig(capi-appfw-application)
18 BuildRequires:  pkgconfig(capi-appfw-app-control)
19 BuildRequires:  pkgconfig(capi-media-player)
20 BuildRequires:  pkgconfig(dlog)
21 BuildRequires:  gettext-tools
22 BuildRequires:  pkgconfig(dali2-core)
23 BuildRequires:  pkgconfig(dali2-adaptor)
24 BuildRequires:  pkgconfig(dali2-toolkit)
25 BuildRequires:  pkgconfig(dali2-scene3d)
26 BuildRequires:  pkgconfig(dali2-physics-2d)
27 BuildRequires:  pkgconfig(dali2-physics-3d)
28 BuildRequires:  pkgconfig(libtzplatform-config)
29 BuildRequires:  pkgconfig(gles20)
30 BuildRequires:  pkgconfig(glesv2)
31
32 %description
33 The OpenGLES Canvas Core Demo is a collection of examples and demonstrations
34 of the capability of the toolkit.
35
36 ##############################
37 # Resources
38 ##############################
39
40 %package resources_mobile
41 Summary:    Specific resource files for a 720x1280 display on Tizen Mobile
42 Requires:   %{name} = %{version}-%{release}
43 Conflicts:  %{name}-resources_rpi
44 %description resources_mobile
45 dali-demo specific resource files for a 720x1280 display on Tizen Mobile
46 Contains style / style images
47
48 %package resources_rpi
49 Summary:    Specific resource files for a 1920x1080 display on Raspberry Pi 4
50 Requires:   %{name} = %{version}-%{release}
51 Conflicts:  %{name}-resources_mobile
52 %description resources_rpi
53 dali-demo specific resource files for a 1920x1080 display on Raspberry Pi 4
54 Contains style / style images
55
56 ##############################
57 # Preparation
58 ##############################
59 %prep
60 %setup -q
61
62 %define dali_app_ro_dir       %TZ_SYS_RO_APP/com.samsung.dali-demo/
63 %define dali_xml_file_dir     %TZ_SYS_RO_PACKAGES
64 %define dali_icon_dir         %TZ_SYS_RO_ICONS
65 %define smack_rule_dir        %TZ_SYS_SMACK/accesses2.d/
66
67 %define dali_app_res_dir      %{dali_app_ro_dir}/res/
68 %define dali_app_exe_dir      %{dali_app_ro_dir}/bin/
69 %define locale_dir            %{dali_app_res_dir}/locale
70
71 %if 0%{?rpi_style}
72 %define local_style_dir       ../../resources/style/rpi
73 %else
74 %define local_style_dir       ../../resources/style/mobile
75 %endif
76
77 ##############################
78 # Build
79 ##############################
80 %build
81 PREFIX="/usr"
82 CXXFLAGS+=" -Wall -g -O2"
83 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed"
84
85 %ifarch %{arm}
86 CXXFLAGS+=" -D_ARCH_ARM_"
87 %endif
88
89 cd %{_builddir}/%{name}-%{version}/build/tizen
90
91 cmake -DDALI_APP_DIR=%{dali_app_ro_dir}/bin \
92       -DLOCALE_DIR=%{locale_dir} \
93       -DDALI_APP_RES_DIR=%{dali_app_res_dir} \
94 %if 0%{?enable_debug}
95       -DCMAKE_BUILD_TYPE=Debug \
96 %endif
97       -DENABLE_TRACE:BOOL=ON \
98       -DLOCAL_STYLE_DIR=%{local_style_dir} \
99       -DINTERNATIONALIZATION:BOOL=OFF \
100       -DTIZEN:BOOL=ON \
101 %if "%{?build_example_name}" != ""
102       -DBUILD_EXAMPLE_NAME=%{?build_example_name} \
103 %endif
104       .
105
106 make %{?jobs:-j%jobs}
107
108 ##############################
109 # Installation
110 ##############################
111 %install
112 rm -rf %{buildroot}
113 cd build/tizen
114 %make_install DALI_APP_DIR=%{dali_app_ro_dir}/bin
115 %make_install DDALI_APP_RES_DIR=%{dali_app_res_dir}
116
117 mkdir -p %{buildroot}%{dali_xml_file_dir}
118 cp -f %{_builddir}/%{name}-%{version}/%{name}.xml %{buildroot}%{dali_xml_file_dir}
119
120 mkdir -p %{buildroot}%{dali_icon_dir}
121 mv %{buildroot}/%{dali_app_res_dir}/images/%{name}.png %{buildroot}%{dali_icon_dir}
122 mv %{buildroot}/%{dali_app_res_dir}/images/dali-examples.png %{buildroot}%{dali_icon_dir}
123 mv %{buildroot}/%{dali_app_res_dir}/images/dali-tests.png %{buildroot}%{dali_icon_dir}
124
125 %if 0%{?enable_dali_smack_rules} && !%{with wayland}
126 mkdir -p %{buildroot}%{smack_rule_dir}
127 cp -f %{_builddir}/%{name}-%{version}/%{name}.rule %{buildroot}%{smack_rule_dir}
128 %endif
129
130 cp -rf %{_builddir}/%{name}-%{version}/resources/style/rpi %{buildroot}/%{dali_app_res_dir}/style_rpi
131
132 ##############################
133 # Post Install
134 ##############################
135 %post
136 /sbin/ldconfig
137 exit 0
138
139 %post resources_rpi
140 pushd %{dali_app_res_dir}
141 rm -rf style
142 mv style_rpi style
143 popd
144
145 ##############################
146 # Pre Uninstall
147 ##############################
148
149 %preun resources_rpi
150 case "$1" in
151   0)
152     %preun resources_rpi
153     pushd %{dali_app_res_dir}
154     mv style style_rpi
155     popd
156   ;;
157 esac
158
159 ##############################
160 # Post Uninstall
161 ##############################
162 %postun
163 /sbin/ldconfig
164 exit 0
165
166 ##############################
167 # Files in Binary Packages
168 ##############################
169
170 %files
171 %if 0%{?enable_dali_smack_rules}
172 %manifest com.samsung.dali-demo.manifest-smack
173 %else
174 %manifest com.samsung.dali-demo.manifest
175 %endif
176 %defattr(-,root,root,-)
177 %{dali_app_exe_dir}/dali-demo
178 %{dali_app_exe_dir}/dali-examples
179 %{dali_app_exe_dir}/dali-tests
180 %{dali_app_exe_dir}/*.example
181 %{dali_app_exe_dir}/dali-builder
182 %if "%{?build_example_name}" == ""
183 %{dali_app_res_dir}/images/*
184 %{dali_app_res_dir}/game/*
185 %{dali_app_res_dir}/videos/*
186 %{dali_app_res_dir}/models/*
187 %endif
188 %{dali_app_res_dir}/scripts/*
189 %{dali_app_res_dir}/shaders/*
190 %{dali_xml_file_dir}/%{name}.xml
191 %{dali_icon_dir}/*
192 %{locale_dir}/*
193 %if 0%{?enable_dali_smack_rules} && !%{with wayland}
194 %config %{smack_rule_dir}/%{name}.rule
195 %endif
196 %license LICENSE
197
198 %files resources_mobile
199 %if 0%{?enable_dali_smack_rules}
200 %manifest com.samsung.dali-demo.manifest-smack
201 %else
202 %manifest com.samsung.dali-demo.manifest
203 %endif
204 %defattr(-,root,root,-)
205 %{dali_app_res_dir}/style/*
206 %{dali_app_res_dir}/style/images/*
207
208 %files resources_rpi
209 %if 0%{?enable_dali_smack_rules}
210 %manifest com.samsung.dali-demo.manifest-smack
211 %else
212 %manifest com.samsung.dali-demo.manifest
213 %endif
214 %defattr(-,root,root,-)
215 %{dali_app_res_dir}/style_rpi/*
216 %{dali_app_res_dir}/style_rpi/images/*