Bump to 1.2.4
[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.4
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 XBUILD_PATH /usr/lib/mono/xbuild
32 %define NUGET_PATH %{_datadir}/NuGet
33 %define TOOLS_PATH %{_datadir}/dotnet-build-tools
34 %define CLI_PATH %{TOOLS_PATH}/cli
35 %define GENAPI_PATH %{TOOLS_PATH}/GenAPI
36
37 %prep
38 %setup -q
39
40 %build
41 # Prepare dotnet-cli
42 for file in $( find ./dotnet -name "dotnet" -type f )
43 do
44     patchelf --set-interpreter %{CLI_PATH}/deps/ld-linux-x86-64.so.2 ${file}
45     patchelf --set-rpath %{CLI_PATH}/deps/ ${file}
46 done
47 for file in $( find ./dotnet -type f \( -name "*.so" -or -name "*.so.*" \) -not -name "*.dbg" -not -name "ld-*.so*" )
48 do
49     patchelf --set-rpath %{CLI_PATH}/deps/ ${file}
50 done
51
52 %install
53
54 # RPM Macros
55 install -D -p -m 0644 %{S:1} %{buildroot}%{_sysconfdir}/rpm/macros.dotnet-build-tools
56
57 # BuildTools
58 mkdir -p %{buildroot}%{_bindir}
59 mkdir -p %{buildroot}%{TOOLS_PATH}
60 install -p -m 755 Tools/* %{buildroot}%{TOOLS_PATH}
61 ln -s %{TOOLS_PATH}/dotnet-build.sh %{buildroot}%{_bindir}/dotnet-build
62
63 # dotnet-cli
64 mkdir -p %{buildroot}%{CLI_PATH}
65 cp -fr ./dotnet/* %{buildroot}%{CLI_PATH}
66 ln -s %{CLI_PATH}/dotnet %{buildroot}%{_bindir}/dotnet
67
68 # GenAPI
69 mkdir -p %{buildroot}%{GENAPI_PATH}
70 install -p -m 644 GenAPI/* %{buildroot}%{GENAPI_PATH}
71
72 # Tizen.GBS.BuildTasks
73 mkdir -p %{buildroot}%{XBUILD_PATH}/14.0/Microsoft.Common.targets/ImportAfter
74 install -p -m 644 Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets %{buildroot}%{XBUILD_PATH}/14.0/Microsoft.Common.targets/ImportAfter
75 install -p -m 644 Tizen.GBS.BuildTasks/Tizen.GBS.ImportAfter.targets %{buildroot}%{CLI_PATH}/sdk/*/15.0/Microsoft.Common.targets/ImportAfter
76
77 # NuGet
78 mkdir -p %{buildroot}%{NUGET_PATH}
79 install -p -m 755 NuGet/* %{buildroot}%{NUGET_PATH}
80 ln -s %{NUGET_PATH}/nuget %{buildroot}%{_bindir}/nuget
81 ln -s %{NUGET_PATH}/NuGet.exe %{buildroot}%{_bindir}/nuget.exe
82
83 # NuGet.BuildTasks
84 mkdir -p %{buildroot}%{XBUILD_PATH}/Microsoft/NuGet
85 install -p -m 644 NuGet.BuildTasks/Microsoft.NuGet.targets %{buildroot}%{XBUILD_PATH}/Microsoft/NuGet
86 install -p -m 644 NuGet.BuildTasks/Microsoft.NuGet.Build.Tasks.dll %{buildroot}%{XBUILD_PATH}/Microsoft/NuGet
87 install -p -m 644 NuGet.BuildTasks/Microsoft.NuGet.props %{buildroot}%{XBUILD_PATH}/Microsoft/NuGet
88 mkdir -p %{buildroot}%{XBUILD_PATH}/14.0/Microsoft.Common.targets/ImportBefore
89 install -p -m 644 NuGet.BuildTasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props %{buildroot}%{XBUILD_PATH}/14.0/Microsoft.Common.targets/ImportBefore
90 mkdir -p %{buildroot}%{XBUILD_PATH}/14.0/Microsoft.Common.targets/ImportAfter
91 install -p -m 644 NuGet.BuildTasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets %{buildroot}%{XBUILD_PATH}/14.0/Microsoft.Common.targets/ImportAfter
92
93 %files
94 %license NuGet/LICENSE GenAPI/LICENSE
95 %config(noreplace) %{_sysconfdir}/rpm/macros.dotnet-build-tools
96 %{_bindir}/*
97 %{NUGET_PATH}/*
98 %{XBUILD_PATH}/*
99 %{TOOLS_PATH}/*