Name: ALL Version: 0.9.3 %global sover 0 Release: 1%{?dist} Summary: A Load Balancing Library (ALL) License: BSD-3-Clause URL: http://slms.pages.jsc.fz-juelich.de/websites/all-website/ Source0: https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing/-/archive/v%{version}/loadbalancing-v%{version}.tar.gz#/%{name}-%{version}.tar.gz # no openmpi on ix86 # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval # mpi is broken on s390x see: bug#2322073 ExcludeArch: %{ix86} s390x BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: cmake >= 3.16 BuildRequires: openmpi-devel BuildRequires: vtk-openmpi-devel BuildRequires: mpich-devel BuildRequires: vtk-mpich-devel BuildRequires: voro++-devel %global all_desc \ The library aims to provide an easy way to include dynamic domain-based \ load balancing into particle based simulation codes. %description %{all_desc} %package openmpi Summary: openmpi libraries for %{name} %description openmpi %{all_desc} This package contains %{name} libraries compiled with openmpi. %package openmpi-devel Summary: openmpi development headers and libraries for %{name} Requires: %{name}-openmpi%{?_isa} = %{version}-%{release} Requires: openmpi-devel %description openmpi-devel %{all_desc} This package contains openmpi development files of %{name}. %package mpich Summary: mpich libraries for %{name} %description mpich %{all_desc} This package contains %{name} libraries compiled with mpich. %package mpich-devel Summary: mpich development headers and libraries for %{name} Requires: %{name}-mpich%{?_isa} = %{version}-%{release} Requires: mpich-devel %description mpich-devel %{all_desc} This package contains mpich development files of %{name}. %prep %autosetup -p1 -n loadbalancing-v%{version} %build %global _vpath_builddir %{_target_platform}-${mpi} for mpi in mpich openmpi; do test -n "${mpi}" && module load mpi/${mpi}-%{_arch} %cmake \ -DCM_ALL_VTK_OUTPUT=ON \ -DCM_ALL_FORTRAN=ON \ -DCM_ALL_USE_F08=ON \ -DCM_ALL_EXTERNAL_VORONOI=ON \ -DCM_ALL_TESTS=ON \ -DCM_ALL_TESTS_INTEGRATION=ON \ -DCMAKE_INSTALL_LIBDIR=${MPI_LIB:-%{_libdir}} \ -DCMAKE_INSTALL_INCLUDEDIR=${MPI_INCLUDE:-%{_includedir}} \ %{nil} %cmake_build test -n "${mpi}" && module unload mpi/${mpi}-%{_arch} done %install for mpi in mpich openmpi; do test -n "${mpi}" && module load mpi/${mpi}-%{_arch} %cmake_install test -n "${mpi}" && module unload mpi/${mpi}-%{_arch} done %check for mpi in mpich openmpi; do test -n "${mpi}" && module load mpi/${mpi}-%{_arch} %ctest test -n "${mpi}" && module unload mpi/${mpi}-%{_arch} done %files openmpi %doc README.md %license LICENSE %{_libdir}/openmpi*/lib/lib%{name}*.so.%{sover} %files openmpi-devel %{_includedir}/openmpi*/%{name}* %{_libdir}/openmpi*/lib/cmake/%{name} %{_libdir}/openmpi*/lib/make/Makefile* %{_libdir}/openmpi*/lib/lib%{name}*.so %{_libdir}/openmpi*/lib/all*.mod %files mpich %doc README.md %license LICENSE %{_libdir}/mpich*/lib/lib%{name}*.so.%{sover} %files mpich-devel %{_includedir}/mpich*/%{name}* %{_libdir}/mpich*/lib/cmake/%{name} %{_libdir}/mpich*/lib/make/Makefile* %{_libdir}/mpich*/lib/lib%{name}*.so %{_libdir}/mpich*/lib/all*.mod %changelog * Wed Oct 02 2024 Christoph Junghans - 0.9.2-1 - Initial commit