22742a83a79e6387d08e67f044323cf9289f98c1
[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.13
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       .
100
101 make %{?jobs:-j%jobs}
102
103 ##############################
104 # Installation
105 ##############################
106 %install
107 rm -rf %{buildroot}
108 cd build/tizen
109 %make_install DALI_APP_DIR=%{dali_app_ro_dir}/bin
110 %make_install DDALI_APP_RES_DIR=%{dali_app_res_dir}
111
112 mkdir -p %{buildroot}%{dali_xml_file_dir}
113 cp -f %{_builddir}/%{name}-%{version}/%{name}.xml %{buildroot}%{dali_xml_file_dir}
114
115 mkdir -p %{buildroot}%{dali_icon_dir}
116 mv %{buildroot}/%{dali_app_res_dir}/images/%{name}.png %{buildroot}%{dali_icon_dir}
117 mv %{buildroot}/%{dali_app_res_dir}/images/dali-examples.png %{buildroot}%{dali_icon_dir}
118 mv %{buildroot}/%{dali_app_res_dir}/images/dali-tests.png %{buildroot}%{dali_icon_dir}
119
120 %if 0%{?enable_dali_smack_rules} && !%{with wayland}
121 mkdir -p %{buildroot}%{smack_rule_dir}
122 cp -f %{_builddir}/%{name}-%{version}/%{name}.rule %{buildroot}%{smack_rule_dir}
123 %endif
124
125 cp -rf %{_builddir}/%{name}-%{version}/resources/style/rpi %{buildroot}/%{dali_app_res_dir}/style_rpi
126
127 ##############################
128 # Post Install
129 ##############################
130 %post
131 /sbin/ldconfig
132 exit 0
133
134 %post resources_rpi
135 pushd %{dali_app_res_dir}
136 rm -rf style
137 mv style_rpi style
138 popd
139
140 ##############################
141 # Pre Uninstall
142 ##############################
143
144 %preun resources_rpi
145 case "$1" in
146   0)
147     %preun resources_rpi
148     pushd %{dali_app_res_dir}
149     mv style style_rpi
150     popd
151   ;;
152 esac
153
154 ##############################
155 # Post Uninstall
156 ##############################
157 %postun
158 /sbin/ldconfig
159 exit 0
160
161 ##############################
162 # Files in Binary Packages
163 ##############################
164
165 %files
166 %if 0%{?enable_dali_smack_rules}
167 %manifest com.samsung.dali-demo.manifest-smack
168 %else
169 %manifest com.samsung.dali-demo.manifest
170 %endif
171 %defattr(-,root,root,-)
172 %{dali_app_exe_dir}/dali-demo
173 %{dali_app_exe_dir}/dali-examples
174 %{dali_app_exe_dir}/dali-tests
175 %{dali_app_exe_dir}/*.example
176 %{dali_app_exe_dir}/dali-builder
177 %{dali_app_res_dir}/images/*
178 %{dali_app_res_dir}/game/*
179 %{dali_app_res_dir}/videos/*
180 %{dali_app_res_dir}/models/*
181 %{dali_app_res_dir}/scripts/*
182 %{dali_app_res_dir}/shaders/*
183 %{dali_xml_file_dir}/%{name}.xml
184 %{dali_icon_dir}/*
185 %{locale_dir}/*
186 %if 0%{?enable_dali_smack_rules} && !%{with wayland}
187 %config %{smack_rule_dir}/%{name}.rule
188 %endif
189 %license LICENSE
190
191 %files resources_mobile
192 %if 0%{?enable_dali_smack_rules}
193 %manifest com.samsung.dali-demo.manifest-smack
194 %else
195 %manifest com.samsung.dali-demo.manifest
196 %endif
197 %defattr(-,root,root,-)
198 %{dali_app_res_dir}/style/*
199 %{dali_app_res_dir}/style/images/*
200
201 %files resources_rpi
202 %if 0%{?enable_dali_smack_rules}
203 %manifest com.samsung.dali-demo.manifest-smack
204 %else
205 %manifest com.samsung.dali-demo.manifest
206 %endif
207 %defattr(-,root,root,-)
208 %{dali_app_res_dir}/style_rpi/*
209 %{dali_app_res_dir}/style_rpi/images/*