%define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res
%define DOTNET_NUGET_SOURCE /nuget
+# If tizenfx_use_prebuilt is 1, use prebuilt binaries instead of building source at gbs build.
+# Default value is 1, if want to build source at gbs build, set tizenfx_use_prebuilt to 0.
+%define _tizenfx_use_prebuilt %{?tizenfx_use_prebuilt:%{tizenfx_use_prebuilt}}%{!?tizenfx_use_prebuilt:1}
+%define _tizenfx_bin_path Artifacts
+
Name: csapi-tizenfx
Summary: Assemblies of Tizen .NET
Version: 4.0.0.97
Source0: %{name}-%{version}.tar.gz
Source1: %{name}.manifest
+BuildRequires: dotnet-build-tools
+
BuildArch: noarch
AutoReqProv: no
cp %{SOURCE1} .
%build
-./scripts/filelist.sh common > common.filelist
-./scripts/filelist.sh mobile > mobile.filelist
-./scripts/filelist.sh mobile-emul > mobile-emul.filelist
-./scripts/filelist.sh tv > tv.filelist
-./scripts/filelist.sh ivi > ivi.filelist
-./scripts/filelist.sh wearable > wearable.filelist
+
+GetFileList() {
+ PROFILE=$1
+ cat pkg/PlatformFileList.txt | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
+}
+
+GetFileList common > common.filelist
+GetFileList mobile > mobile.filelist
+GetFileList mobile-emul > mobile-emul.filelist
+GetFileList tv > tv.filelist
+GetFileList ivi > ivi.filelist
+GetFileList wearable > wearable.filelist
+
+%if ! %{_tizenfx_use_prebuilt}
+ rm -fr %{_tizenfx_bin_path}/bin
+ rm -f %{_tizenfx_bin_path}/*.nupkg
+ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
+ ./build.sh --full
+ ./build.sh --pack
+%endif
%install
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE}
-install -p -m 644 binaries/frameworks/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 binaries/frameworks/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 binaries/frameworks/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
-install -p -m 644 binaries/frameworks_dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
-install -p -m 644 binaries/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
+install -p -m 644 %{_tizenfx_bin_path}/bin/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin_dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
%files nuget
%{DOTNET_NUGET_SOURCE}/*.nupkg