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