Merge pull request #373 from eurogiciel-oss/XWALK-2370
[platform/framework/web/tizen-extensions-crosswalk.git] / packaging / tizen-extensions-crosswalk.spec
1 %bcond_with wayland
2
3 %define _manifestdir %{TZ_SYS_RW_PACKAGES}
4 %define _desktop_icondir %{TZ_SYS_SHARE}/icons/default/small
5 %define _bluetooth_demo_package tizen-extensions-crosswalk-bluetooth-demo
6 %define _examples_package tizen-extensions-crosswalk-examples
7 %define _system_info_demo_package tizen-extensions-crosswalk-system-info-demo
8 %define _audiosystem_demo_package tizen-extensions-crosswalk-audiosystem-demo
9
10 Name:       tizen-extensions-crosswalk
11 Version:    0.96
12 Release:    0
13 License:    BSD-3-Clause and Apache-2.0
14 Group:      Development/Libraries
15 Summary:    Tizen Web APIs implemented using Crosswalk
16 URL:        https://github.com/otcshare/tizen-extensions-crosswalk
17 Source0:    %{name}-%{version}.tar.gz
18 Source2:    %{name}.png
19 Source3:    %{_bluetooth_demo_package}
20 Source4:    %{_examples_package}
21 Source5:    %{_system_info_demo_package}
22 Source6:    %{_audiosystem_demo_package}
23 Source1001: %{name}.manifest
24
25 BuildRequires: ninja
26 BuildRequires: pkgconfig(appcore-common)
27 BuildRequires: pkgconfig(bluez)
28 BuildRequires: pkgconfig(capi-appfw-application)
29 BuildRequires: pkgconfig(capi-appfw-app-manager)
30 BuildRequires: pkgconfig(capi-appfw-package-manager)
31 BuildRequires: pkgconfig(capi-network-bluetooth)
32 BuildRequires: pkgconfig(capi-network-connection)
33 BuildRequires: pkgconfig(capi-network-nfc)
34 BuildRequires: pkgconfig(capi-system-device)
35 BuildRequires: pkgconfig(capi-system-info)
36 BuildRequires: pkgconfig(capi-system-power)
37 BuildRequires: pkgconfig(capi-system-runtime-info)
38 BuildRequires: pkgconfig(capi-system-sensor)
39 BuildRequires: pkgconfig(capi-system-system-settings)
40 BuildRequires: pkgconfig(libtzplatform-config)
41 %if "%{profile}" == "ivi"
42 BuildRequires: pkgconfig(automotive-message-broker)
43 %endif
44 # For IVI, it doesn't need sim package.
45 %if "%{profile}" == "mobile"
46 BuildRequires: pkgconfig(capi-telephony-sim)
47 BuildRequires: pkgconfig(contacts-service2)
48 BuildRequires: pkgconfig(libpcrecpp)
49 %endif
50 BuildRequires: pkgconfig(capi-web-favorites)
51 BuildRequires: pkgconfig(capi-web-url-download)
52 BuildRequires: pkgconfig(capi-content-media-content)
53 BuildRequires: pkgconfig(dbus-glib-1)
54 # Evas.h is required by capi-web-favorites.
55 BuildRequires: pkgconfig(evas)
56 BuildRequires: pkgconfig(gio-2.0)
57 BuildRequires: pkgconfig(glib-2.0)
58 BuildRequires: pkgconfig(libgsignon-glib)
59 BuildRequires: pkgconfig(libpulse) >= 5.0
60 BuildRequires: pkgconfig(libudev)
61 BuildRequires: pkgconfig(message-port)
62 BuildRequires: pkgconfig(notification)
63 BuildRequires: pkgconfig(pkgmgr)
64 BuildRequires: pkgconfig(pkgmgr-info)
65 BuildRequires: pkgconfig(pmapi)
66 BuildRequires: pkgconfig(tapi)
67 BuildRequires: pkgconfig(vconf)
68 %if %{with wayland}
69 BuildRequires: pkgconfig(wayland-client)
70 %else
71 BuildRequires: pkgconfig(x11)
72 BuildRequires: pkgconfig(xrandr)
73 %endif
74 BuildRequires: python
75 Requires:      crosswalk
76 # For Content API
77 Requires:      media-thumbnail-server
78
79 %description
80 Tizen Web APIs implemented using Crosswalk.
81
82 %package -n %{_bluetooth_demo_package}
83 Summary: Tizen Web APIs using Crosswalk demo
84 Group: Development/Libraries
85 Requires:      %{name}
86
87 %description  -n %{_bluetooth_demo_package}
88 Tizen Web APIs bluetooth demo implementation using Crosswalk.
89
90 %package -n %{_examples_package}
91 Summary: Tizen Web APIs using Crosswalk examples
92 Group: Development/Libraries
93 Requires:      %{name}
94
95 %description  -n %{_examples_package}
96 Tizen Web APIs examples using Crosswalk.
97
98 %package -n %{_system_info_demo_package}
99 Summary: Tizen Web APIs using Crosswalk system info demo
100 Group: Development/Libraries
101 Requires:      %{name}
102
103 %description  -n %{_system_info_demo_package}
104 Tizen Web APIs system info demo implementation using Crosswalk.
105
106 %package -n %{_audiosystem_demo_package}
107 Summary: Sample volume control applicaiton
108 Group: Development/Libraries
109 Requires: %{name}
110
111 %description  -n %{_audiosystem_demo_package}
112 Sample Tizen volume control application that demonstrates the Tizen AudioSystem API usage.
113
114 %prep
115 %setup -q
116
117 cp %{SOURCE1001} .
118 cp %{SOURCE2} .
119 cp %{SOURCE3} .
120 cp %{SOURCE4} .
121 cp %{SOURCE5} .
122
123 %build
124
125 export GYP_GENERATORS='ninja'
126 GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=%{profile}"
127
128 %if %{with wayland}
129 GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=wayland"
130 %else
131 GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=x11"
132 %endif
133
134 ./tools/gyp/gyp $GYP_OPTIONS tizen-wrt.gyp
135
136 ninja -C out/Default %{?_smp_mflags}
137
138 %install
139
140 # Binary wrapper.
141 install -m 755 -D %{SOURCE3} %{buildroot}%{_bindir}/%{_bluetooth_demo_package}
142 install -m 755 -D %{SOURCE4} %{buildroot}%{_bindir}/%{_examples_package}
143 install -m 755 -D %{SOURCE5} %{buildroot}%{_bindir}/%{_system_info_demo_package}
144 install -m 755 -D %{SOURCE6} %{buildroot}%{_bindir}/%{_audiosystem_demo_package}
145
146 # Extensions.
147 mkdir -p %{buildroot}%{_libdir}/%{name}
148 install -p -m 644 out/Default/libtizen*.so %{buildroot}%{_libdir}/%{name}
149
150 # Examples.
151 mkdir -p %{buildroot}%{_datarootdir}/%{name}/examples
152 mkdir -p %{buildroot}%{_datarootdir}/%{name}/examples/js
153 install -p -m 644 examples/*.html %{buildroot}%{_datarootdir}/%{name}/examples
154 install -p -m 644 examples/js/*.js %{buildroot}%{_datarootdir}/%{name}/examples/js
155
156 # Demos
157 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen
158 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen/css
159 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen/js
160 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen/images
161
162 install -p -m 644 demos/tizen/*.html %{buildroot}%{_datarootdir}/%{name}/demos/tizen
163 install -p -m 644 demos/tizen/css/*.css %{buildroot}%{_datarootdir}/%{name}/demos/tizen/css
164 install -p -m 644 demos/tizen/js/*.js %{buildroot}%{_datarootdir}/%{name}/demos/tizen/js
165 install -p -m 644 demos/tizen/images/*.png %{buildroot}%{_datarootdir}/%{name}/demos/tizen/images
166
167 # Demos - System Info
168 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info
169 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info/css
170 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info/js
171 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info/images
172
173 install -p -m 644 demos/system_info/*.html %{buildroot}%{_datarootdir}/%{name}/demos/system_info
174 install -p -m 644 demos/system_info/css/*.css %{buildroot}%{_datarootdir}/%{name}/demos/system_info/css
175 install -p -m 644 demos/system_info/js/*.js %{buildroot}%{_datarootdir}/%{name}/demos/system_info/js
176 install -p -m 644 demos/system_info/images/*.png %{buildroot}%{_datarootdir}/%{name}/demos/system_info/images
177
178 # Demos - audiosystem api 
179 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem
180 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/css
181 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/css/ui-lightness
182 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/css/ui-lightness/images
183 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/js
184 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/images
185
186 install -p -m 644 demos/audiosystem/*.html %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem
187 install -p -m 644 demos/audiosystem/css/*.css %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/css
188 install -p -m 644 demos/audiosystem/css/ui-lightness/*.css %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/css/ui-lightness
189 install -p -m 644 demos/audiosystem/css/ui-lightness/images/* %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/css/ui-lightness/images
190 install -p -m 644 demos/audiosystem/js/*.js %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/js
191 install -p -m 644 demos/audiosystem/images/*.png %{buildroot}%{_datarootdir}/%{name}/demos/audiosystem/images
192
193 # register to the package manager
194 install -m 644 -D %{_examples_package}.xml %{buildroot}%{_manifestdir}/%{_examples_package}.xml
195 install -m 644 -D %{_bluetooth_demo_package}.xml %{buildroot}%{_manifestdir}/%{_bluetooth_demo_package}.xml
196 install -m 644 -D %{_system_info_demo_package}.xml %{buildroot}%{_manifestdir}/%{_system_info_demo_package}.xml
197 install -m 644 -D %{_audiosystem_demo_package}.xml %{buildroot}%{_manifestdir}/%{_audiosystem_demo_package}.xml
198 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_examples_package}.png
199 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_bluetooth_demo_package}.png
200 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_system_info_demo_package}.png
201 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_audiosystem_demo_package}.png
202
203 %files
204 # TODO(rakuco): This causes problems on 2.1 when creating the package.
205 # %license LICENSE
206 %{_libdir}/%{name}/libtizen*.so
207
208 %files -n %{_bluetooth_demo_package}
209 %{_bindir}/%{_bluetooth_demo_package}
210 %{_manifestdir}/%{_bluetooth_demo_package}.xml
211 %{_desktop_icondir}/%{_bluetooth_demo_package}.png
212 %{_datarootdir}/%{name}/demos/tizen/*.html
213 %{_datarootdir}/%{name}/demos/tizen/css/*.css
214 %{_datarootdir}/%{name}/demos/tizen/js/*.js
215 %{_datarootdir}/%{name}/demos/tizen/images/*.png
216
217 %files -n %{_examples_package}
218 %{_bindir}/%{_examples_package}
219 %{_manifestdir}/%{_examples_package}.xml
220 %{_desktop_icondir}/%{_examples_package}.png
221 %{_datarootdir}/%{name}/examples/*.html
222 %{_datarootdir}/%{name}/examples/js/*.js
223
224 %files -n %{_system_info_demo_package}
225 %{_bindir}/%{_system_info_demo_package}
226 %{_manifestdir}/%{_system_info_demo_package}.xml
227 %{_desktop_icondir}/%{_system_info_demo_package}.png
228 %{_datarootdir}/%{name}/demos/system_info/*.html
229 %{_datarootdir}/%{name}/demos/system_info/css/*.css
230 %{_datarootdir}/%{name}/demos/system_info/js/*.js
231 %{_datarootdir}/%{name}/demos/system_info/images/*.png
232
233 %files -n %{_audiosystem_demo_package}
234 %{_bindir}/%{_audiosystem_demo_package}
235 %{_manifestdir}/%{_audiosystem_demo_package}.xml
236 %{_desktop_icondir}/%{_audiosystem_demo_package}.png
237 %{_datarootdir}/%{name}/demos/audiosystem/index.html
238 %{_datarootdir}/%{name}/demos/audiosystem/css/*.css
239 %{_datarootdir}/%{name}/demos/audiosystem/css/ui-lightness/*.css
240 %{_datarootdir}/%{name}/demos/audiosystem/css/ui-lightness/images/*
241 %{_datarootdir}/%{name}/demos/audiosystem/js/*.js
242 %{_datarootdir}/%{name}/demos/audiosystem/images/*