diff --git a/_multibuild b/_multibuild
index 94c9957..3256abe 100644
--- a/_multibuild
+++ b/_multibuild
@@ -4,6 +4,7 @@
gnu-hpc
gnu-openmpi2-hpc
gnu-openmpi3-hpc
+ gnu-openmpi4-hpc
gnu-mvapich2-hpc
gnu-mpich-hpc
diff --git a/boost.changes b/boost.changes
index 735d254..20ddc27 100644
--- a/boost.changes
+++ b/boost.changes
@@ -1,3 +1,15 @@
+-------------------------------------------------------------------
+Tue Feb 9 14:23:32 UTC 2021 - Adam Majer
+
+- Fix HPC build on ARM. It seems boost_serialization libraries
+ are no longer implicitly build with this setup.
+
+-------------------------------------------------------------------
+Sat Feb 6 12:09:28 UTC 2021 - Egbert Eich
+
+- Add build support for gcc10 to HPC build (bsc#1174439).
+- Add openmpi4 flavors (jsc#SLE-16462).
+
-------------------------------------------------------------------
Mon Dec 28 15:09:51 UTC 2020 - Adam Majer
diff --git a/boost.spec b/boost.spec
index 3a82f7f..2ddf957 100644
--- a/boost.spec
+++ b/boost.spec
@@ -1,7 +1,7 @@
#
# spec file for package boost
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,6 +16,9 @@
#
+#
+%global flavor @BUILD_FLAVOR@%{nil}
+
%define ver 1.75.0
%define _ver 1_75_0
%define package_version 1_75_0
@@ -30,6 +33,14 @@
%bcond_with boost_devel
%bcond_with ringdisabled
+%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200
+%define DisOMPI3 ExclusiveArch: do_not_build
+%endif
+
+%if 0%{?sle_version:1} && 0%{?sle_version} < 150300
+%define DisOMPI4 ExclusiveArch: do_not_build
+%endif
+
%define package_name boost%{library_version}
%define my_docdir %{_docdir}/boost%{library_version}
@@ -38,38 +49,34 @@
%define build_base 1
%define name_suffix %{nil}
-%if "@BUILD_FLAVOR@" == "%nil"
+%if "%{flavor}" == "%nil"
ExclusiveArch: do_not_build
%endif
-%if "@BUILD_FLAVOR@" == "base"
+%if "%{flavor}" == "base"
%define build_base 1
%define name_suffix -base
%bcond_with hpc
%bcond_with mpi
%endif
-%if "@BUILD_FLAVOR@" == "extra"
+%if "%{flavor}" == "extra"
%define build_base 0
%define name_suffix -extra
%bcond_without python3
%bcond_without mpi
%endif
-%if "@BUILD_FLAVOR@" == "gnu-hpc"
+%if "%{flavor}" == "gnu-hpc"
%define build_base 1
-%define name_suffix hpc
%define compiler_family gnu
%undefine c_f_ver
%bcond_with mpi
%bcond_without hpc
-#ExcludeArch: %%arm s390x i586
-ExcludeArch: s390x %{ix86} ppc64 ppc64le
%endif
-%if "@BUILD_FLAVOR@" == "gnu-openmpi2-hpc"
+%if "%{flavor}" == "gnu-openmpi2-hpc"
%define build_base 0
-%define name_suffix openmpi2_hpc
%define mpi_vers 2
%define compiler_family gnu
%define mpi_flavor openmpi
@@ -77,16 +84,11 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le
%bcond_without hpc
%bcond_without mpi
%bcond_without python3
-%if %{with ringdisabled}
-ExclusiveArch: do-not-build
-%else
-ExcludeArch: s390x %{ix86} ppc64 ppc64le
-%endif
%endif
-%if "@BUILD_FLAVOR@" == "gnu-openmpi3-hpc"
+%if "%{flavor}" == "gnu-openmpi3-hpc"
+%{?DisOMPI3}
%define build_base 0
-%define name_suffix openmpi3_hpc
%define mpi_vers 3
%define compiler_family gnu
%define mpi_flavor openmpi
@@ -94,38 +96,96 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le
%bcond_without hpc
%bcond_without mpi
%bcond_without python3
-%if %{with ringdisabled}
-ExclusiveArch: do-not-build
-%else
-ExcludeArch: s390x %{ix86} ppc64 ppc64le
-%endif
%endif
-%if "@BUILD_FLAVOR@" == "gnu-mvapich2-hpc"
+%if "%{flavor}" == "gnu-openmpi4-hpc"
+%{?DisOMPI4}
+%define build_base 0
+%define mpi_vers 4
+%define compiler_family gnu
+%define mpi_flavor openmpi
+%undefine c_f_ver
+%bcond_without hpc
+%bcond_without mpi
+%bcond_without python3
+%endif
+
+%if "%{flavor}" == "gnu-mvapich2-hpc"
%define build_base 0
-%define name_suffix mvapich2_hpc
%define compiler_family gnu
%define mpi_flavor mvapich2
%undefine c_f_ver
%bcond_without hpc
%bcond_without mpi
%bcond_without python3
-%if %{with ringdisabled}
-ExclusiveArch: do-not-build
-%else
-ExcludeArch: s390x %{ix86} ppc64 ppc64le
-%endif
%endif
-%if "@BUILD_FLAVOR@" == "gnu-mpich-hpc"
+%if "%{flavor}" == "gnu-mpich-hpc"
%define build_base 0
-%define name_suffix mpich
%define compiler_family gnu
%define mpi_flavor mpich
%undefine c_f_ver
%bcond_without hpc
%bcond_without mpi
%bcond_without python3
+%endif
+#
+%if "%{flavor}" == "gnu10-openmpi2-hpc"
+%define build_base 0
+%define mpi_vers 2
+%define compiler_family gnu
+%define mpi_flavor openmpi
+%define c_f_ver 10
+%bcond_without hpc
+%bcond_without mpi
+%bcond_without python3
+%endif
+
+%if "%{flavor}" == "gnu10-openmpi3-hpc"
+%{?DisOMPI3}
+%define build_base 0
+%define mpi_vers 3
+%define compiler_family gnu
+%define mpi_flavor openmpi
+%define c_f_ver 10
+%bcond_without hpc
+%bcond_without mpi
+%bcond_without python3
+%endif
+
+%if "%{flavor}" == "gnu10-openmpi4-hpc"
+%{?DisOMPI4}
+%define build_base 0
+%define mpi_vers 4
+%define compiler_family gnu
+%define mpi_flavor openmpi
+%define c_f_ver 10
+%bcond_without hpc
+%bcond_without mpi
+%bcond_without python3
+%endif
+
+%if "%{flavor}" == "gnu10-mvapich2-hpc"
+%define build_base 0
+%define compiler_family gnu
+%define mpi_flavor mvapich2
+%define c_f_ver 10
+%bcond_without hpc
+%bcond_without mpi
+%bcond_without python3
+%endif
+
+%if "%{flavor}" == "gnu10-mpich-hpc"
+%define build_base 0
+%define compiler_family gnu
+%define mpi_flavor mpich
+%define c_f_ver 10
+%bcond_without hpc
+%bcond_without mpi
+%bcond_without python3
+%endif
+
+%if 0%{?with_hpc}
%if %{with ringdisabled}
ExclusiveArch: do-not-build
%else
@@ -163,7 +223,7 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le
%define package_libdir %{_libdir}
%define package_includedir %{_includedir}
%define package_datadir %{_datadir}
-%define base_name boost%{name_suffix}
+%define base_name boost%{?name_suffix}
%define package_python3_sitearch %python3_sitearch
%endif
@@ -1476,10 +1536,10 @@ mkdir -p %{buildroot}%{_defaultlicensedir}
rm %{buildroot}%{package_libdir}/cmake/BoostDetectToolset-%{version}.cmake
rm -r %{buildroot}%{package_libdir}/cmake/Boost-%{version}
rm -r %{buildroot}%{package_libdir}/cmake/boost_headers-%{version}
-rm -r %{buildroot}%{package_libdir}/cmake/boost_{w,}serialization-%{version}
+rm -rf %{buildroot}%{package_libdir}/cmake/boost_{w,}serialization-%{version}
rm -r %{buildroot}%{package_includedir}/boost
-rm %{buildroot}%{package_libdir}/libboost_{w,}serialization*
+rm -f %{buildroot}%{package_libdir}/libboost_{w,}serialization*
rmdir --ignore-fail-on-non-empty %{buildroot}%{package_libdir}
%fdupes %{buildroot}%{my_docdir}
%endif