Hello community,
here is the log from the commit of package quantum-espresso for
openSUSE:Factory checked in at 2020-02-10 21:52:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/quantum-espresso (Old)
and /work/SRC/openSUSE:Factory/.quantum-espresso.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "quantum-espresso"
Mon Feb 10 21:52:51 2020 rev:7 rq:772664 version:6.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/quantum-espresso/quantum-espresso.changes
2019-11-30 10:36:18.316179945 +0100
+++
/work/SRC/openSUSE:Factory/.quantum-espresso.new.26092/quantum-espresso.changes
2020-02-10 21:53:05.494179985 +0100
@@ -1,0 +2,21 @@
+Mon Feb 10 00:17:26 UTC 2020 - Stefan BrĂ¼ns <[email protected]>
+
+- Add missing Provides/Obsoletes for renamed openmpi1 package.
+- Avoid overriding ExclusiveArch for disabled flavors.
+- Cleanup spec file, use same patterns as other MPI packages.
+
+-------------------------------------------------------------------
+Wed Jan 29 11:48:03 UTC 2020 - Atri Bhattacharya <[email protected]>
+
+- Remove duplicated definitions.
+- Remove bogus undefines of suffix and mpi_flavor for "serial"
+ flavour. The former causes builds to fail for openSUSE >= 1550
+ using rpm >= 4.15.
+
+-------------------------------------------------------------------
+Thu Nov 7 14:50:51 UTC 2019 - Atri Bhattacharya <[email protected]>
+
+- Use multibuild to build different mpi (mvapich2, openmpi1,
+ openmpi2, and openmpi3) and serial versions.
+
+-------------------------------------------------------------------
New:
----
_multibuild
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ quantum-espresso.spec ++++++
--- /var/tmp/diff_new_pack.qpQquR/_old 2020-02-10 21:53:06.462180520 +0100
+++ /var/tmp/diff_new_pack.qpQquR/_new 2020-02-10 21:53:06.462180520 +0100
@@ -1,7 +1,7 @@
#
# spec file for package quantum-espresso
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,43 +16,100 @@
#
-%if 0%{?sles_version}
-%define _mvapich2 1
+%global flavor @BUILD_FLAVOR@%{nil}
+
+%define pname quantum-espresso
+
+%if 0%{?sle_version} >= 150200
+%define DisOMPI1 ExclusiveArch: do_not_build
+%endif
+%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200
+%define DisOMPI3 ExclusiveArch: do_not_build
+%endif
+
+%if "%{flavor}" == ""
+%define package_name %{pname}
+ExclusiveArch: do_not_build
+%endif
+
+%if "%{flavor}" != "" && !0%{?DisOMPI1:1} && !0%{?DisOMPI2:1} &&
!0%{?DisOMPI3:1}
+ExclusiveArch: x86_64
%endif
-%if 0%{?suse_version}
-%define _openmpi 1
+
+%if "%{flavor}" == "mvapich2"
+%global mpi_flavor mvapich2
+%endif
+
+%if "%{flavor}" == "openmpi1"
+%global mpi_flavor openmpi
+%define mpi_vers 1
+%{?DisOMPI1}
+%endif
+
+%if "%{flavor}" == "openmpi2"
+%global mpi_flavor openmpi
+%define mpi_vers 2
+%{?DisOMPI2}
+%endif
+
+%if "%{flavor}" == "openmpi3"
+%global mpi_flavor openmpi
+%define mpi_vers 3
+%{?DisOMPI3}
%endif
-%if 0%{?suse_version} >= 1550
-%define omp_ver 1
+%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}}
+%{?with_mpi:%{!?mpi_flavor:error "No MPI family specified!"}}
+
+# For compatibility package names
+%if "%{flavor}" == "openmpi1" && 0%{?suse_version} <= 1500
+%define mpi_ext %{nil}
%else
-%define omp_ver %{nil}
+%define mpi_ext %{?mpi_vers}
%endif
-%define _mpi %{?_openmpi:openmpi}%{omp_ver} %{?_mvapich2:mvapich2}
+%if %{without mpi}
+ %define my_prefix %_prefix
+ %define my_bindir %_bindir
+ %define my_libdir %_libdir
+ %define my_incdir %_includedir
+%else
+ %define my_prefix %{_libdir}/mpi/gcc/%{mpi_flavor}%{?mpi_ext}
+ %define my_bindir %{my_prefix}/bin
+ %define my_suffix -%{mpi_flavor}%{?mpi_ext}
+%endif
+
+%if 0%{!?package_name:1}
+ %define package_name %pname%{?my_suffix}
+%endif
-Name: quantum-espresso
+Name: %{package_name}
Version: 6.4.1
Release: 0
Summary: A suite for electronic-structure calculations and materials
modeling
License: GPL-2.0-only
Group: Productivity/Scientific/Physics
-Url: http://www.quantum-espresso.org
+URL: http://www.quantum-espresso.org
Source0:
https://gitlab.com/QEF/q-e/-/archive/qe-%{version}/q-e-qe-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM backports-6.4.1.git-diff [email protected] --
Backported fixes for version 6.4.1 from upstream
Patch0:
https://gitlab.com/QEF/q-e/wikis/uploads/3e4b6d3844989c02d0ebb03a935e1976/backports-6.4.1.git-diff
BuildRequires: fdupes
-BuildRequires: fftw3-devel
BuildRequires: gcc-fortran
BuildRequires: lapack-devel
-%if 0%{?_openmpi}
-BuildRequires: openmpi%{omp_ver}-devel
+%if %{with mpi}
+BuildRequires: %{mpi_flavor}%{?mpi_ext}-devel
+BuildRequires: fftw3-mpi-devel
+%if 0%{?suse_version} >= 1550 && %{mpi_flavor} == "openmpi"
+# hackish workaround for multiple openmpiX-config all providing
openmpi-runtime-config
+BuildRequires: %{mpi_flavor}%{?mpi_ext}-config
+%endif
+%if "%{flavor}" == "openmpi1" && 0%{?suse_version} <= 1550
+Provides: %{pname}-openmpi = %{version}-%{release}
+Obsoletes: %{pname}-openmpi < %{version}-%{release}
%endif
-%if 0%{?_mvapich2}
-BuildRequires: mvapich2-devel
+%else
+BuildRequires: fftw3-devel
%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: x86_64
%description
Quantum ESPRESSO is an integrated suite of Open-Source computer codes for
@@ -70,73 +127,28 @@
electronic-structure calculations and materials modeling at the nanoscale.
It is based on density-functional theory, plane waves, and pseudopotentials.
-%package openmpi
-Summary: A suite for electronic-structure calculations and materials
modeling
-Group: Productivity/Scientific/Physics
-
-%description openmpi
-Quantum ESPRESSO is an integrated suite of Open-Source computer codes for
-electronic-structure calculations and materials modeling at the nanoscale.
-It is based on density-functional theory, plane waves, and pseudopotentials.
-
-This package contains the nespresso binary compiled with openmpi support.
-
-%if 0%{?sles_version}
-%package mvapich2
-Summary: A suite for electronic-structure calculations and materials
modeling
-Group: Productivity/Scientific/Physics
-
-%description mvapich2
-Quantum ESPRESSO is an integrated suite of Open-Source computer codes for
-electronic-structure calculations and materials modeling at the nanoscale.
-It is based on density-functional theory, plane waves, and pseudopotentials.
-
-This package contains the nespresso binary compiled with mvapich2 support.
-%endif
-
%prep
%autosetup -p1 -n q-e-qe-%{version}
-echo "prepare parallel builds: %_mpi"
-set -- *
-for i in %_mpi
-do
- mkdir espresso-$i
- cp -ap "$@" espresso-$i
-done
-
%build
-%configure --disable-parallel
-make all
-
-for mpi in %_mpi;
-do
-cd espresso-$mpi
-export CC="%{_libdir}/mpi/gcc/$mpi/bin/mpicc"
-export FC="%{_libdir}/mpi/gcc/$mpi/bin/mpif90"
-export F77="%{_libdir}/mpi/gcc/$mpi/bin/mpif77"
+%if %{with mpi}
+export CC="%{my_bindir}/mpicc"
+export FC="%{my_bindir}/mpif90"
%configure --enable-parallel
-make all
-cd ..
-done
+%else
+export CC=gcc
+export FC=gfortran
+%configure --disable-parallel
+%endif
+make %{?_smp_mflags} all
%install
-mkdir -p %{buildroot}%{_bindir}
-cd bin
+mkdir -p %{buildroot}%{my_bindir}
+pushd bin
for bin in *.x; do
- install -m 755 $bin %{buildroot}%{_bindir}/qe_$bin
-done
-cd ..
-
-for mpi in %_mpi;
-do
- mkdir -p %{buildroot}%{_libdir}/mpi/gcc/$mpi/bin
- cd espresso-$mpi/bin
- for bin in *.x; do
- install -m 755 $bin %{buildroot}%{_libdir}/mpi/gcc/$mpi/bin/qe_$bin
- done
- cd ../..
+ install -m 755 $bin %{buildroot}%{my_bindir}/qe_$bin
done
+popd
%fdupes -s Doc/
@@ -144,24 +156,12 @@
%defattr(-,root,root)
%doc README.md
%license License
-%{_bindir}/*.x
-
-%files openmpi
-%defattr(-,root,root)
-%doc README.md
-%license License
-%{_libdir}/mpi/gcc/openmpi%{omp_ver}/bin/*.x
-
-%if 0%{?sles_version}
-%files mvapich2
-%defattr(-,root,root)
-%doc README.md
-%license License
-%{_libdir}/mpi/gcc/mvapich2/bin/*.x
-%endif
+%{my_bindir}/*.x
+%if %{without mpi}
%files doc
%defattr(-,root,root)
%doc Doc/*
+%endif
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>serial</package>
<package>openmpi1</package>
<package>openmpi2</package>
<package>openmpi3</package>
<package>mvapich2</package>
</multibuild>