summaryrefslogtreecommitdiff
path: root/packaging/xamarin-forms-tizen.spec
blob: 09c0a30d4fed225313f022a55f80f66dbec36add (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%define XF_VERSION 2.3.4
%define XF_RELEASE 214

# Increase this XF_DEV_VERSION when any public APIs of Xamarin.Forms.Platform.Tizen are changed.
%define XF_DEV_VERSION 002

Name: xamarin-forms-tizen
Summary: Xamarin.Forms for Tizen platform
Version: %{XF_VERSION}
Release: 0
License: MIT
Group: Graphics & UI Framework/Libraries
Source0: %{name}-%{version}.tar.gz
Source1: %{name}.manifest

%define NUPKG_VERSION %{XF_VERSION}-r%{XF_RELEASE}-%{XF_DEV_VERSION}

AutoReqProv: no
ExcludeArch: aarch64

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: csapi-information-nuget
BuildRequires: csapi-location-nuget
BuildRequires: csapi-maps-nuget
BuildRequires: elm-sharp-nuget
BuildRequires: csapi-webview-nuget

%description
Allows one to use portable controls subsets that are mapped to native
controls of Android, iOS, Windows Phone, and Tizen.

# make -nuget sub package
%package nuget
Summary:  NuGet package for %{name}
Group:    Development/Libraries

%description nuget
NuGet package for %{name}

# for private nuget package
%package nugetpriv
Summary:  Xamarin Forms Private NuGet
Group:    Development/Libraries

%description nugetpriv
Xamarin Forms Private NuGet for internal uses

%prep
%setup -q
cp %{SOURCE1} .

%build
# Restore NuGet Dependencies
%dotnet_restore Xamarin.Forms.Platform.Tizen
%dotnet_restore Xamarin.Forms.Maps.Tizen

# Build
PKGSRC="$(readlink -f .nuget/packages)"
%dotnet_build Xamarin.Forms.Tizen.sln "/p:PackageSources=$PKGSRC"

# Create NuGet Packages
%dotnet_pack Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.nuspec %{NUPKG_VERSION} "-BasePath ./.nuspec"
%dotnet_pack Xamarin.Forms.Maps.Tizen/Xamarin.Forms.Maps.Tizen.nuspec %{NUPKG_VERSION} "-BasePath ./.nuspec"

# Xamarin.Forms NuGet Package for private uses
%dotnet_pack .nuspec/Xamarin.Forms.Tizen.nuspec %{XF_VERSION}.%{XF_RELEASE}-tizen-%{XF_DEV_VERSION} "-BasePath ./.nuspec"

%install
function install_asm()
{
  mkdir -p %{buildroot}%{_dotnet_assembly_path}
  install -p -m 644 $1/bin/%{_dotnet_build_conf}/$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
install_asm Xamarin.Forms.Maps
install_asm Xamarin.Forms.Maps.Tizen

mkdir -p %{buildroot}/nuget
install -p -m 644 *.nupkg %{buildroot}/nuget

%files
%manifest %{name}.manifest
%license LICENSE
%attr(644,root,root) %{dotnet_assembly_files}

%files nuget
/nuget/Xamarin.Forms.Platform.Tizen.%{NUPKG_VERSION}.nupkg
/nuget/Xamarin.Forms.Maps.Tizen.%{NUPKG_VERSION}.nupkg

%files nugetpriv
/nuget/Xamarin.Forms.%{XF_VERSION}.%{XF_RELEASE}-tizen-%{XF_DEV_VERSION}.nupkg