# Copyright (c) 2014 Dave Love, Liverpool University # Licence: MIT, per Fedora default # See remarks in R-pbdMPI about MPI support. %global packname pbdSLAP %global rlibdir %{_libdir}/R/library %if 0 %{?el7:%global three 3} %endif Name: R-%{packname} Version: 0.2.5 Release: 3%{?dist} Summary: Programming with Big Data -- Scalable Linear Algebra Packages License: MPLv2.0 URL: http://r-pbd.org/ Source0: http://cran.r-project.org/src/contrib/pbdSLAP_%(echo %version | awk -F'\\.' '{print $1"."$2"-"$3}').tar.gz # Fix Fortran interface configure stuff. Patch1: R-pbdSLAP-conf.patch Requires: R-methods R-rlecuyer%{?_isa} R-pbdMPI%{?three:openmpi3}%{?_isa} # Ensure we don't get mpich ones Requires: scalapack-openmpi%{?three}%{?_isa} blacs-openmpi%{?three}%{_isa} BuildRequires: R-devel R-methods R-rlecuyer R-pbdMPI%{?three:openmpi3} >= 0.3.1 BuildRequires: scalapack-openmpi%{?three}-devel blacs-openmpi%{?three}-devel BuildRequires: openblas-devel openmpi%{?three}-devel tex(latex) # See the R-pdbMPI spec %global __requires_exclude %{?__requires_exclude:__requires_exclude|}^libmpi|^libscalapack|^libblacs %global desc \ pbdSLAP utilizes scalable linear algebra packages mainly including BLACS,\ PBLAS, and ScaLAPACK in double precision via pbdMPI based on ScaLAPACK\ version 2.0.2. %description %desc %if 0%{?three} %package openmpi3 Summary: Programming with Big Data -- Scalable Linear Algebra Packages Conflicts: %name %description openmpi3 %desc %endif %prep %setup -q -c -n %{packname} %patch1 -p1 %build %install mkdir -p %{buildroot}%{rlibdir} %if 0%{?three} %_openmpi3_load %else %_openmpi_load %endif # --no-test-load to avoid trying to call out to CRAN and bioconductor OMPI_MCA_rmaps_base_oversubscribe=1 OMPI_MCA_orte_rsh_agent=/bin/false \ %{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname} \ --configure-vars="EXT_LDFLAGS='-lscalapack -lmpiblacs -lopenblas'" test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so) rm -f %{buildroot}%{rlibdir}/R.css rm -rf %{buildroot}%{rlibdir}/%{packname}/test_intface rm -rf %{buildroot}%{rlibdir}/%{packname}/lib/libslap.a %check %if 0%{?three} %_openmpi3_load %lse %_openmpi_load %endif OMPI_MCA_rmaps_base_oversubscribe=1 OMPI_MCA_orte_rsh_agent=/bin/false \ %{_bindir}/R CMD check %{packname} %files %{?three:openmpi3} %dir %{rlibdir}/%{packname} %doc %{rlibdir}/%{packname}/doc %doc %{rlibdir}/%{packname}/html %{rlibdir}/%{packname}/DESCRIPTION %{rlibdir}/%{packname}/INDEX %{rlibdir}/%{packname}/NAMESPACE %{rlibdir}/%{packname}/Meta %{rlibdir}/%{packname}/R %{rlibdir}/%{packname}/help %{rlibdir}/%{packname}/libs %{rlibdir}/%{packname}/etc %doc %{rlibdir}/%{packname}/demo %{rlibdir}/%{packname}/CITATION %{rlibdir}/%{packname}/Change_Note.txt # Dynamically linked libs have their own %exclude %{rlibdir}/%{packname}/LAPACK_LICENSE.txt %exclude %{rlibdir}/%{packname}/ScaLAPACK_LICENSE.txt %changelog * Mon Sep 16 2019 Dave Love - 0.2.5-3 - Name openmpi3 package as such, conflicting with base one * Mon Apr 29 2019 Dave Love - 0.2.5-2 - Maybe use openmpi3 on el7 - Don't require blas * Tue Apr 23 2019 Dave Love - 0.2.5-1 - New version * Wed May 9 2018 Dave Love - 0.2.4-2 - Fix erroneous %%doc * Tue May 8 2018 Dave Love - 0.2.4-1 - New version * Tue Nov 15 2016 Dave Love - 0.2.2-3 - Bump release for copr problems * Mon Nov 14 2016 Dave Love - 0.2.2-2 - Reinstate requires filtering * Mon Nov 14 2016 Dave Love - 0.2.2-1 - New version - Spec tidying * Thu Aug 18 2016 Dave Love - 0.2.1-3 - Filter libscalapack requires too * Mon Aug 15 2016 Dave Love - 0.2.1-2 - Clean spec for el6+ - Fix automatic requires in Fedora * Tue Feb 23 2016 Dave Love - 0.2.1-1 - New version - Don't BR latex * Wed Apr 8 2015 Dave Love - 0.2.0-2 - Really use new version (not old source) - Patch to get Fortran interface configuration right; else compilation gets passed bare "-D". * Fri Feb 20 2015 Dave Love - 0.2.0-1 - New version * Sun Nov 23 2014 Dave Love - 0.1.9-2 - Require scalapack-openmpi * Sat Nov 22 2014 Dave Love - 0.1.9-1 - New version * Mon May 12 2014 Dave Love - 0.1_8-1 - Initial packaging