%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname shinygenui %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: Generative UI for 'shiny' 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-shinychat >= 0.5.0 BuildRequires: R-CRAN-ellmer >= 0.4.1 BuildRequires: R-CRAN-bslib BuildRequires: R-CRAN-cli BuildRequires: R-CRAN-htmltools BuildRequires: R-CRAN-jsonlite BuildRequires: R-CRAN-R6 BuildRequires: R-CRAN-rlang BuildRequires: R-CRAN-shiny BuildRequires: R-stats BuildRequires: R-utils BuildRequires: R-CRAN-whisker Requires: R-CRAN-shinychat >= 0.5.0 Requires: R-CRAN-ellmer >= 0.4.1 Requires: R-CRAN-bslib Requires: R-CRAN-cli Requires: R-CRAN-htmltools Requires: R-CRAN-jsonlite Requires: R-CRAN-R6 Requires: R-CRAN-rlang Requires: R-CRAN-shiny Requires: R-stats Requires: R-utils Requires: R-CRAN-whisker %description Build interactive user interfaces for 'shiny' applications through a conversation with a large language model (LLM). Developers choose a set of reusable components, and the model arranges and updates those components as the user describes what they need. Each component's inputs are checked before it is shown, and the model supplies data rather than executable code. Applications can also save and replay the sequence of interface changes without contacting a model. For background on generative user interfaces, see Leviathan et al. (2026) . %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}