d7ebed44d5664451765dc355d208c8461e3ac47f
[platform/core/api/webapi-plugins.git] / packaging / webapi-plugins.spec
1 %bcond_with wayland
2
3 %{!?profile:%define profile tv}
4
5 %define _manifestdir %{TZ_SYS_RW_PACKAGES}
6 %define _desktop_icondir %{TZ_SYS_SHARE}/icons/default/small
7
8 %define crosswalk_extensions tizen-extensions-crosswalk
9
10 %define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions}
11
12 Name:       webapi-plugins
13 Version:    2.39
14 Release:    0
15 License:    Apache-2.0 and BSD-3-Clause and MIT
16 Group:      Development/Libraries
17 Summary:    Tizen Web APIs implemented
18 Source0:    %{name}-%{version}.tar.gz
19
20 %ifarch %{arm} aarch64
21 # ARM
22 %define tizen_is_emulator           0
23 %else
24 # I586
25 %define tizen_is_emulator           1
26 %endif
27
28 %if "%{_repository}" == "arm64-wayland"
29 # 64bit
30 %define tizen_is_arm64           1
31 %else
32 # 32bit
33 %define tizen_is_arm64           0
34 %endif
35
36 ####################################################################
37 #       Common Profile : artik                                     #
38 ####################################################################
39 %if "%{?profile}" == "common"
40
41 %define tizen_privilege_engine                        CYNARA
42
43 %define tizen_feature_account_support                 0
44 %define tizen_feature_alarm_support                   1
45 %define tizen_feature_app_control_settings_support    1
46 %define tizen_feature_application_support             1
47 %define tizen_feature_archive_support                 0
48 %define tizen_feature_badge_support                   0
49 %define tizen_feature_bluetooth_support               1
50 %define tizen_feature_bookmark_support                0
51 %define tizen_feature_calendar_support                0
52 %define tizen_feature_contact_support                 0
53 %define tizen_feature_content_support                 1
54 %define tizen_feature_datacontrol_support             0
55 %define tizen_feature_datasync_support                0
56 %define tizen_feature_download_support                1
57 %define tizen_feature_exif_support                    1
58 %define tizen_feature_feedback_support                0
59 %define tizen_feature_filesystem_support              1
60 %define tizen_feature_fm_radio_support                0
61 %define tizen_feature_ham_support                     0
62 %define tizen_feature_iotcon_support                  0
63 %define tizen_feature_location_batch                  0
64 %define tizen_feature_key_manager_support             0
65 %define tizen_feature_media_controller_support        0
66 %define tizen_feature_media_key_support               0
67 %define tizen_feature_message_port_support            1
68 %define tizen_feature_messaging_support               0
69 %define tizen_feature_nfc_emulation_support           0
70 %define tizen_feature_nfc_support                     0
71 %define tizen_feature_notification_support            0
72 %define tizen_feature_package_support                 1
73 %define tizen_feature_player_util_support             0
74 %define tizen_feature_power_support                   0
75 %define tizen_feature_preference_support              0
76 %define tizen_feature_push_support                    0
77 %define tizen_feature_se_support                      0
78 %define tizen_feature_sensor_support                  0
79 %define tizen_feature_sound_support                   1
80 %define tizen_feature_system_info_support             1
81 %define tizen_feature_system_setting_support          0
82 %define tizen_feature_telephony_support               0
83 %define tizen_feature_time_support                    1
84 %define tizen_feature_web_setting_support             0
85 %define tizen_feature_widget_service_support          0
86 %define tizen_feature_wi_fi_support                   1
87 %define tizen_feature_inputdevice_support             0
88 %define tizen_feature_callhistory_support             0
89 %define tizen_feature_nbs_support                     0
90 %define tizen_feature_tvinputdevice_support           0
91
92 %endif # tizen_profile_common
93
94 ####################################################################
95 #       Mobile Profile :  TM1(32bit), Redwood(SM-Z910F), KIRAN(Z130H)          #
96 #                         TM2(64bit)
97 ####################################################################
98 %if "%{?profile}" == "mobile"
99
100 %define tizen_privilege_engine                        CYNARA
101
102 %define tizen_feature_account_support                 1
103 %define tizen_feature_alarm_support                   1
104 %define tizen_feature_app_control_settings_support    1
105 %define tizen_feature_application_support             1
106 %define tizen_feature_archive_support                 1
107 %define tizen_feature_badge_support                   1
108 %if 0%{?tizen_is_emulator}
109 %define tizen_feature_bluetooth_support               0
110 %else
111 %define tizen_feature_bluetooth_support               1
112 %endif
113 %define tizen_feature_bookmark_support                1
114 %define tizen_feature_calendar_support                1
115 %define tizen_feature_contact_support                 1
116 %define tizen_feature_content_support                 1
117 %define tizen_feature_datacontrol_support             1
118 %define tizen_feature_datasync_support                0
119 %define tizen_feature_download_support                1
120 %define tizen_feature_exif_support                    1
121 %define tizen_feature_feedback_support                1
122 %define tizen_feature_filesystem_support              1
123
124 # FM radio feature
125 %if 0%{?tizen_is_emulator}
126 %define tizen_feature_fm_radio_support                1
127 %else
128 %if 0%{?tizen_is_arm64}
129 %define tizen_feature_fm_radio_support                0
130 %else
131 %define tizen_feature_fm_radio_support                1
132 %endif
133 %endif
134
135 %if 0%{?tizen_is_emulator}
136 %define tizen_feature_ham_support                     1
137 %else
138 %define tizen_feature_ham_support                     0
139 %endif
140 %define tizen_feature_iotcon_support                  1
141 %define tizen_feature_location_batch                  0
142 %define tizen_feature_key_manager_support             1
143 %define tizen_feature_media_controller_support        1
144 %if 0%{?tizen_is_emulator}
145 %define tizen_feature_media_key_support               0
146 %else
147 %define tizen_feature_media_key_support               1
148 %endif
149 %define tizen_feature_message_port_support            1
150 %define tizen_feature_messaging_support               1
151
152 %if 0%{?tizen_is_emulator}
153 %define tizen_feature_nfc_emulation_support           0
154 %define tizen_feature_nfc_support                     1
155 %else
156 %define tizen_feature_nfc_emulation_support           0
157 %define tizen_feature_nfc_support                     0
158 %endif
159 %define tizen_feature_notification_support            1
160 %define tizen_feature_package_support                 1
161 %define tizen_feature_player_util_support             1
162 %define tizen_feature_power_support                   1
163 %define tizen_feature_preference_support              1
164 %define tizen_feature_push_support                    1
165
166 # secure element feature
167 %if 0%{?tizen_is_emulator}
168 %define tizen_feature_se_support                      0
169 %else
170 %if 0%{?tizen_is_arm64}
171 %define tizen_feature_se_support                      0
172 %else
173 %define tizen_feature_se_support                      1
174 %endif
175 %endif
176
177 %define tizen_feature_sensor_support                  1
178 %define tizen_feature_sound_support                   1
179 %define tizen_feature_system_info_support             1
180 %define tizen_feature_system_setting_support          1
181
182 # telephony feature
183 %if 0%{?tizen_is_emulator}
184 %define tizen_feature_telephony_support               1
185 %else
186 %if 0%{?tizen_is_arm64}
187 %define tizen_feature_telephony_support               0
188 %else
189 %define tizen_feature_telephony_support               1
190 %endif
191 %endif
192
193 %define tizen_feature_time_support                    1
194 %define tizen_feature_web_setting_support             1
195 %define tizen_feature_widget_service_support          1
196 %if 0%{?tizen_is_emulator}
197 %define tizen_feature_wi_fi_support                   0
198 %else
199 %define tizen_feature_wi_fi_support                   1
200 %endif
201 %define tizen_feature_inputdevice_support             1
202
203 %if 0%{?tizen_feature_telephony_support}
204 %define tizen_feature_callhistory_support             1
205 %define tizen_feature_nbs_support                     1
206 %else
207 %define tizen_feature_callhistory_support             0
208 %define tizen_feature_nbs_support                     0
209 %endif
210
211 %define tizen_feature_tvinputdevice_support           0
212
213 %endif # tizen_profile_mobile
214
215 ####################################################################
216 #       Wearable Profile :  B2 / TW1                      #
217 ####################################################################
218 %if "%{?profile}" == "wearable"
219
220 %define tizen_privilege_engine                        CYNARA
221
222 # Account API is optional in Tizen Wearable Profile.
223 %define tizen_feature_account_support                 0
224
225 %define tizen_feature_alarm_support                   1
226 %define tizen_feature_app_control_settings_support    1
227 %define tizen_feature_application_support             1
228
229 # Archive API is optional in Tizen Wearable Profile.
230 %define tizen_feature_archive_support                 1
231
232 # Badge API is mandatory in Tizen Wearable Profile.
233 %define tizen_feature_badge_support                   1
234
235 %if 0%{?tizen_is_emulator}
236 %define tizen_feature_bluetooth_support               0
237 %else
238 %define tizen_feature_bluetooth_support               1
239 %endif
240
241 # Bookmark API is optional in Tizen Wearable Profile.
242 %define tizen_feature_bookmark_support                0
243
244 # Calendar API is mandatory in Tizen Wearable Profile.
245 %define tizen_feature_calendar_support                0
246 %define tizen_feature_contact_support                 0
247 %define tizen_feature_content_support                 1
248 %define tizen_feature_datacontrol_support             1
249 %define tizen_feature_datasync_support                0
250 %define tizen_feature_download_support                1
251 %define tizen_feature_exif_support                    1
252 %define tizen_feature_feedback_support                1
253 %define tizen_feature_filesystem_support              1
254 %define tizen_feature_fm_radio_support                0
255 %define tizen_feature_ham_support                     1
256 %define tizen_feature_iotcon_support                  1
257 %define tizen_feature_location_batch                  0
258 %define tizen_feature_media_controller_support        1
259
260 # MediayKey API is optional in Tizen Wearable Profile.
261 # tizen.org/feature/network.bluetooth.audio.media is required for MediayKey API
262 %if 0%{?tizen_is_emulator}
263 %define tizen_feature_media_key_support               0
264 %else
265 %define tizen_feature_media_key_support               1
266 %endif
267 %define tizen_feature_key_manager_support             1
268 %define tizen_feature_message_port_support            1
269 %define tizen_feature_messaging_support               0
270 %define tizen_feature_nfc_emulation_support           0
271 %define tizen_feature_nfc_support                     1
272 %define tizen_feature_notification_support            1
273 %define tizen_feature_package_support                 1
274 %define tizen_feature_player_util_support             1
275 %define tizen_feature_power_support                   1
276 %define tizen_feature_preference_support              1
277 %define tizen_feature_push_support                    1
278 %if 0%{?tizen_is_emulator}
279 %define tizen_feature_se_support                      0
280 %else
281 %define tizen_feature_se_support                      1
282 %endif
283 %define tizen_feature_sensor_support                  1
284 %define tizen_feature_sound_support                   1
285 %define tizen_feature_system_info_support             1
286 %define tizen_feature_system_setting_support          1
287 %if 0%{?tizen_is_emulator}
288 %define tizen_feature_telephony_support               1
289 %else
290 %define tizen_feature_telephony_support               0
291 %endif
292 %define tizen_feature_time_support                    1
293 %define tizen_feature_web_setting_support             0
294 %define tizen_feature_widget_service_support          1
295 %define tizen_feature_wi_fi_support                   1
296 %define tizen_feature_inputdevice_support             1
297 %define tizen_feature_tvinputdevice_support           0
298
299 #- telephony related APIs
300 # CallHistory API is optional in Tizen Wearable Profile.
301 # NetworkBearerSelection API is optional in Tizen Wearable Profile.
302 %if 0%{?tizen_feature_telephony_support}
303 %define    tizen_feature_callhistory_support          1
304 %define    tizen_feature_nbs_support                  1
305 %else
306 %define    tizen_feature_callhistory_support          0
307 %define    tizen_feature_nbs_support                  0
308 %endif
309
310 %endif # tizen_profile_wearable
311
312 ####################################################################
313 #       TV Profile                                                 #
314 ####################################################################
315 %if "%{?profile}" == "tv"
316
317 %define tizen_privilege_engine                        CYNARA
318
319 %define tizen_feature_account_support                 0
320 %define tizen_feature_alarm_support                   1
321 %define tizen_feature_app_control_settings_support    0
322 %define tizen_feature_application_support             1
323 %define tizen_feature_archive_support                 1
324 %define tizen_feature_badge_support                   0
325 %define tizen_feature_bluetooth_support               0
326 %define tizen_feature_bookmark_support                0
327 %define tizen_feature_calendar_support                0
328 %define tizen_feature_callhistory_support             0
329 %define tizen_feature_contact_support                 0
330 %define tizen_feature_content_support                 1
331 %define tizen_feature_datacontrol_support             1
332 %define tizen_feature_datasync_support                0
333 %define tizen_feature_download_support                1
334 %define tizen_feature_exif_support                    1
335 %define tizen_feature_feedback_support                0
336 %define tizen_feature_filesystem_support              1
337 %define tizen_feature_fm_radio_support                0
338 %define tizen_feature_ham_support                     0
339 %define tizen_feature_iotcon_support                  1
340 %define tizen_feature_key_manager_support             1
341 %define tizen_feature_media_controller_support        0
342 %define tizen_feature_media_key_support               1
343 %define tizen_feature_message_port_support            1
344 %define tizen_feature_messaging_support               0
345 %define tizen_feature_nbs_support                     0
346 %define tizen_feature_nfc_emulation_support           0
347 %define tizen_feature_nfc_support                     0
348 %define tizen_feature_notification_support            0
349 %define tizen_feature_package_support                 1
350 %define tizen_feature_player_util_support             0
351 %define tizen_feature_power_support                   0
352 %define tizen_feature_preference_support              0
353 %define tizen_feature_push_support                    1
354 %define tizen_feature_se_support                      0
355 %define tizen_feature_sensor_support                  0
356 %define tizen_feature_sound_support                   0
357 %define tizen_feature_system_info_support             1
358 %define tizen_feature_system_setting_support          0
359 %define tizen_feature_telephony_support               0
360 %define tizen_feature_time_support                    1
361 %define tizen_feature_web_setting_support             1
362 %define tizen_feature_widget_service_support          0
363 %define tizen_feature_wi_fi_support                   1
364 %define tizen_feature_inputdevice_support             0
365 %define tizen_feature_tvinputdevice_support           1
366
367 %endif # tizen_profile_tv
368
369 BuildRequires: pkgconfig(security-privilege-manager)
370 BuildRequires: ninja
371 BuildRequires: pkgconfig(appcore-common)
372 BuildRequires: pkgconfig(dlog)
373 BuildRequires: pkgconfig(evas)
374 BuildRequires: pkgconfig(gio-unix-2.0)
375 BuildRequires: pkgconfig(gio-2.0)
376 BuildRequires: pkgconfig(glib-2.0)
377 BuildRequires: pkgconfig(libudev)
378 BuildRequires: pkgconfig(minizip)
379 BuildRequires: pkgconfig(zlib)
380 BuildRequires: pkgconfig(pkgmgr)
381 BuildRequires: pkgconfig(pkgmgr-info)
382 BuildRequires: pkgconfig(pkgmgr-installer)
383 BuildRequires: pkgconfig(vconf)
384 BuildRequires: pkgconfig(ecore)
385 BuildRequires: pkgconfig(icu-i18n)
386 BuildRequires: pkgconfig(aul)
387 BuildRequires: pkgconfig(storage)
388 BuildRequires: python
389 BuildRequires: pkgconfig(capi-base-common)
390 BuildRequires: pkgconfig(capi-system-info)
391 BuildRequires: pkgconfig(capi-system-runtime-info)
392 BuildRequires: pkgconfig(capi-network-connection)
393 BuildRequires: pkgconfig(capi-system-device)
394 BuildRequires: pkgconfig(capi-system-system-settings)
395 BuildRequires: pkgconfig(capi-network-bluetooth)
396 BuildRequires: pkgconfig(capi-network-wifi-manager)
397 BuildRequires: pkgconfig(tapi)
398 BuildRequires: pkgconfig(libpcrecpp)
399 BuildRequires: pkgconfig(capi-appfw-application)
400 BuildRequires: pkgconfig(capi-appfw-app-manager)
401 BuildRequires: pkgconfig(capi-appfw-package-manager)
402 BuildRequires: pkgconfig(capi-content-media-content)
403 BuildRequires: pkgconfig(capi-media-metadata-extractor)
404 BuildRequires: pkgconfig(libtzplatform-config)
405 BuildRequires: pkgconfig(appsvc)
406
407 %if %{with wayland}
408 %define display_type wayland
409 BuildRequires: pkgconfig(wayland-client)
410 %else
411 %define display_type x11
412 #BuildRequires: pkgconfig(x11)
413 #BuildRequires: pkgconfig(xrandr)
414 %endif
415
416 %if "%{?tizen_privilege_engine}" == "ACE"
417 BuildRequires: pkgconfig(security-privilege-checker)
418 %endif
419
420 %if "%{?tizen_privilege_engine}" == "CYNARA"
421 BuildRequires: pkgconfig(cynara-client)
422 BuildRequires: pkgconfig(libsmack)
423 %endif
424
425 %if 0%{?tizen_feature_account_support}
426 BuildRequires: pkgconfig(accounts-svc)
427 %endif
428
429 %if 0%{?tizen_feature_alarm_support}
430 BuildRequires: pkgconfig(capi-appfw-alarm)
431 BuildRequires: pkgconfig(alarm-service)
432 %endif
433
434 %if 0%{?tizen_feature_bookmark_support}
435 BuildRequires: pkgconfig(capi-web-bookmark)
436 BuildRequires: pkgconfig(bookmark-adaptor)
437 %endif
438
439 %if 0%{?tizen_feature_datacontrol_support}
440 BuildRequires: pkgconfig(capi-data-control)
441 %endif
442
443 %if 0%{?tizen_feature_download_support}
444 BuildRequires: pkgconfig(capi-web-url-download)
445 %endif
446
447 %if 0%{?tizen_feature_ham_support}
448 BuildRequires: pkgconfig(motion)
449 BuildRequires: pkgconfig(capi-system-sensor)
450 BuildRequires: pkgconfig(capi-location-manager)
451 BuildRequires: pkgconfig(sensor)
452 %endif
453
454 %if 0%{?tizen_feature_iotcon_support}
455 BuildRequires: pkgconfig(iotcon)
456 %endif
457
458 %if 0%{?tizen_feature_player_util_support}
459 BuildRequires: pkgconfig(chromium-efl)
460 %endif
461
462 %if 0%{?tizen_feature_power_support}
463 BuildRequires: pkgconfig(deviced)
464 %endif
465
466 %if 0%{?tizen_feature_power_support}
467 BuildRequires: pkgconfig(capi-appfw-application)
468 %endif
469
470 %if 0%{?tizen_feature_push_support}
471 BuildRequires: pkgconfig(push)
472 %endif
473
474 %if 0%{?tizen_feature_key_manager_support}
475 BuildRequires: pkgconfig(key-manager)
476 %endif
477
478 %if 0%{?tizen_feature_media_controller_support}
479 BuildRequires: pkgconfig(capi-media-controller)
480 %endif
481
482 %if 0%{?tizen_feature_messaging_support}
483 BuildRequires:  pkgconfig(ecore-file)
484 BuildRequires:  pkgconfig(email-service)
485 BuildRequires:  pkgconfig(msg-service)
486 BuildRequires:  pkgconfig(db-util)
487 BuildRequires:  pkgconfig(dbus-glib-1)
488 %endif
489
490 %if 0%{?tizen_feature_badge_support}
491 BuildRequires:  pkgconfig(badge)
492 %endif
493
494 %if 0%{?tizen_feature_calendar_support}
495 BuildRequires:  pkgconfig(calendar-service2)
496 %endif
497
498 %if 0%{?tizen_feature_contact_support}
499 BuildRequires:  pkgconfig(contacts-service2)
500 %endif
501
502 %if 0%{?tizen_feature_callhistory_support}
503 BuildRequires:  pkgconfig(contacts-service2)
504 %endif
505
506 %if 0%{?tizen_feature_exif_support}
507 BuildRequires:  pkgconfig(libexif)
508 %endif
509
510 %if 0%{?tizen_feature_nfc_support}
511 BuildRequires:  pkgconfig(capi-network-nfc)
512 %endif
513
514 %if 0%{?tizen_feature_fm_radio_support}
515 BuildRequires: pkgconfig(capi-media-radio)
516 %endif
517
518 %if 0%{?tizen_feature_feedback_support}
519 BuildRequires: pkgconfig(feedback)
520 %endif
521
522 %if 0%{?tizen_feature_se_support}
523 BuildRequires:  pkgconfig(capi-network-smartcard)
524 %endif
525
526 %if 0%{?tizen_feature_message_port_support}
527 BuildRequires: pkgconfig(capi-message-port)
528 %endif
529
530 %if 0%{?tizen_feature_notification_support}
531 BuildRequires: pkgconfig(notification)
532 %endif
533
534 %if 0%{?tizen_feature_sound_support}
535 BuildRequires:  pkgconfig(capi-media-sound-manager)
536 %endif
537
538 %if 0%{?tizen_feature_sensor_support}
539 BuildRequires: pkgconfig(capi-system-sensor)
540 %endif
541
542 %if 0%{?tizen_feature_media_key_support}
543 BuildRequires:  pkgconfig(capi-system-media-key)
544 %endif
545
546 %if 0%{?tizen_feature_widget_service_support}
547 BuildRequires: pkgconfig(widget_service)
548 %endif
549
550 %description
551 Tizen Web APIs implemented.
552
553 %package devel
554 Summary:    webapi-plugins development headers
555 Group:      Development/Libraries
556 Requires:   %{name} = %{version}
557
558 %description devel
559 webapi-plugins development headers
560
561 %prep
562 %setup -q
563
564 %build
565
566 export GYP_GENERATORS='ninja'
567 GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=%{profile} -Dprivilege_engine=%{tizen_privilege_engine}"
568 GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=%{display_type}"
569 GYP_OPTIONS="$GYP_OPTIONS -Dcrosswalk_extensions_path=%{crosswalk_extensions_path}"
570
571 # feature flags
572 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_is_emulator=%{?tizen_is_emulator}"
573 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_account_support=%{?tizen_feature_account_support}"
574 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_alarm_support=%{?tizen_feature_alarm_support}"
575 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_app_control_settings_support=%{?tizen_feature_app_control_settings_support}"
576 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_application_support=%{?tizen_feature_application_support}"
577 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_archive_support=%{?tizen_feature_archive_support}"
578 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_badge_support=%{?tizen_feature_badge_support}"
579 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bluetooth_support=%{?tizen_feature_bluetooth_support}"
580 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bookmark_support=%{?tizen_feature_bookmark_support}"
581 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_calendar_support=%{?tizen_feature_calendar_support}"
582 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_callhistory_support=%{?tizen_feature_callhistory_support}"
583 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_contact_support=%{?tizen_feature_contact_support}"
584 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_content_support=%{?tizen_feature_content_support}"
585 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datacontrol_support=%{?tizen_feature_datacontrol_support}"
586 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datasync_support=%{?tizen_feature_datasync_support}"
587 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_download_support=%{?tizen_feature_download_support}"
588 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_exif_support=%{?tizen_feature_exif_support}"
589 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_feedback_support=%{?tizen_feature_feedback_support}"
590 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_filesystem_support=%{?tizen_feature_filesystem_support}"
591 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_fm_radio_support=%{?tizen_feature_fm_radio_support}"
592 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_ham_support=%{?tizen_feature_ham_support}"
593 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_iotcon_support=%{?tizen_feature_iotcon_support}"
594 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_location_batch=%{?tizen_feature_location_batch}"
595 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_key_manager_support=%{?tizen_feature_key_manager_support}"
596 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_controller_support=%{?tizen_feature_media_controller_support}"
597 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_key_support=%{?tizen_feature_media_key_support}"
598 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_message_port_support=%{?tizen_feature_message_port_support}"
599 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_messaging_support=%{?tizen_feature_messaging_support}"
600 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nbs_support=%{?tizen_feature_nbs_support}"
601 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_emulation_support=%{?tizen_feature_nfc_emulation_support}"
602 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_support=%{?tizen_feature_nfc_support}"
603 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_notification_support=%{?tizen_feature_notification_support}"
604 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_package_support=%{?tizen_feature_package_support}"
605 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_player_util_support=%{?tizen_feature_player_util_support}"
606 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_power_support=%{?tizen_feature_power_support}"
607 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_preference_support=%{?tizen_feature_preference_support}"
608 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_push_support=%{?tizen_feature_push_support}"
609 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sap_support=%{?tizen_feature_sap_support}"
610 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sensor_support=%{?tizen_feature_sensor_support}"
611 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_se_support=%{?tizen_feature_se_support}"
612 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sound_support=%{?tizen_feature_sound_support}"
613 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_info_support=%{?tizen_feature_system_info_support}"
614 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_setting_support=%{?tizen_feature_system_setting_support}"
615 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_telephony_support=%{?tizen_feature_telephony_support}"
616 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_time_support=%{?tizen_feature_time_support}"
617 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_inputdevice_support=%{?tizen_feature_inputdevice_support}"
618 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_web_setting_support=%{?tizen_feature_web_setting_support}"
619 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_widget_service_support=%{?tizen_feature_widget_service_support}"
620 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_wi_fi_support=%{?tizen_feature_wi_fi_support}"
621 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_tvinputdevice_support=%{?tizen_feature_tvinputdevice_support}"
622
623 ./tools/gyp/gyp $GYP_OPTIONS src/tizen-wrt.gyp
624
625 ninja -C out/Default %{?_smp_mflags}
626
627 %install
628 mkdir -p %{buildroot}/usr/share/license
629 cp LICENSE %{buildroot}/usr/share/license/%{name}
630 cat LICENSE.BSD-3-Clause >> %{buildroot}/usr/share/license/%{name}
631 cat LICENSE.MIT >> %{buildroot}/usr/share/license/%{name}
632
633 # Extensions.
634 mkdir -p %{buildroot}%{crosswalk_extensions_path}
635 install -p -m 644 out/Default/libtizen*.so %{buildroot}%{crosswalk_extensions_path}
636
637 # devel files
638 mkdir -p %{buildroot}%{_libdir}/pkgconfig
639 sed -i s,__LIB_DIR__,%{crosswalk_extensions_path},g packaging/%{name}.pc.in
640 sed -i s,__INCLUDE_DIR__,%{_includedir}/%{name}/src,g packaging/%{name}.pc.in
641 cp packaging/%{name}.pc.in %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
642 mkdir -p %{buildroot}%{_includedir}/%{name}/src/common
643 mkdir -p %{buildroot}%{_includedir}/%{name}/src/common/filesystem
644 install -p -m 644 src/common/*.h %{buildroot}%{_includedir}/%{name}/src/common
645 install -p -m 644 src/common/filesystem/*.h %{buildroot}%{_includedir}/%{name}/src/common/filesystem
646 install -p -m 644 src/common/*.gypi %{buildroot}%{_includedir}/%{name}/src/common
647 install -p -m 644 src/common/XW_Extension.cc %{buildroot}%{_includedir}/%{name}/src/common
648 mkdir -p %{buildroot}%{_includedir}/%{name}/tools
649 install -p -m 644 tools/generate_api.py %{buildroot}%{_includedir}/%{name}/tools
650 install -p -m 644 tools/mergejs.py %{buildroot}%{_includedir}/%{name}/tools
651 install -p -m 644 tools/js_minimize.py %{buildroot}%{_includedir}/%{name}/tools
652 cp -a tools/gyp %{buildroot}%{_includedir}/%{name}/tools/gyp
653 cp -a tools/slimit %{buildroot}%{_includedir}/%{name}/tools/slimit
654 cp -a out/Default/desc_gentool %{buildroot}%{_includedir}/%{name}/tools/desc_gentool
655
656 # execute desc_gentool
657 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{crosswalk_extensions_path} out/Default/desc_gentool \
658         %{crosswalk_extensions_path} \
659         %{buildroot}%{crosswalk_extensions_path} > plugins.json
660
661 # temporary plugins description for lazy loading
662 install -p -m 644 plugins.json %{buildroot}%{crosswalk_extensions_path}/plugins.json
663
664
665 %files
666 %{crosswalk_extensions_path}/libtizen*.so
667 %{crosswalk_extensions_path}/plugins.json
668 %{_datadir}/license/%{name}
669 %manifest webapi-plugins.manifest
670
671 %files devel
672 %{_includedir}/*
673 %{_libdir}/pkgconfig/*