%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname interfacer %global packver 0.2.3 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 0.2.3 Release: 1%{?dist}%{?buildtag} Summary: Define and Enforce Contracts for Dataframes as Function Parameters License: MIT + file LICENSE URL: https://cran.r-project.org/package=%{packname} Source0: %{url}&version=%{packver}#/%{packname}_%{packver}.tar.gz BuildRequires: R-devel >= 2.10 Requires: R-core >= 2.10 BuildArch: noarch BuildRequires: R-CRAN-dplyr BuildRequires: R-CRAN-glue BuildRequires: R-CRAN-magrittr BuildRequires: R-CRAN-purrr BuildRequires: R-CRAN-rlang BuildRequires: R-CRAN-tibble BuildRequires: R-CRAN-tidyselect BuildRequires: R-CRAN-stringr BuildRequires: R-CRAN-forcats BuildRequires: R-CRAN-knitr BuildRequires: R-CRAN-digest BuildRequires: R-CRAN-roxygen2 Requires: R-CRAN-dplyr Requires: R-CRAN-glue Requires: R-CRAN-magrittr Requires: R-CRAN-purrr Requires: R-CRAN-rlang Requires: R-CRAN-tibble Requires: R-CRAN-tidyselect Requires: R-CRAN-stringr Requires: R-CRAN-forcats Requires: R-CRAN-knitr Requires: R-CRAN-digest Requires: R-CRAN-roxygen2 %description A dataframe validation framework for package builders who use dataframes as function parameters. It performs checks on column names, coerces data-types, and checks grouping to make sure user inputs conform to a specification provided by the package author. It provides a mechanism for package authors to automatically document supported dataframe inputs and selectively dispatch to functions depending on the format of a dataframe much like S3 does for classes. It also contains some developer tools to make working with and documenting dataframe specifications easier. It helps package developers to improve their documentation and simplifies parameter validation where dataframes are used as function parameters. %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}