%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname muttest %global packver 0.1.0 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 0.1.0 Release: 1%{?dist}%{?buildtag} Summary: Mutation Testing 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-checkmate BuildRequires: R-CRAN-cli BuildRequires: R-CRAN-dplyr BuildRequires: R-CRAN-fs BuildRequires: R-CRAN-purrr BuildRequires: R-CRAN-R6 BuildRequires: R-CRAN-rlang BuildRequires: R-CRAN-testthat BuildRequires: R-CRAN-tibble BuildRequires: R-CRAN-treesitter BuildRequires: R-CRAN-treesitter.r BuildRequires: R-CRAN-withr Requires: R-CRAN-checkmate Requires: R-CRAN-cli Requires: R-CRAN-dplyr Requires: R-CRAN-fs Requires: R-CRAN-purrr Requires: R-CRAN-R6 Requires: R-CRAN-rlang Requires: R-CRAN-testthat Requires: R-CRAN-tibble Requires: R-CRAN-treesitter Requires: R-CRAN-treesitter.r Requires: R-CRAN-withr %description Measure quality of your tests. 'muttest' introduces small changes (mutations) to your code and runs your tests to check if they catch the changes. If they do, your tests are good. If not, your assertions are not specific enough. 'muttest' gives you percent score of how often your tests catch the changes. %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}