diff options
Diffstat (limited to 'packaging/xamarin-forms-tizen.spec')
-rw-r--r-- | packaging/xamarin-forms-tizen.spec | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/packaging/xamarin-forms-tizen.spec b/packaging/xamarin-forms-tizen.spec new file mode 100644 index 00000000..074629b1 --- /dev/null +++ b/packaging/xamarin-forms-tizen.spec @@ -0,0 +1,94 @@ +%{!?dotnet_assembly_path: %define dotnet_assembly_path /opt/usr/share/dotnet.tizen/framework} + +%if 0%{?tizen_build_devel_mode} +%define BUILDCONF Debug +%else +%define BUILDCONF Release +%endif + +%define XF_VERSION 2.3.3.175 +#%define XF_PRETAG pre3 + +# Increase this XF_TIZEN_VERSION when any public APIs of Xamarin.Forms.Platform.Tizen are changed. +%define XF_TIZEN_VERSION b01 + +Name: xamarin-forms-tizen +Summary: Xamarin.Forms for Tizen platform +Version: %{XF_VERSION} +Release: %{XF_TIZEN_VERSION} +License: MIT +Group: Graphics & UI Framework/Libraries +Source0: %{name}-%{version}.tar.gz +Source1: %{name}.manifest + +%define NUPKG_VERSION %{XF_VERSION}%{?XF_PRETAG:-%{XF_PRETAG}}-%{XF_TIZEN_VERSION} + +# Instead of disabling Automatic Dependencies completely with `AutoReqProv: no' +# let's override Mono provided portion +%define __mono_requires %{_builddir}/%name-%version/packaging/custom-find-requires + +ExcludeArch: aarch64 %ix86 + +BuildRequires: mono-compiler +BuildRequires: mono-devel +BuildRequires: referenceassemblies-pcl + +BuildRequires: dotnet-build-tools + +# C# API Requires +BuildRequires: csapi-tizen-nuget +BuildRequires: csapi-application-nuget +BuildRequires: elm-sharp-nuget + +%description +Allows one to use portable controls subsets that are mapped to native +controls of Android, iOS, Windows Phone, and Tizen. + +%prep +%setup -q +cp %{SOURCE1} . + +%build +# Restore NuGet Dependencies +find . -name *.Tizen.project.json -print0 | xargs -n1 -0 nuget restore + +# Build +xbuild Xamarin.Forms.Tizen.sln \ + /p:Configuration=%{BUILDCONF} \ + /p:PackageSources=/nuget + +# Create NuGet Packages +nuget pack .nuspec/Xamarin.Forms.Platform.Tizen.nuspec \ + -BasePath ./.nuspec -Version %{NUPKG_VERSION} \ + -Properties "Configuration=%{BUILDCONF}" + +%install +function install_asm() +{ + mkdir -p %{buildroot}%{dotnet_assembly_path} + install -p -m 644 $1/bin/%{BUILDCONF}/$1.dll %{buildroot}%{dotnet_assembly_path} +} + +install_asm Xamarin.Forms.Core +install_asm Xamarin.Forms.Xaml +install_asm Xamarin.Forms.Platform +install_asm Xamarin.Forms.Platform.Tizen + +mkdir -p %{buildroot}/nuget +install -p -m 644 *.nupkg %{buildroot}/nuget + +%files +%manifest %{name}.manifest +%license LICENSE +%attr(644,root,root) %{dotnet_assembly_path}/*.dll + +%package nuget +Summary: NuGet package for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description nuget +NuGet package for %{name} + +%files nuget +/nuget/*.nupkg |