summaryrefslogtreecommitdiff
path: root/packaging/dotnet-launcher.spec
blob: 7e12b6e69e5d8dc72c63bf628004a109193852f1 (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
%{!?dotnet_assembly_path: %define dotnet_assembly_path %{_datadir}/assembly}

Name:       dotnet-launcher
Summary:    Launchpad plugin for dotnet apps
Version:    1.0.1
Release:    2
Group:      Application Framework/Application State Management
License:    Apache License, Version 2.0
Source0:    %{name}-%{version}.tar.gz
AutoReqProv: no

BuildRequires: cmake
BuildRequires: pkgconfig(aul)
BuildRequires: pkgconfig(bundle)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(ecore)
BuildRequires: pkgconfig(launchpad)
BuildRequires: pkgconfig(pkgmgr-info)
BuildRequires: pkgconfig(pkgmgr-installer)
BuildRequires: pkgconfig(elementary)
BuildRequires: aul-devel
BuildRequires: mono-compiler
BuildRequires: mono-devel 
BuildRequires: csapi-tizen-nuget 
BuildRequires: dotnet-build-tools
Requires: aul

Requires(post): /sbin/ldconfig
Requires(post): /usr/bin/systemctl
Requires(postun): /sbin/ldconfig
Requires(postun): /usr/bin/systemctl
Requires(preun): /usr/bin/systemctl

%define _loaderdir %{_prefix}/share/aul
%define _configdir /etc
%define _device_api_dir %{dotnet_assembly_path}
%define _runtime_dir /opt/usr/share/dotnet/shared/Microsoft.NETCore.App/1.1.0
%define _preload_dir /opt/usr/share/dotnet.tizen/preload
%define _install_plugin_dir /usr/etc/package-manager/parserlib

ExcludeArch: %{ix86} aarch64

%description
Launchpad plugin for launching dotnet apps

%prep
%setup -q

%build
%if 0%{?tizen_build_devel_mode}
%define _buildmode Debug
%else
%define _buildmode Release
%endif
cmake \
	-DCMAKE_INSTALL_PREFIX=%{_prefix} \
	-DPACKAGE_NAME=%{name} \
	-DLIBDIR=%{_libdir} \
	-DBINDIR=%{_bindir} \
	-DLOADERDIR=%{_loaderdir} \
	-DCONFIGDIR=%{_configdir} \
	-DCMAKE_BUILD_TYPE=%{_buildmode} \
	-DDEVICE_API_DIR=%{_device_api_dir} \
	-DRUNTIME_DIR=%{_runtime_dir} \
	-DCROSSGEN_PATH=%{_device_api_dir}/crossgen \
	-DCORECLR_LAUNCHER_ASSEMBLY_PATH=%{_bindir}/Tizen.Runtime.Coreclr.dll \
	-DMONO_LAUNCHER_ASSEMBLY_PATH=%{_bindir}/Tizen.Runtime.Mono.dll \
	-DINSTALL_PLUGIN_DIR=%{_install_plugin_dir} \
	-DVERSION=%{version} \
	NativeLauncher

make %{?jobs:-j%jobs} VERBOSE=1

nuget restore Tizen.Runtime/Tizen.Runtime.Coreclr.project.json

xbuild \
	/p:Configuration=%{_buildmode} \
	/p:PreloadPath=%{_preload_dir} \
	Tizen.Runtime/Tizen.Runtime.Coreclr.csproj

nuget restore Tizen.Runtime/Tizen.Runtime.Mono.project.json

xbuild \
	/p:Configuration=%{_buildmode} \
	/p:PreloadPath=%{_preload_dir} \
	Tizen.Runtime/Tizen.Runtime.Mono.csproj

%install
rm -rf %{buildroot}
%make_install
install -p -m 644 Tizen.Runtime/bin/Tizen.Runtime.Coreclr.dll %{buildroot}%{_bindir}
install -p -m 644 Tizen.Runtime/bin/Tizen.Runtime.Mono.dll %{buildroot}%{_bindir}

%files
%manifest dotnet-launcher.manifest
%{_loaderdir}/dotnet.loader
%{_loaderdir}/dotnet.launcher
%{_loaderdir}/dotnet.debugger
%caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/dotnet-launcher
%caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/nitool
%caps(cap_mac_admin,cap_setgid=ei) %{_install_plugin_dir}/libui-application.so
%caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/Tizen.Runtime.Coreclr.dll
%caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/Tizen.Runtime.Mono.dll