Bump version to 0.66
[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
9 Name:       tizen-extensions-crosswalk
10 Version:    0.66
11 Release:    0
12 License:    BSD-3-Clause and Apache-2.0
13 Group:      Development/Libraries
14 Summary:    Tizen Web APIs implemented using Crosswalk
15 URL:        https://github.com/otcshare/tizen-extensions-crosswalk
16 Source0:    %{name}-%{version}.tar.gz
17 Source1:    %{name}.in
18 Source2:    %{name}.png
19 Source3:    %{_bluetooth_demo_package}
20 Source4:    %{_examples_package}
21 Source5:    %{_system_info_demo_package}
22 Source1001: %{name}.manifest
23
24 BuildRequires: ninja
25 BuildRequires: pkgconfig(appcore-common)
26 BuildRequires: pkgconfig(bluez)
27 BuildRequires: pkgconfig(capi-appfw-application)
28 BuildRequires: pkgconfig(capi-appfw-app-manager)
29 BuildRequires: pkgconfig(capi-appfw-package-manager)
30 BuildRequires: pkgconfig(capi-network-bluetooth)
31 BuildRequires: pkgconfig(capi-network-connection)
32 BuildRequires: pkgconfig(capi-system-device)
33 BuildRequires: pkgconfig(capi-system-info)
34 BuildRequires: pkgconfig(capi-system-power)
35 BuildRequires: pkgconfig(capi-system-runtime-info)
36 BuildRequires: pkgconfig(capi-system-sensor)
37 BuildRequires: pkgconfig(capi-system-system-settings)
38 BuildRequires: pkgconfig(libtzplatform-config)
39 # For IVI, it doesn't need sim package.
40 %if "%{profile}" == "mobile"
41 BuildRequires: pkgconfig(capi-telephony-sim)
42 BuildRequires: pkgconfig(contacts-service2)
43 BuildRequires: pkgconfig(libpcrecpp)
44 %endif
45 BuildRequires: pkgconfig(capi-web-favorites)
46 BuildRequires: pkgconfig(capi-web-url-download)
47 BuildRequires: pkgconfig(capi-content-media-content)
48 BuildRequires: pkgconfig(dbus-glib-1)
49 # Evas.h is required by capi-web-favorites.
50 BuildRequires: pkgconfig(evas)
51 BuildRequires: pkgconfig(gio-2.0)
52 BuildRequires: pkgconfig(glib-2.0)
53 BuildRequires: pkgconfig(tapi)
54 BuildRequires: pkgconfig(libudev)
55 BuildRequires: pkgconfig(message-port)
56 BuildRequires: pkgconfig(notification)
57 BuildRequires: pkgconfig(pkgmgr)
58 BuildRequires: pkgconfig(pkgmgr-info)
59 BuildRequires: pkgconfig(pmapi)
60 BuildRequires: pkgconfig(vconf)
61 %if %{with wayland}
62 BuildRequires: pkgconfig(wayland-client)
63 %else
64 BuildRequires: pkgconfig(x11)
65 BuildRequires: pkgconfig(xrandr)
66 %endif
67 BuildRequires: python
68 Requires:      crosswalk
69 # For Content API
70 Requires:      media-thumbnail-server
71
72 %description
73 Tizen Web APIs implemented using Crosswalk.
74
75 %package -n %{_bluetooth_demo_package}
76 Summary: Tizen Web APIs using Crosswalk demo
77 Group: Development/Libraries
78 Requires:      %{name}
79
80 %description  -n %{_bluetooth_demo_package}
81 Tizen Web APIs bluetooth demo implementation using Crosswalk.
82
83 %package -n %{_examples_package}
84 Summary: Tizen Web APIs using Crosswalk examples
85 Group: Development/Libraries
86 Requires:      %{name}
87
88 %description  -n %{_examples_package}
89 Tizen Web APIs examples using Crosswalk.
90
91 %package -n %{_system_info_demo_package}
92 Summary: Tizen Web APIs using Crosswalk system info demo
93 Group: Development/Libraries
94 Requires:      %{name}
95
96 %description  -n %{_system_info_demo_package}
97 Tizen Web APIs system info demo implementation using Crosswalk.
98
99 %prep
100 %setup -q
101
102 cp %{SOURCE1001} .
103 cp %{SOURCE1} .
104 cp %{SOURCE2} .
105 cp %{SOURCE3} .
106 cp %{SOURCE4} .
107 cp %{SOURCE5} .
108
109 sed "s|@LIB_INSTALL_DIR@|%{_libdir}|g" %{name}.in > %{name}
110
111 %build
112
113 export GYP_GENERATORS='ninja'
114 GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=%{profile}"
115
116 %if %{with wayland}
117 GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=wayland"
118 %else
119 GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=x11"
120 %endif
121
122 ./tools/gyp/gyp $GYP_OPTIONS tizen-wrt.gyp
123
124 ninja -C out/Default %{?_smp_mflags}
125
126 %install
127
128 # Binary wrapper.
129 install -m 755 -D %{name} %{buildroot}%{_bindir}/%{name}
130 install -m 755 -D %{SOURCE3} %{buildroot}%{_bindir}/%{_bluetooth_demo_package}
131 install -m 755 -D %{SOURCE4} %{buildroot}%{_bindir}/%{_examples_package}
132 install -m 755 -D %{SOURCE5} %{buildroot}%{_bindir}/%{_system_info_demo_package}
133
134 # Extensions.
135 mkdir -p %{buildroot}%{_libdir}/%{name}
136 install -p -m 644 out/Default/libtizen*.so %{buildroot}%{_libdir}/%{name}
137
138 # Examples.
139 mkdir -p %{buildroot}%{_datarootdir}/%{name}/examples
140 mkdir -p %{buildroot}%{_datarootdir}/%{name}/examples/js
141 install -p -m 644 examples/*.html %{buildroot}%{_datarootdir}/%{name}/examples
142 install -p -m 644 examples/js/*.js %{buildroot}%{_datarootdir}/%{name}/examples/js
143
144 # Demos
145 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen
146 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen/css
147 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen/js
148 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/tizen/images
149
150 install -p -m 644 demos/tizen/*.html %{buildroot}%{_datarootdir}/%{name}/demos/tizen
151 install -p -m 644 demos/tizen/css/*.css %{buildroot}%{_datarootdir}/%{name}/demos/tizen/css
152 install -p -m 644 demos/tizen/js/*.js %{buildroot}%{_datarootdir}/%{name}/demos/tizen/js
153 install -p -m 644 demos/tizen/images/*.png %{buildroot}%{_datarootdir}/%{name}/demos/tizen/images
154
155 # Demos - System Info
156 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info
157 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info/css
158 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info/js
159 mkdir -p %{buildroot}%{_datarootdir}/%{name}/demos/system_info/images
160
161 install -p -m 644 demos/system_info/*.html %{buildroot}%{_datarootdir}/%{name}/demos/system_info
162 install -p -m 644 demos/system_info/css/*.css %{buildroot}%{_datarootdir}/%{name}/demos/system_info/css
163 install -p -m 644 demos/system_info/js/*.js %{buildroot}%{_datarootdir}/%{name}/demos/system_info/js
164 install -p -m 644 demos/system_info/images/*.png %{buildroot}%{_datarootdir}/%{name}/demos/system_info/images
165
166 # register to the package manager
167 install -m 644 -D %{_examples_package}.xml %{buildroot}%{_manifestdir}/%{_examples_package}.xml
168 install -m 644 -D %{_bluetooth_demo_package}.xml %{buildroot}%{_manifestdir}/%{_bluetooth_demo_package}.xml
169 install -m 644 -D %{_system_info_demo_package}.xml %{buildroot}%{_manifestdir}/%{_system_info_demo_package}.xml
170 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_examples_package}.png
171 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_bluetooth_demo_package}.png
172 install -p -D %{name}.png %{buildroot}%{_desktop_icondir}/%{_system_info_demo_package}.png
173
174 %files
175 # TODO(rakuco): This causes problems on 2.1 when creating the package.
176 # %license LICENSE
177 %{_bindir}/%{name}
178 %{_libdir}/%{name}/libtizen*.so
179
180 %files -n %{_bluetooth_demo_package}
181 %{_bindir}/%{_bluetooth_demo_package}
182 %{_manifestdir}/%{_bluetooth_demo_package}.xml
183 %{_desktop_icondir}/%{_bluetooth_demo_package}.png
184 %{_datarootdir}/%{name}/demos/tizen/*.html
185 %{_datarootdir}/%{name}/demos/tizen/css/*.css
186 %{_datarootdir}/%{name}/demos/tizen/js/*.js
187 %{_datarootdir}/%{name}/demos/tizen/images/*.png
188
189 %files -n %{_examples_package}
190 %{_bindir}/%{_examples_package}
191 %{_manifestdir}/%{_examples_package}.xml
192 %{_desktop_icondir}/%{_examples_package}.png
193 %{_datarootdir}/%{name}/examples/*.html
194 %{_datarootdir}/%{name}/examples/js/*.js
195
196 %files -n %{_system_info_demo_package}
197 %{_bindir}/%{_system_info_demo_package}
198 %{_manifestdir}/%{_system_info_demo_package}.xml
199 %{_desktop_icondir}/%{_system_info_demo_package}.png
200 %{_datarootdir}/%{name}/demos/system_info/*.html
201 %{_datarootdir}/%{name}/demos/system_info/css/*.css
202 %{_datarootdir}/%{name}/demos/system_info/js/*.js
203 %{_datarootdir}/%{name}/demos/system_info/images/*.png