Fix build on ppc64le and s390x
This commit is contained in:
parent
4fd04b3643
commit
6d7669732a
@ -68,9 +68,9 @@ Source0: %{tarball_name}.tar.xz
|
|||||||
# Generated via ./build-arm64-bootstrap-tarball
|
# Generated via ./build-arm64-bootstrap-tarball
|
||||||
Source1: dotnet-arm64-prebuilts-2023-05-17.tar.gz
|
Source1: dotnet-arm64-prebuilts-2023-05-17.tar.gz
|
||||||
# Generated manually, same pattern as the arm64 tarball
|
# Generated manually, same pattern as the arm64 tarball
|
||||||
#Source2: dotnet-ppc64le-prebuilts-2022-10-21.tar.gz
|
Source2: dotnet-ppc64le-prebuilts-2023-05-18.tar.gz
|
||||||
# Generated manually, same pattern as the arm64 tarball
|
# Generated manually, same pattern as the arm64 tarball
|
||||||
#Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz
|
Source3: dotnet-s390x-prebuilts-2023-05-25.tar.gz
|
||||||
%else
|
%else
|
||||||
# For non-releases, the source is generated on a Fedora box via:
|
# For non-releases, the source is generated on a Fedora box via:
|
||||||
# ./build-dotnet-tarball %%{upstream_tag} or commit
|
# ./build-dotnet-tarball %%{upstream_tag} or commit
|
||||||
@ -87,10 +87,13 @@ Source21: dotnet.sh.in
|
|||||||
|
|
||||||
# Disable apphost; there's no net6.0 apphost for ppc64le
|
# Disable apphost; there's no net6.0 apphost for ppc64le
|
||||||
Patch1: roslyn-analyzers-ppc64le-apphost.patch
|
Patch1: roslyn-analyzers-ppc64le-apphost.patch
|
||||||
|
# https://github.com/dotnet/source-build/discussions/3481
|
||||||
|
Patch2: nuget-client-use-net8.0.patch
|
||||||
|
Patch3: fsharp-use-net8.0.patch
|
||||||
|
Patch4: vstest-intent-net8.0.patch
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||||
#ExclusiveArch: aarch64 ppc64le s390x x86_64
|
ExclusiveArch: aarch64 ppc64le s390x x86_64
|
||||||
ExclusiveArch: aarch64 x86_64
|
|
||||||
%else
|
%else
|
||||||
ExclusiveArch: x86_64
|
ExclusiveArch: x86_64
|
||||||
%endif
|
%endif
|
||||||
@ -114,7 +117,12 @@ BuildRequires: libicu-devel
|
|||||||
%if ! %{use_bundled_libunwind}
|
%if ! %{use_bundled_libunwind}
|
||||||
BuildRequires: libunwind-devel
|
BuildRequires: libunwind-devel
|
||||||
%endif
|
%endif
|
||||||
|
%ifnarch s390x
|
||||||
BuildRequires: lld
|
BuildRequires: lld
|
||||||
|
%else
|
||||||
|
# lld is not supported/available/usable on s390x
|
||||||
|
BuildRequires: binutils
|
||||||
|
%endif
|
||||||
# If the build ever crashes, then having lldb installed might help the
|
# If the build ever crashes, then having lldb installed might help the
|
||||||
# runtime generate a backtrace for the crash
|
# runtime generate a backtrace for the crash
|
||||||
BuildRequires: lldb
|
BuildRequires: lldb
|
||||||
@ -394,15 +402,15 @@ boot_sdk_version=$(ls -1 .dotnet/sdk/)
|
|||||||
sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json
|
sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json
|
||||||
|
|
||||||
%ifarch ppc64le s390x
|
%ifarch ppc64le s390x
|
||||||
ilasm_version=$(ls packages/prebuilt| grep -i ilasm | tr 'A-Z' 'a-z' | sed -E 's|runtime.linux-'%{runtime_arch}'.microsoft.netcore.ilasm.||' | sed -E 's|.nupkg$||')
|
ilasm_version=$(ls prereqs/packages/prebuilt| grep -i ilasm | tr 'A-Z' 'a-z' | sed -E 's|runtime.linux-'%{runtime_arch}'.microsoft.netcore.ilasm.||' | sed -E 's|.nupkg$||')
|
||||||
echo $ilasm_version
|
echo $ilasm_version
|
||||||
|
|
||||||
mkdir -p packages-customized-local
|
mkdir -p packages-customized-local
|
||||||
pushd packages-customized-local
|
pushd packages-customized-local
|
||||||
tar xf ../packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz
|
tar xf ../prereqs/packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz
|
||||||
sed -i -E 's|<MicrosoftNETCoreILAsmVersion>[^<]+</MicrosoftNETCoreILAsmVersion>|<MicrosoftNETCoreILAsmVersion>'$ilasm_version'</MicrosoftNETCoreILAsmVersion>|' PackageVersions.props
|
sed -i -E 's|<MicrosoftNETCoreILAsmVersion>[^<]+</MicrosoftNETCoreILAsmVersion>|<MicrosoftNETCoreILAsmVersion>'$ilasm_version'</MicrosoftNETCoreILAsmVersion>|' PackageVersions.props
|
||||||
sed -i -E 's|<MicrosoftNETCoreILDAsmVersion>[^<]+</MicrosoftNETCoreILDAsmVersion>|<MicrosoftNETCoreILDAsmVersion>'$ilasm_version'</MicrosoftNETCoreILDAsmVersion>|' PackageVersions.props
|
sed -i -E 's|<MicrosoftNETCoreILDAsmVersion>[^<]+</MicrosoftNETCoreILDAsmVersion>|<MicrosoftNETCoreILDAsmVersion>'$ilasm_version'</MicrosoftNETCoreILDAsmVersion>|' PackageVersions.props
|
||||||
tar czf ../packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz *
|
tar czf ../prereqs/packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz *
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
11
fsharp-use-net8.0.patch
Normal file
11
fsharp-use-net8.0.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- a/src/fsharp/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj
|
||||||
|
+++ b/src/fsharp/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
<PropertyGroup>
|
||||||
|
<PreRelease>true</PreRelease>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
- <TargetFramework>net7.0</TargetFramework>
|
||||||
|
+ <TargetFramework>net8.0</TargetFramework>
|
||||||
|
<NuspecFile>Microsoft.FSharp.Compiler.nuspec</NuspecFile>
|
||||||
|
<IsPackable>true</IsPackable>
|
||||||
|
<PackageDescription>.NET Core compatible version of the F# compiler fsc.exe.</PackageDescription>
|
55
nuget-client-use-net8.0.patch
Normal file
55
nuget-client-use-net8.0.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From https://github.com/dotnet/source-build/discussions/3481
|
||||||
|
|
||||||
|
--- a/src/nuget-client/build/common.project.props
|
||||||
|
+++ a/src/nuget-client/build/common.project.props
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
<NETFXTargetFrameworkVersion>v4.7.2</NETFXTargetFrameworkVersion>
|
||||||
|
<NETFXTargetFramework>net472</NETFXTargetFramework>
|
||||||
|
<NETCoreTargetFramework>netcoreapp3.1</NETCoreTargetFramework>
|
||||||
|
- <NETCoreTargetFramework Condition="'$(DotNetBuildFromSource)' == 'true'">net7.0</NETCoreTargetFramework>
|
||||||
|
+ <NETCoreTargetFramework Condition="'$(DotNetBuildFromSource)' == 'true'">net8.0</NETCoreTargetFramework>
|
||||||
|
<NETCoreTestTargetFrameworks>net7.0;net8.0</NETCoreTestTargetFrameworks>
|
||||||
|
<NetStandardVersion>netstandard2.0</NetStandardVersion>
|
||||||
|
<TargetFrameworksExe>$(NETFXTargetFramework);$(NETCoreTargetFramework)</TargetFrameworksExe>
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
<TargetFrameworksExeForSigning Condition="'$(DotNetBuildFromSource)' == 'true'">$(TargetFrameworksExe);net7.0</TargetFrameworksExeForSigning>
|
||||||
|
<MinimalTargetFrameworksExeSigning>$(NETFXTargetFramework);netcoreapp5.0</MinimalTargetFrameworksExeSigning>
|
||||||
|
<MinimalTargetFrameworksExeSigning Condition=" '$(IsXPlat)' == 'true' ">netcoreapp5.0</MinimalTargetFrameworksExeSigning>
|
||||||
|
- <MinimalTargetFrameworksExeSigning Condition="'$(DotNetBuildFromSource)' == 'true'">net7.0</MinimalTargetFrameworksExeSigning>
|
||||||
|
+ <MinimalTargetFrameworksExeSigning Condition="'$(DotNetBuildFromSource)' == 'true'">net8.0</MinimalTargetFrameworksExeSigning>
|
||||||
|
<TargetFrameworksLibrary>$(NETFXTargetFramework);$(NetStandardVersion)</TargetFrameworksLibrary>
|
||||||
|
<TargetFrameworksLibrary Condition="'$(DotNetBuildFromSource)' == 'true'">$(NETCoreTargetFramework);$(NetStandardVersion)</TargetFrameworksLibrary>
|
||||||
|
<TargetFrameworksLibraryForSigning>$(TargetFrameworksLibrary);netcoreapp5.0</TargetFrameworksLibraryForSigning>
|
||||||
|
--- a/src/nuget-client/build/common.targets
|
||||||
|
+++ b/src/nuget-client/build/common.targets
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
<IsDesktop>true</IsDesktop>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
- <PropertyGroup Condition=" $(TargetFramework.StartsWith('netcoreapp')) OR $(TargetFramework.StartsWith('netstandard')) OR $(TargetFramework.StartsWith('net6')) OR $(TargetFramework.StartsWith('net7')) ">
|
||||||
|
+ <PropertyGroup Condition=" $(TargetFramework.StartsWith('netcoreapp')) OR $(TargetFramework.StartsWith('netstandard')) OR $(TargetFramework.StartsWith('net6')) OR $(TargetFramework.StartsWith('net7')) OR $(TargetFramework.StartsWith('net8')) ">
|
||||||
|
<DefineConstants>$(DefineConstants);IS_CORECLR</DefineConstants>
|
||||||
|
<IsCore>true</IsCore>
|
||||||
|
</PropertyGroup>
|
||||||
|
--- a/src/nuget-client/src/NuGet.Core/NuGet.Configuration/NuGet.Configuration.csproj
|
||||||
|
+++ a/src/nuget-client/src/NuGet.Core/NuGet.Configuration/NuGet.Configuration.csproj
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
- <ItemGroup Condition=" '$(TargetFramework)' == '$(NetStandardVersion)' or '$(TargetFramework)' == 'net7.0' ">
|
||||||
|
+ <ItemGroup Condition=" '$(TargetFramework)' == '$(NetStandardVersion)' or '$(TargetFramework)' == 'net7.0' or '$(TargetFramework)' == 'net8.0' ">
|
||||||
|
<PackageReference Include="System.Security.Cryptography.ProtectedData" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
--- a/src/nuget-client/src/NuGet.Core/NuGet.PackageManagement/NuGet.PackageManagement.csproj
|
||||||
|
+++ b/src/nuget-client/src/NuGet.Core/NuGet.PackageManagement/NuGet.PackageManagement.csproj
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
- <ItemGroup Condition=" '$(TargetFramework)' == '$(NetStandardVersion)' or '$(TargetFramework)' == 'net7.0' ">
|
||||||
|
+ <ItemGroup Condition=" '$(TargetFramework)' == '$(NetStandardVersion)' or '$(TargetFramework)' == 'net7.0' or '$(TargetFramework)' == 'net8.0' ">
|
||||||
|
<PackageReference Include="System.ComponentModel.Composition" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
13
vstest-intent-net8.0.patch
Normal file
13
vstest-intent-net8.0.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/vstest/test/Intent/Intent.csproj b/src/vstest/test/Intent/Intent.csproj
|
||||||
|
index bb711c9256..6d0b199a9b 100644
|
||||||
|
--- a/src/vstest/test/Intent/Intent.csproj
|
||||||
|
+++ b/src/vstest/test/Intent/Intent.csproj
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
- <TargetFramework>net6.0</TargetFramework>
|
||||||
|
+ <TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
Loading…
Reference in New Issue
Block a user