diff --git a/dotnet8.0.spec b/dotnet8.0.spec
index d6fecf3..ce48160 100644
--- a/dotnet8.0.spec
+++ b/dotnet8.0.spec
@@ -68,9 +68,9 @@ Source0: %{tarball_name}.tar.xz
# Generated via ./build-arm64-bootstrap-tarball
Source1: dotnet-arm64-prebuilts-2023-05-17.tar.gz
# 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
-#Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz
+Source3: dotnet-s390x-prebuilts-2023-05-25.tar.gz
%else
# For non-releases, the source is generated on a Fedora box via:
# ./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
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
-#ExclusiveArch: aarch64 ppc64le s390x x86_64
-ExclusiveArch: aarch64 x86_64
+ExclusiveArch: aarch64 ppc64le s390x x86_64
%else
ExclusiveArch: x86_64
%endif
@@ -114,7 +117,12 @@ BuildRequires: libicu-devel
%if ! %{use_bundled_libunwind}
BuildRequires: libunwind-devel
%endif
+%ifnarch s390x
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
# runtime generate a backtrace for the crash
BuildRequires: lldb
@@ -394,15 +402,15 @@ boot_sdk_version=$(ls -1 .dotnet/sdk/)
sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json
%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
mkdir -p 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|[^<]+|'$ilasm_version'|' PackageVersions.props
sed -i -E 's|[^<]+|'$ilasm_version'|' PackageVersions.props
-tar czf ../packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz *
+tar czf ../prereqs/packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz *
popd
%endif
diff --git a/fsharp-use-net8.0.patch b/fsharp-use-net8.0.patch
new file mode 100644
index 0000000..c99b005
--- /dev/null
+++ b/fsharp-use-net8.0.patch
@@ -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 @@
+
+ true
+ Exe
+- net7.0
++ net8.0
+ Microsoft.FSharp.Compiler.nuspec
+ true
+ .NET Core compatible version of the F# compiler fsc.exe.
diff --git a/nuget-client-use-net8.0.patch b/nuget-client-use-net8.0.patch
new file mode 100644
index 0000000..63a7ab5
--- /dev/null
+++ b/nuget-client-use-net8.0.patch
@@ -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 @@
+ v4.7.2
+ net472
+ netcoreapp3.1
+- net7.0
++ net8.0
+ net7.0;net8.0
+ netstandard2.0
+ $(NETFXTargetFramework);$(NETCoreTargetFramework)
+@@ -24,7 +24,7 @@
+ $(TargetFrameworksExe);net7.0
+ $(NETFXTargetFramework);netcoreapp5.0
+ netcoreapp5.0
+- net7.0
++ net8.0
+ $(NETFXTargetFramework);$(NetStandardVersion)
+ $(NETCoreTargetFramework);$(NetStandardVersion)
+ $(TargetFrameworksLibrary);netcoreapp5.0
+--- a/src/nuget-client/build/common.targets
++++ b/src/nuget-client/build/common.targets
+@@ -6,7 +6,7 @@
+ true
+
+
+-
++
+ $(DefineConstants);IS_CORECLR
+ true
+
+--- 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 @@
+
+
+
+-
++
+
+
+
+--- 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 @@
+
+
+
+-
++
+
+
+
diff --git a/vstest-intent-net8.0.patch b/vstest-intent-net8.0.patch
new file mode 100644
index 0000000..6a51807
--- /dev/null
+++ b/vstest-intent-net8.0.patch
@@ -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 @@
+
+
+ Exe
+- net6.0
++ net8.0
+ enable
+ enable
+