# 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 Name: R-%{packname} Version: 0.3.2 Release: 2%{?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-devel R-devel R-methods R-rlecuyer tex(latex) Requires: R-methods R-rlecuyer openmpi%{?_isa} # Mollify fedora-review Requires: R-core ExcludeArch: s390 s390x # 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\. %description 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. %prep %setup -q -c -n %{packname} %build %install mkdir -p %{buildroot}%{rlibdir} %{buildroot}%{_libdir}/openmpi/lib %_openmpi_load # 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_orte_allocation_required=0 OMPI_MCA_orte_rsh_agent=/bin/false \ %{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname} %_openmpi_unload rm -rf %{buildroot}%{_libdir}/R/library/R.css test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so Makevars) %check %_openmpi_load MPI_LIB_PATH=$MPI_LIB MPI_INCLUDE_PATH=$MPI_INCLUDE MPI_TYPE=OPENMPI \ OMPI_MCA_orte_allocation_required=0 OMPI_MCA_orte_rsh_agent=/bin/false \ %{_bindir}/R CMD check %{packname} %{!?_licensedir:%global license %doc} %files %dir %{rlibdir}/%{packname} %exclude %{rlibdir}/%{packname}/tests %doc %{rlibdir}/%{packname}/doc %doc %{rlibdir}/%{packname}/html %doc %{rlibdir}/%{packname}/DESCRIPTION %doc %{rlibdir}/%{packname}/NAMESPACE %doc %{rlibdir}/%{packname}/help %doc %{rlibdir}/%{packname}/CITATION %doc %{rlibdir}/%{packname}/INDEX %license %{packname}/COPYING %{rlibdir}/%{packname}/Meta %{rlibdir}/%{packname}/R %{rlibdir}/%{packname}/demo %{rlibdir}/%{packname}/etc %{rlibdir}/%{packname}/examples %{rlibdir}/%{packname}/libs %changelog * 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