91d6b512fbdfd60c10c7785598c2b27150cc09ee
[platform/core/dotnet/build-tools.git] / packaging / dotnet-build-tools.spec
1 %global __os_install_post %{nil}
2 %define debug_package %{nil}
3
4 Name:       dotnet-build-tools
5 Summary:    Tools for building C# API projects
6 Version:    6.0.101
7 Release:    1
8 Group:      Development/Libraries
9 License:    MIT and Apache-2.0
10 URL:        https://www.tizen.org
11 Source0:    %{name}-%{version}.tar.gz
12 Source1:    macros.dotnet-build-tools
13 Source21:   dotnet-sdk-%{version}-linux-x64.tar.gz
14 Source22:   deps.tar.gz
15
16 AutoReqProv: no
17
18 BuildRequires: patchelf
19
20 Requires: corefx-managed-ref
21 Requires: libicu
22 Requires: openssl1.1
23 Requires: make
24 Recommends: dotnet-launcher-gbs-support
25
26 %description
27 Provides dotnet-sdk for GBS environment
28
29 %define TOOLS_PATH /usr/share/dotnet-build-tools
30 %define SDK_PATH %{TOOLS_PATH}/sdk
31
32 %prep
33 %setup -q
34
35 mkdir -p dotnet/deps
36 tar xvfz %{SOURCE21} -C dotnet
37 tar xvfz %{SOURCE22} -C dotnet/deps
38
39 %build
40 # Prepare dotnet-sdk
41 %ifnarch x86_64
42 for file in $( find ./dotnet -name "dotnet" -type f )
43 do
44     chmod 0755 ${file}
45     patchelf --set-interpreter %{SDK_PATH}/deps/ld-linux-x86-64.so.2 ${file}
46     patchelf --set-rpath %{SDK_PATH}/deps/ ${file}
47 done
48 for file in $( find ./dotnet -type f \( -name "*.so" -or -name "*.so.*" \) -not -name "*.dbg" -not -name "ld-*.so*" )
49 do
50     chmod 0755 ${file}
51     patchelf --set-rpath %{SDK_PATH}/deps/ ${file}
52 done
53 %endif
54
55 # overrides
56 cp -f overrides/Microsoft.Build.Tasks.Core.dll dotnet/sdk/*/Microsoft.Build.Tasks.Core.dll
57
58 %install
59
60 mkdir -p %{buildroot}%{_bindir}
61 mkdir -p %{buildroot}%{SDK_PATH}
62
63 # RPM Macros
64 install -D -p -m 0644 %{S:1} %{buildroot}%{_sysconfdir}/rpm/macros.dotnet-build-tools
65
66 # .NETCore SDK
67 cp -fr ./dotnet/* %{buildroot}%{SDK_PATH}
68
69 # .NETCore Additional Packs
70 cp -fr ./packs/* %{buildroot}%{SDK_PATH}/packs
71
72 # BuildTools
73 cp -fr ./tools/* %{buildroot}%{TOOLS_PATH}
74 ln -s %{TOOLS_PATH}/dotnet-build.sh %{buildroot}%{_bindir}/dotnet-build
75 ln -s %{TOOLS_PATH}/dotnet-wrapper.sh %{buildroot}%{_bindir}/dotnet
76 ln -s %{TOOLS_PATH}/dotnet-validate-struct.sh %{buildroot}%{_bindir}/dotnet-validate-struct
77
78 %files
79 %config(noreplace) %{_sysconfdir}/rpm/macros.dotnet-build-tools
80 %{_bindir}/*
81 %{TOOLS_PATH}/*