%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname ackwards %global packver 0.3.0 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 0.3.0 Release: 1%{?dist}%{?buildtag} Summary: Bass-Ackwards Hierarchical Structural Analysis 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-cli BuildRequires: R-CRAN-generics BuildRequires: R-CRAN-psych BuildRequires: R-CRAN-rlang BuildRequires: R-stats BuildRequires: R-utils Requires: R-CRAN-cli Requires: R-CRAN-generics Requires: R-CRAN-psych Requires: R-CRAN-rlang Requires: R-stats Requires: R-utils %description Implements Goldberg's (2006) bass-ackwards method and modern descendants for hierarchical structural analysis. Extracts solutions from 1 to k factors using principal component analysis (PCA), exploratory factor analysis (EFA), or exploratory structural equation modeling (ESEM) engines. It then describes the hierarchy through the correlations between the factor scores of different levels. It computes them with linear algebra from the scoring weights and the correlation matrix the fit uses, so they are exact for that matrix. Waller (2007) showed, for principal components, that these correlations follow from the correlation matrix alone. Includes the Forbes (2023) extension for redundancy pruning and all-levels cross-correlations. %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}