%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname blocking %global packver 1.0.1 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 1.0.1 Release: 1%{?dist}%{?buildtag} Summary: Various Blocking Methods for Entity Resolution License: GPL-3 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-text2vec BuildRequires: R-CRAN-tokenizers BuildRequires: R-CRAN-RcppHNSW BuildRequires: R-CRAN-RcppAnnoy BuildRequires: R-CRAN-mlpack BuildRequires: R-CRAN-rnndescent BuildRequires: R-CRAN-igraph BuildRequires: R-CRAN-data.table BuildRequires: R-methods BuildRequires: R-CRAN-readr BuildRequires: R-utils BuildRequires: R-CRAN-Matrix Requires: R-CRAN-text2vec Requires: R-CRAN-tokenizers Requires: R-CRAN-RcppHNSW Requires: R-CRAN-RcppAnnoy Requires: R-CRAN-mlpack Requires: R-CRAN-rnndescent Requires: R-CRAN-igraph Requires: R-CRAN-data.table Requires: R-methods Requires: R-CRAN-readr Requires: R-utils Requires: R-CRAN-Matrix %description The goal of 'blocking' is to provide blocking methods for record linkage and deduplication using approximate nearest neighbour (ANN) algorithms and graph techniques. It supports multiple ANN implementations via 'rnndescent', 'RcppHNSW', 'RcppAnnoy', and 'mlpack' packages, and provides integration with the 'reclin2' package. The package generates shingles from character strings and similarity vectors for record comparison, and includes evaluation metrics for assessing blocking performance including false positive rate (FPR) and false negative rate (FNR) estimates. For details see: Papadakis et al. (2020) , Steorts et al. (2014) , Dasylva and Goussanou (2021) , Dasylva and Goussanou (2022) . %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}