Unpack dotnet sdk zipfile and add documentation file to nupkg
[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:    1.2.1
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
14 AutoReqProv: no
15
16 BuildRequires: patchelf
17
18 Requires: corefx-managed-ref
19 Requires: referenceassemblies-pcl
20
21 Requires: mono-compat
22 Requires: mono-devel
23 Requires: mono-compiler
24
25 Requires: xmlstarlet
26
27 %description
28 Build target files (.Targets) and Tools (including NuGet.exe) for building
29 C# Deivce API with xbuild in GBS environment.
30
31 %define XBuildDir /usr/lib/mono/xbuild
32 %define NuGetDir %{_datadir}/NuGet
33 %define ToolsDir %{_datadir}/dotnet-build-tools
34 %define CLI_PATH %{_datadir}/dotnet-build-tools/cli
35
36 %prep
37 %setup -q
38
39 %build
40 # Prepare dotnet-cli
41 for file in $( find ./dotnet -name "dotnet" -type f )
42 do
43     patchelf --set-interpreter %{CLI_PATH}/deps/ld-linux-x86-64.so.2 ${file}
44     patchelf --set-rpath %{CLI_PATH}/deps/ ${file}
45 done
46 for file in $( find ./dotnet -type f \( -name "*.so" -or -name "*.so.*" \) -not -name "*.dbg" -not -name "ld-*.so*" )
47 do
48     patchelf --set-rpath %{CLI_PATH}/deps/ ${file}
49 done
50
51 %install
52
53 # RPM Macros
54 install -D -p -m 0644 %{S:1} %{buildroot}%{_sysconfdir}/rpm/macros.dotnet-build-tools
55
56 # BuildTools
57 mkdir -p %{buildroot}%{_bindir}
58 mkdir -p %{buildroot}%{ToolsDir}
59 install -p -m 755 Tools/* %{buildroot}%{ToolsDir}
60 ln -s %{ToolsDir}/dotnet-build.sh %{buildroot}%{_bindir}/dotnet-build
61
62 # dotnet-cli
63 mkdir -p %{buildroot}%{CLI_PATH}
64 cp -fr ./dotnet/* %{buildroot}%{CLI_PATH}
65 ln -s %{CLI_PATH}/dotnet %{buildroot}%{_bindir}/dotnet
66
67 # Tizen.GBS.BuildTasks
68 mkdir -p %{buildroot}%{XBuildDir}/14.0/Microsoft.Common.targets/ImportAfter
69 install -p -m 644 Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets %{buildroot}%{XBuildDir}/14.0/Microsoft.Common.targets/ImportAfter
70 install -p -m 644 Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets %{buildroot}%{CLI_PATH}/sdk/*/15.0/Microsoft.Common.targets/ImportAfter
71
72 # NuGet
73 mkdir -p %{buildroot}%{NuGetDir}
74 install -p -m 755 NuGet/* %{buildroot}%{NuGetDir}
75 ln -s %{NuGetDir}/nuget %{buildroot}%{_bindir}/nuget
76 ln -s %{NuGetDir}/NuGet.exe %{buildroot}%{_bindir}/nuget.exe
77
78 # NuGet.BuildTasks
79 mkdir -p %{buildroot}%{XBuildDir}/Microsoft/NuGet
80 install -p -m 644 NuGet.BuildTasks/Microsoft.NuGet.targets %{buildroot}%{XBuildDir}/Microsoft/NuGet
81 install -p -m 644 NuGet.BuildTasks/Microsoft.NuGet.Build.Tasks.dll %{buildroot}%{XBuildDir}/Microsoft/NuGet
82 install -p -m 644 NuGet.BuildTasks/Microsoft.NuGet.props %{buildroot}%{XBuildDir}/Microsoft/NuGet
83 mkdir -p %{buildroot}%{XBuildDir}/14.0/Microsoft.Common.targets/ImportBefore
84 install -p -m 644 NuGet.BuildTasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props %{buildroot}%{XBuildDir}/14.0/Microsoft.Common.targets/ImportBefore
85 mkdir -p %{buildroot}%{XBuildDir}/14.0/Microsoft.Common.targets/ImportAfter
86 install -p -m 644 NuGet.BuildTasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets %{buildroot}%{XBuildDir}/14.0/Microsoft.Common.targets/ImportAfter
87
88 %files
89 %license LICENSE.NuGet
90 %config(noreplace) %{_sysconfdir}/rpm/macros.dotnet-build-tools
91 %{_bindir}/*
92 %{NuGetDir}/*
93 %{XBuildDir}/*
94 %{ToolsDir}/*