# Copyright (c) 2014, 2016 Dave Love, Liverpool University # Licence: MIT, per Fedora default # There's no MPI environment modules support for R as there is for # Python (and presumably won't be in EPEL), so we can only sensibly # provide for a single MPI implementation. # Note that R won't find pbdMPI.so if it's installed in $MPI_LIB. %global packname pbdMPI %global rlibdir %{_libdir}/R/library %if 0 %{?el7:%global three 3} %endif Name: R-%{packname} Version: 0.4.3 Release: 1%{?dist} Summary: Programming with Big Data -- Interface to MPI License: MPLv2.0 URL: http://r-pbd.org/ Source0: http://cran.r-project.org/src/contrib/%{packname}_%(echo %version | awk -F'\\.' '{print $1"."$2"-"$3}').tar.gz BuildRequires: openmpi%{?three}-devel R-devel R-methods R-rlecuyer tex(latex) R-float Requires: R-methods R-rlecuyer openmpi%{?three}%{?_isa} R-float # Mollify fedora-review Requires: R-core # In Fedora, we end up with dependencies on MPI libraries from the # objects installed outside MPI_LIB, but they're not provided these days. %global __requires_exclude %{?__requires_exclude:__requires_exclude|}^libmpi\.so\. %global desc \ pbdMPI provides an efficient interface to MPI by utilizing S4 classes and\ methods with a focus on Single Program/Multiple Data (SPMD) parallel\ programming style, which is intended for batch parallel execution.\ \ This uses openmpi%{?three}. %description %desc %if 0%{?three} %package openmpi3 Summary: Programming with Big Data -- Interface to MPI COnflicts: %name %description openmpi3 %desc %endif %prep %setup -q -c -n %{packname} %build %install mkdir -p %{buildroot}%{rlibdir} %{buildroot}%{_libdir}/openmpi%{?three}/lib %if 0%{?three} %_openmpi3_load %else %_openmpi_load %endif # It's supposed not to need the below, but doesn't work otherwise. MPI_LIB_PATH=$MPI_LIB MPI_INCLUDE_PATH=$MPI_INCLUDE MPI_TYPE=OPENMPI \ OMPI_MCA_rmaps_base_oversubscribe=1 OMPI_MCA_orte_rsh_agent=/bin/false \ %{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname} rm -rf %{buildroot}%{_libdir}/R/library/R.css test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so Makevars) %check %if 0%{?three} %_openmpi3_load %lse %_openmpi_load %endif MPI_LIB_PATH=$MPI_LIB MPI_INCLUDE_PATH=$MPI_INCLUDE MPI_TYPE=OPENMPI \ OMPI_MCA_rmaps_base_oversubscribe=1 OMPI_MCA_orte_rsh_agent=/bin/false \ %{_bindir}/R CMD check %{packname} || cat pbdMPI.Rcheck/* %files %{?three:openmpi3} %dir %{rlibdir}/%{packname} %exclude %{rlibdir}/%{packname}/tests %doc %{rlibdir}/%{packname}/doc %doc %{rlibdir}/%{packname}/html %doc %{rlibdir}/%{packname}/DESCRIPTION %{rlibdir}/%{packname}/NAMESPACE %{rlibdir}/%{packname}/help %{rlibdir}/%{packname}/CITATION %{rlibdir}/%{packname}/INDEX %license %{packname}/COPYING %{rlibdir}/%{packname}/Meta %{rlibdir}/%{packname}/R %doc %{rlibdir}/%{packname}/demo %{rlibdir}/%{packname}/etc %doc %{rlibdir}/%{packname}/examples %{rlibdir}/%{packname}/libs %{rlibdir}/%{packname}/c_combine_r %{rlibdir}/%{packname}/mpi_valgrind %changelog * Sat May 2 2020 Dave Love - 0.4.3-1 - New version * Sat Nov 23 2019 Dave Love - 0.4.0-1 - New version * Mon Sep 16 2019 Dave Love - 0.3.9-3 - Name openmpi3 package as such, conflicting with base one * Tue Jul 2 2019 Dave Love - 0.3.9-2 - Rebuild for R 3.6 * Sun Apr 28 2019 Dave Love - 0.3.9-2 - Maybe use openmpi3 on el7 * Thu Apr 18 2019 Dave Love - 0.3.9-1 - New version * Mon Jul 30 2018 Dave Love - 0.3.6-1 - New version * Tue May 8 2018 Dave Love - 0.3.5-1 - New version - Don't exclude s390 now * Mon Nov 14 2016 Dave Love - 0.3.2-2 - Fix fedora-review complaints - Reinstate requires filtering * Mon Aug 15 2016 Dave Love - 0.3.2-1 - New version - Adjust spec for el6+ * Tue Feb 23 2016 Dave Love - 0.3.1-1 - New version - Don't BR latex * Wed Dec 23 2015 Dave Love - 0.3.0-1 - New version * Sun Nov 23 2014 Dave Love - 0.2.5-2 - Fix duplicates in package * Sat Nov 22 2014 Dave Love - 0.2.5-1 - New version - Fix build * Mon May 12 2014 Dave Love - 0.2_2-1 - Initial packaging