summaryrefslogtreecommitdiff
path: root/packaging/xamarin-forms-tizen.spec
blob: a805986d5e8b2e0cada9d632921658cf5f73c03b (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
107
108
%define XF_VERSION 2.3.5
%define XF_RELEASE 233

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

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: dotnet-build-tools

# C# API Requires
BuildRequires: elm-sharp-nuget
BuildRequires: csapi-tizen-nuget
BuildRequires: csapi-application-common-nuget
BuildRequires: csapi-application-ui-nuget
BuildRequires: csapi-information-nuget
BuildRequires: csapi-location-nuget
BuildRequires: csapi-maps-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
Requires: elm-sharp-nuget
Requires: csapi-tizen-nuget
Requires: csapi-application-common-nuget
Requires: csapi-application-ui-nuget
Requires: csapi-information-nuget
Requires: csapi-location-nuget
Requires: csapi-maps-nuget
Requires: csapi-webview-nuget

%description nuget
NuGet package for %{name}

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

%description nuget-private
Xamarin Forms Private NuGet for internal uses

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

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

# Build Xamarin.Forms.Tizen.sln
%dotnet_build Xamarin.Forms.Tizen.sln

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

# Xamarin.Forms for internal usage
%dotnet_pack .nuspec/Xamarin.Forms.Tizen.nuspec %{NUPKG_VERSION} "-BasePath ./.nuspec"

%install
%dotnet_install_assembly Xamarin.Forms.Core
%dotnet_install_assembly Xamarin.Forms.Core
%dotnet_install_assembly Xamarin.Forms.Xaml
%dotnet_install_assembly Xamarin.Forms.Platform
%dotnet_install_assembly Xamarin.Forms.Platform.Tizen
%dotnet_install_assembly Xamarin.Forms.Maps
%dotnet_install_assembly Xamarin.Forms.Maps.Tizen

%dotnet_install_nuget Xamarin.Forms.Platform.Tizen
%dotnet_install_nuget Xamarin.Forms.Maps.Tizen

# Xamarin.Forms for internal usage
%dotnet_install_nuget Xamarin.Forms

%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 nuget-private
/nuget/Xamarin.Forms.%{NUPKG_VERSION}.nupkg