%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname multiview %global packver 0.8 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 0.8 Release: 1%{?dist}%{?buildtag} Summary: Cooperative Learning for Multi-View Analysis License: GPL-2 URL: https://cran.r-project.org/package=%{packname} Source0: %{url}&version=%{packver}#/%{packname}_%{packver}.tar.gz BuildRequires: R-devel >= 3.5.0 Requires: R-core >= 3.5.0 BuildRequires: R-CRAN-glmnet BuildRequires: R-CRAN-Matrix BuildRequires: R-methods BuildRequires: R-CRAN-RColorBrewer BuildRequires: R-CRAN-Rcpp BuildRequires: R-stats BuildRequires: R-CRAN-survival BuildRequires: R-utils BuildRequires: R-CRAN-RcppEigen Requires: R-CRAN-glmnet Requires: R-CRAN-Matrix Requires: R-methods Requires: R-CRAN-RColorBrewer Requires: R-CRAN-Rcpp Requires: R-stats Requires: R-CRAN-survival Requires: R-utils %description Cooperative learning combines the usual squared error loss of predictions with an agreement penalty to encourage the predictions from different data views to agree. By varying the weight of the agreement penalty, we get a continuum of solutions that include the well-known early and late fusion approaches. Cooperative learning chooses the degree of agreement (or fusion) in an adaptive manner, using a validation set or cross-validation to estimate test set prediction error. In the setting of cooperative regularized linear regression, the method combines the lasso penalty with the agreement penalty (Ding, D., Li, S., Narasimhan, B., Tibshirani, R. (2021) ). %prep %setup -q -c -n %{packname} # fix end of executable files find -type f -executable -exec grep -Iq . {} \; -exec sed -i -e '$a\' {} \; # prevent binary stripping [ -d %{packname}/src ] && find %{packname}/src -type f -exec \ sed -i 's@/usr/bin/strip@/usr/bin/true@g' {} \; || true [ -d %{packname}/src ] && find %{packname}/src/Make* -type f -exec \ sed -i 's@-g0@@g' {} \; || true # don't allow local prefix in executable scripts find -type f -executable -exec sed -Ei 's@#!( )*/usr/local/bin@#!/usr/bin@g' {} \; %build %install mkdir -p %{buildroot}%{rlibdir} %{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname} test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so) rm -f %{buildroot}%{rlibdir}/R.css # remove buildroot from installed files find %{buildroot}%{rlibdir} -type f -exec sed -i "s@%{buildroot}@@g" {} \; %files %{rlibdir}/%{packname}