Exclude arm64 and i586 architecture
[platform/core/dotnet/launcher.git] / packaging / dotnet-launcher.spec
1 %{!?dotnet_assembly_path: %define dotnet_assembly_path %{_datadir}/assembly}
2
3 Name:       dotnet-launcher
4 Summary:    Launchpad plugin for dotnet apps
5 Version:    1.0.1
6 Release:    2
7 Group:      Application Framework/Application State Management
8 License:    Apache License, Version 2.0
9 Source0:    %{name}-%{version}.tar.gz
10 AutoReqProv: no
11
12 BuildRequires: cmake
13 BuildRequires: pkgconfig(aul)
14 BuildRequires: pkgconfig(bundle)
15 BuildRequires: pkgconfig(dlog)
16 BuildRequires: pkgconfig(ecore)
17 BuildRequires: pkgconfig(launchpad)
18 BuildRequires: pkgconfig(pkgmgr-info)
19 BuildRequires: pkgconfig(pkgmgr-installer)
20 BuildRequires: pkgconfig(elementary)
21 BuildRequires: aul-devel
22 BuildRequires: mono-compiler
23 BuildRequires: mono-devel 
24 BuildRequires: csapi-tizen-nuget 
25 BuildRequires: dotnet-build-tools
26 Requires: aul
27
28 Requires(post): /sbin/ldconfig
29 Requires(post): /usr/bin/systemctl
30 Requires(postun): /sbin/ldconfig
31 Requires(postun): /usr/bin/systemctl
32 Requires(preun): /usr/bin/systemctl
33
34 %define _loaderdir %{_prefix}/share/aul
35 %define _configdir /etc
36 %define _device_api_dir %{dotnet_assembly_path}
37 %define _runtime_dir /opt/usr/share/dotnet/shared/Microsoft.NETCore.App/1.1.0
38 %define _preload_dir /opt/usr/share/dotnet.tizen/preload
39 %define _install_plugin_dir /usr/etc/package-manager/parserlib
40
41 ExcludeArch: %{ix86} aarch64
42
43 %description
44 Launchpad plugin for launching dotnet apps
45
46 %prep
47 %setup -q
48
49 %build
50 %if 0%{?tizen_build_devel_mode}
51 %define _buildmode Debug
52 %else
53 %define _buildmode Release
54 %endif
55 cmake \
56         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
57         -DPACKAGE_NAME=%{name} \
58         -DLIBDIR=%{_libdir} \
59         -DBINDIR=%{_bindir} \
60         -DLOADERDIR=%{_loaderdir} \
61         -DCONFIGDIR=%{_configdir} \
62         -DCMAKE_BUILD_TYPE=%{_buildmode} \
63         -DDEVICE_API_DIR=%{_device_api_dir} \
64         -DRUNTIME_DIR=%{_runtime_dir} \
65         -DCROSSGEN_PATH=%{_device_api_dir}/crossgen \
66         -DCORECLR_LAUNCHER_ASSEMBLY_PATH=%{_bindir}/Tizen.Runtime.Coreclr.dll \
67         -DMONO_LAUNCHER_ASSEMBLY_PATH=%{_bindir}/Tizen.Runtime.Mono.dll \
68         -DINSTALL_PLUGIN_DIR=%{_install_plugin_dir} \
69         -DVERSION=%{version} \
70         NativeLauncher
71
72 make %{?jobs:-j%jobs} VERBOSE=1
73
74 nuget restore Tizen.Runtime/Tizen.Runtime.Coreclr.project.json
75
76 xbuild \
77         /p:Configuration=%{_buildmode} \
78         /p:PreloadPath=%{_preload_dir} \
79         Tizen.Runtime/Tizen.Runtime.Coreclr.csproj
80
81 nuget restore Tizen.Runtime/Tizen.Runtime.Mono.project.json
82
83 xbuild \
84         /p:Configuration=%{_buildmode} \
85         /p:PreloadPath=%{_preload_dir} \
86         Tizen.Runtime/Tizen.Runtime.Mono.csproj
87
88 %install
89 rm -rf %{buildroot}
90 %make_install
91 install -p -m 644 Tizen.Runtime/bin/Tizen.Runtime.Coreclr.dll %{buildroot}%{_bindir}
92 install -p -m 644 Tizen.Runtime/bin/Tizen.Runtime.Mono.dll %{buildroot}%{_bindir}
93
94 %files
95 %manifest dotnet-launcher.manifest
96 %{_loaderdir}/dotnet.loader
97 %{_loaderdir}/dotnet.launcher
98 %{_loaderdir}/dotnet.debugger
99 %caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/dotnet-launcher
100 %caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/nitool
101 %caps(cap_mac_admin,cap_setgid=ei) %{_install_plugin_dir}/libui-application.so
102 %caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/Tizen.Runtime.Coreclr.dll
103 %caps(cap_mac_admin,cap_setgid=ei) %{_bindir}/Tizen.Runtime.Mono.dll