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