diff --git a/_multibuild b/_multibuild index 47e6c69..ad1c589 100644 --- a/_multibuild +++ b/_multibuild @@ -1,4 +1,3 @@ - serial mpich diff --git a/3.5.0.tar.gz b/diy-3.5.0.tar.gz similarity index 100% rename from 3.5.0.tar.gz rename to diy-3.5.0.tar.gz diff --git a/diy.changes b/diy.changes index 7c96861..01d3573 100644 --- a/diy.changes +++ b/diy.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri May 15 13:33:42 UTC 2020 - Atri Bhattacharya + +- Drop the "serial" flavour and build the no-mpi package for + flavor = "". +- Fix build failures for openSUSE >= 1550 by not undefining + "suffix" any more. +- Pass wrapped_mpi=ON to cmake to tell the build scripts that the + MPI compiler wrapper requires no further MPI libraries; this + fixes failing tests in %check. +- Use %cmake macro to configure; export compiler and env variables + before calling cmake where possible instead of passing them as + cmake options. + ------------------------------------------------------------------- Thu Nov 7 23:39:44 UTC 2019 - Atri Bhattacharya diff --git a/diy.spec b/diy.spec index 1e74563..d135d04 100644 --- a/diy.spec +++ b/diy.spec @@ -1,7 +1,7 @@ # # spec file for package diy # -# 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 @@ -22,14 +22,6 @@ %define pname diy %if "%{flavor}" == "" -%define package_name %{pname} -ExclusiveArch: do_not_build -%else -ExclusiveArch: x86_64 -%endif - -%if "%{flavor}" == "serial" -%undefine suffix %undefine mpi_flavor %endif @@ -41,31 +33,29 @@ ExclusiveArch: x86_64 %{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}} %{?with_mpi:%{!?mpi_flavor:error "No MPI family specified!"}} -%if 0%{!?package_name:1} - %define package_name %{pname}%{?my_suffix} -%endif - -%if %{without mpi} - %define my_prefix %{_prefix} - %define my_bindir %{_bindir} - %define my_libdir %{_libdir} - %define my_incdir %{_includedir} -%else +%if %{with mpi} %define my_prefix %{_libdir}/mpi/gcc/%{mpi_flavor}%{?mpi_ext} %define my_bindir %{my_prefix}/bin %define my_libdir %{my_prefix}/%{_lib} %define my_incdir %{my_prefix}/include %define my_suffix -%{mpi_flavor}%{?mpi_ext} +%else + %define my_prefix %{_prefix} + %define my_bindir %{_bindir} + %define my_libdir %{_libdir} + %define my_incdir %{_includedir} %endif # /SECTION +%define package_name %{pname}%{?my_suffix} + Name: %{package_name} Version: 3.5.0 Release: 0 Summary: A block-parallel library License: BSD-3-Clause URL: https://github.com/diatomic/diy -Source: https://github.com/diatomic/diy/archive/%{version}.tar.gz +Source: https://github.com/diatomic/diy/archive/%{version}.tar.gz#/%{pname}-%{version}.tar.gz # PATCH-FIX-UPSTREAM diy-disable-memory-heavy-tests.patch badshah400@gmail.com -- Disable a few tests requiring more than 10 GB memory Patch0: diy-disable-memory-heavy-tests.patch BuildRequires: cmake >= 3.2 @@ -73,6 +63,7 @@ BuildRequires: gcc-c++ %if %{with mpi} BuildRequires: %{mpi_flavor}%{?mpi_ext}-devel %endif +ExclusiveArch: x86_64 %description Diy is a block-parallel library for implementing scalable algorithms @@ -109,22 +100,24 @@ This package provides the header files for development with diy. %autosetup -p1 -n %{pname}-%{version} %build -mkdir -p build -pushd build -# %%cmake can't be used directly because of custom INSTALL_PREFIX requirement -cmake .. \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_INSTALL_PREFIX="%{my_prefix}" \ %if %{with mpi} - -DCMAKE_C_COMPILER="%{my_bindir}/mpicc" \ - -DCMAKE_CXX_COMPILER="%{my_bindir}/mpicxx" +source %{my_bindir}/mpivars.sh +export CC=mpicc +export CXX=mpicxx %else - -DCMAKE_C_COMPILER=gcc \ - -DCMAKE_CXX_COMPILER=g++ \ - -Dmpi=OFF +export CC=gcc +export CXX=g++ %endif + +export CFLAGS="%{optflags}" +export CXXFLAGS="%{optflags}" + +%cmake \ + -DCMAKE_INSTALL_PREFIX:PATH=%{my_prefix} \ + -Dmpi:BOOL=%{?with_mpi:ON}%{!?with_mpi=OFF} \ + -Dwrapped_mpi:BOOL=%{?with_mpi:ON}%{!?with_mpi=OFF} + %cmake_build -popd %install %cmake_install