2 Summary: Javascript based Runtime for Tizen
5 Group: Web Framework/Web Runtime
7 URL: https://www.tizen.org
8 Source: %{name}-%{version}.tar.gz
10 %define app_dir out/gen/app
11 %define crosswalk_extensions_service tizen-extensions-crosswalk-service
13 BuildRequires: pkgconfig(chromium-efl)
15 %if "%{?profile}" != "tv"
17 BuildRequires: pkgconfig(dlog)
21 %if "%{?profile}" == "tv"
22 BuildRequires: app-signer
24 BuildRequires: hash-signer, zip
25 BuildRequires: pkgconfig(libtzplatform-config)
29 Web Runtime Engine based on Electron
31 %define _tizen_version %{tizen_version_major}%{tizen_version_minor}
32 %define _pkgid org.tizen.%{name}
34 # The tv profile has a different tpk generation policy.
35 # 2 types(update, upgrade) of tpk can be generated and used simultaneously.
36 # If tpktype is not defined and tizen version is less than 6.0, upgrade type
37 # is generated by default.
38 %if "%{?profile}" == "tv"
39 %if "%{?tpktype}" == "upgrade" || (0%{!?tpktype:1} && %{_tizen_version} < 60)
40 %define _tpkid %{_pkgid}-upgrade
44 %define _tpkid %{_pkgid}
47 # WRTjs TPK install directory
48 %global WRTJS_TPK_DIR /tmp
49 # Directory for WRTjs tizen application package
50 %global WRTJS_APP_DIR %{TZ_SYS_RO_APP}/%{_tpkid}
57 # The "_repository" flag was changed to "_vd_cfg_target_repository"
58 # since tizen 4.0 product tv.
59 %if "%{?profile}" == "tv"
60 %define _manifestname %{_pkgid}-vd
61 # The onemain branch haven't defined _vd_cfg_target_repository.
62 # So, this hijack code is added to set the repo_name to "MuseM".
63 # Remove this code when _vd_cfg_target_repository is defined in onemain.
64 %if "%{?_vd_cfg_target_repository}"
65 %define repo_name %{_vd_cfg_target_repository}
67 %define repo_name MuseM
70 %define _manifestname %{_pkgid}
71 %define repo_name %{_repository}
74 %if "%{?profile}" != "tv"
75 %define _outdir $PWD/out
76 ./build/tools/gn gen %{_outdir}
77 ninja -C %{_outdir} wrt-loader
80 ./build/tools/node ./node_modules/.bin/tsc
81 absolute_appdir=$PWD/%{app_dir}
82 (cd wrt_app/ && find . -type f ! -name '*.ts' -exec cp --parents {} ${absolute_appdir} \;)
85 %if "%{_vd_cfg_chip_vendor}" != "EMUL" && "%{?profile}" == "tv"
86 %define __package_signing 1
88 %define __package_signing 0
90 sed -e 's#@TIZEN_VERSION@#%{tizen_version_major}.%{tizen_version_minor}#g' \
91 -e 's#@WRTJS_VERSION@#%{version}#g' \
92 -e 's#@PACKAGE_ID@#%{_tpkid}#g' \
93 packaging/%{_manifestname}.xml.in \
94 > packaging/tizen-manifest-tpk.xml
99 %define ARCHITECTURE armv7l
102 %define ARCHITECTURE aarch64
105 %define ARCHITECTURE ix86
108 %define ARCHITECTURE x86_64
110 %define _resourcedir /usr/share/wrt/app
111 install -d %{buildroot}%{_bindir}
112 install -d %{buildroot}%{_datadir}/aul
113 install -d %{buildroot}%{_resourcedir}
114 install -d %{buildroot}%{WRTJS_APP_DIR}
116 %if 0%{?__package_signing}
117 install -m 0644 tizen/downloadable/vd_sign/author-signature.xml %{buildroot}%{WRTJS_APP_DIR}
118 install -m 0644 tizen/downloadable/vd_sign/signature1.xml %{buildroot}%{WRTJS_APP_DIR}
121 %define tizen_sign_base %{WRTJS_APP_DIR}
122 %define tizen_sign_level platform
123 %define tizen_author_sign 1
124 %define tizen_dist_sign 1
127 %if "%{?profile}" == "tv"
128 ln -s %{_bindir}/wrt %{buildroot}%{_bindir}/wrt-loader
129 %if "%{_vd_cfg_product_type}" != "LFD"
130 %if "%{_vd_cfg_platform_type}" == "FULL_SMART"
131 install -m 0644 packaging/wrt_tv.loader %{buildroot}%{_datadir}/aul/wrt.loader
133 %if "%{_vd_cfg_platform_type}" == "ENTRY_SMART"
134 install -m 0644 packaging/wrt_tv_lite.loader %{buildroot}%{_datadir}/aul/wrt.loader
138 install -m 0755 %{_outdir}/wrt-loader %{buildroot}%{_bindir}
139 install -m 0644 packaging/wrt.loader %{buildroot}%{_datadir}/aul/
142 mkdir -p %{buildroot}%{_libdir}/%{crosswalk_extensions_service}
143 cp packaging/plugins.json %{buildroot}%{_libdir}/%{crosswalk_extensions_service}
144 cp -r %{app_dir}/* %{buildroot}%{_resourcedir}/
147 # The debugsources.list is needed by __spec_install_post to generate tpk file
148 # but it's missing in the build process. So, the temporary file is touched.
149 touch debugsources.list
150 %define _tpk_file_name %{_tpkid}-%{version}-v%{tizen_version_major}.%{tizen_version_minor}.%{repo_name}.%{ARCHITECTURE}
151 %define __tpk_install_post \
152 tizen/build/build_tpk.sh %{buildroot}%{WRTJS_APP_DIR} %{WRTJS_TPK_DIR} %{_tpk_file_name} %{_tpkid} %{?profile}
153 %define __spec_install_post \
154 %{?__tpk_install_post} \
157 echo "No TPK generation"
168 %manifest packaging/wrtjs.manifest
170 %if "%{?tizen_profile_name}" != "tv"
171 %caps(cap_setgid,cap_sys_admin=ei) %{_bindir}/wrt-loader
173 %{_bindir}/wrt-loader
175 %if "%{_vd_cfg_product_type}" != "LFD"
176 %{_datadir}/aul/wrt.loader
178 %{_libdir}/%{crosswalk_extensions_service}/plugins.json
180 %if 0%{?__package_signing}
181 %{WRTJS_APP_DIR}/author-signature.xml
182 %{WRTJS_APP_DIR}/signature1.xml