%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname taskqueue %global packver 0.2.0 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 0.2.0 Release: 1%{?dist}%{?buildtag} Summary: Task Queue for Parallel Computing Based on PostgreSQL License: MIT + file LICENSE URL: https://cran.r-project.org/package=%{packname} Source0: %{url}&version=%{packver}#/%{packname}_%{packver}.tar.gz BuildRequires: R-devel >= 4.1.0 Requires: R-core >= 4.1.0 BuildArch: noarch BuildRequires: R-CRAN-settings BuildRequires: R-stats BuildRequires: R-CRAN-stringr BuildRequires: R-CRAN-RPostgres BuildRequires: R-CRAN-ggplot2 BuildRequires: R-CRAN-whisker BuildRequires: R-CRAN-rlang BuildRequires: R-CRAN-shiny BuildRequires: R-CRAN-DBI BuildRequires: R-CRAN-ssh Requires: R-CRAN-settings Requires: R-stats Requires: R-CRAN-stringr Requires: R-CRAN-RPostgres Requires: R-CRAN-ggplot2 Requires: R-CRAN-whisker Requires: R-CRAN-rlang Requires: R-CRAN-shiny Requires: R-CRAN-DBI Requires: R-CRAN-ssh %description Implements a task queue system for asynchronous parallel computing using 'PostgreSQL' as a backend. Designed for embarrassingly parallel problems where tasks do not communicate with each other. Dynamically distributes tasks to workers, handles uneven load balancing, and allows new workers to join at any time. Particularly useful for running large numbers of independent tasks on high-performance computing (HPC) clusters with 'SLURM' job schedulers. %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}