8480d31
%global packname  shiny
8480d31
%global rlibdir  %{_datadir}/R/library
8480d31
8480d31
%global with_loop 0
8480d31
8480d31
Name:             R-%{packname}
8480d31
Version:          1.3.2
c930e1a
Release:          2%{?dist}
8480d31
Summary:          Web Application Framework for R
8480d31
8480d31
License:          GPLv3
8480d31
URL:              https://CRAN.R-project.org/package=%{packname}
8480d31
Source0:          https://cran.r-project.org/src/contrib/%{packname}_%{version}.tar.gz
8480d31
8480d31
# Here's the R view of the dependencies world:
8480d31
# Depends:   R-methods
8480d31
# Imports:   R-utils, R-grDevices, R-httpuv >= 1.5.0, R-mime >= 0.3, R-jsonlite >= 0.9.16, R-xtable, R-digest, R-htmltools >= 0.3.6, R-R6 >= 2.0, R-sourcetools, R-later >= 0.7.2, R-promises >= 1.0.1, R-tools, R-crayon, R-rlang
8480d31
# Suggests:  R-datasets, R-Cairo >= 1.5-5, R-testthat, R-knitr >= 1.6, R-markdown, R-rmarkdown, R-ggplot2, R-reactlog >= 1.0.0, R-magrittr
8480d31
# LinkingTo:
8480d31
# Enhances:
8480d31
8480d31
BuildArch:        noarch
8480d31
Requires:         R-core
8480d31
Requires:         R-methods
8480d31
Requires:         R-utils
8480d31
Requires:         R-grDevices
8480d31
Requires:         R-httpuv >= 1.5.0
8480d31
Requires:         R-mime >= 0.3
8480d31
Requires:         R-jsonlite >= 0.9.16
8480d31
Requires:         R-xtable
8480d31
Requires:         R-digest
8480d31
Requires:         R-htmltools >= 0.3.6
8480d31
Requires:         R-R6 >= 2.0
8480d31
Requires:         R-sourcetools
8480d31
Requires:         R-later >= 0.7.2
8480d31
Requires:         R-promises >= 1.0.1
8480d31
Requires:         R-tools
8480d31
Requires:         R-crayon
8480d31
Requires:         R-rlang
8480d31
Suggests:         R-datasets
8480d31
Suggests:         R-Cairo >= 1.5.5
8480d31
Suggests:         R-testthat
8480d31
Suggests:         R-knitr >= 1.6
8480d31
Suggests:         R-markdown
8480d31
Suggests:         R-rmarkdown
8480d31
Suggests:         R-ggplot2
8480d31
Suggests:         R-reactlog >= 1.0.0
8480d31
Suggests:         R-magrittr
8480d31
BuildRequires:    R-devel
8480d31
BuildRequires:    tex(latex)
8480d31
BuildRequires:    R-methods
8480d31
BuildRequires:    R-utils
8480d31
BuildRequires:    R-grDevices
8480d31
BuildRequires:    R-httpuv >= 1.5.0
8480d31
BuildRequires:    R-mime >= 0.3
8480d31
BuildRequires:    R-jsonlite >= 0.9.16
8480d31
BuildRequires:    R-xtable
8480d31
BuildRequires:    R-digest
8480d31
BuildRequires:    R-htmltools >= 0.3.6
8480d31
BuildRequires:    R-R6 >= 2.0
8480d31
BuildRequires:    R-sourcetools
8480d31
BuildRequires:    R-later >= 0.7.2
8480d31
BuildRequires:    R-promises >= 1.0.1
8480d31
BuildRequires:    R-tools
8480d31
BuildRequires:    R-crayon
8480d31
BuildRequires:    R-rlang
8480d31
BuildRequires:    R-datasets
8480d31
BuildRequires:    R-Cairo >= 1.5.5
8480d31
BuildRequires:    R-testthat
8480d31
BuildRequires:    R-knitr >= 1.6
8480d31
BuildRequires:    R-markdown
8480d31
BuildRequires:    R-rmarkdown
8480d31
BuildRequires:    R-ggplot2
8480d31
BuildRequires:    R-magrittr
8480d31
%if %{with_loop}
8480d31
BuildRequires:    R-reactlog >= 1.0.0
8480d31
%endif
8480d31
8480d31
#
8480d31
# Unbundle some things and mark others.
8480d31
#
8480d31
8480d31
# Bootstrap, not in Fedora properly.
8480d31
Provides:         bundled(xstatic-bootstrap-common) = 3.3.7
8480d31
8480d31
BuildRequires:    xstatic-datatables-common >= 1.10.5
8480d31
Requires:         xstatic-datatables-common >= 1.10.5
8480d31
8480d31
# Should be >=1.6.4, but 1.3.1.0 works too.
8480d31
BuildRequires:    xstatic-bootstrap-datepicker-common
8480d31
Requires:         xstatic-bootstrap-datepicker-common
8480d31
8480d31
# Too old in Fedora to unbundle.
8480d31
Provides:         bundled(fontawesome-fonts) = 5.3.1
8480d31
Provides:         bundled(fontawesome-fonts-web) = 5.3.1
8480d31
c930e1a
# Broken in Fedora
c930e1a
#BuildRequires:    js-highlight >= 6.2
c930e1a
#Requires:         js-highlight >= 6.2
c930e1a
Provides:         bundled(js-highlight) = 6.2
8480d31
8480d31
Provides:         bundled(js-ionrangeslider) = 2.1.6
8480d31
8480d31
BuildRequires:    js-jquery >= 1.12.4
8480d31
Requires:         js-jquery >= 1.12.4
8480d31
8480d31
# Should be >= 1.12.1, but 1.12.0.1 works too.
8480d31
BuildRequires:    xstatic-jquery-ui-common
8480d31
Requires:         xstatic-jquery-ui-common
8480d31
8480d31
Provides:         bundled(json2) = 2014.02.04
8480d31
8480d31
Provides:         bundled(selectize) = 0.11.2
8480d31
8480d31
BuildRequires:    nodejs-showdown >= 0.3.1
8480d31
Requires:         nodejs-showdown >= 0.3.1
8480d31
8480d31
Provides:         bundled(js-strftime) = 0.9.2
8480d31
8480d31
%description
8480d31
Makes it incredibly easy to build interactive web applications with R.
8480d31
Automatic "reactive" binding between inputs and outputs and extensive prebuilt
8480d31
widgets make it possible to build beautiful, responsive, and powerful
8480d31
applications with minimal effort.
8480d31
8480d31
8480d31
%prep
8480d31
%setup -q -c -n %{packname}
8480d31
8480d31
8480d31
%build
8480d31
8480d31
8480d31
%install
8480d31
mkdir -p %{buildroot}%{rlibdir}
8480d31
%{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname}
8480d31
test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so)
8480d31
rm -f %{buildroot}%{rlibdir}/R.css
8480d31
8480d31
# Unbundle things; can't be done before install since it copies symlink targets.
8480d31
8480d31
# DataTables
8480d31
rm -r %{buildroot}%{rlibdir}/%{packname}/www/shared/datatables/css/dataTables.bootstrap.css
8480d31
rm -r %{buildroot}%{rlibdir}/%{packname}/www/shared/datatables/{images,js,upgrade1.10.txt}
8480d31
for f in /usr/share/javascript/datatables/css/*; do
8480d31
    ln -s $f %{buildroot}%{rlibdir}/%{packname}/www/shared/datatables/css${f##*/}
8480d31
done
8480d31
ln -s /usr/share/javascript/datatables/images \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/datatables/images
8480d31
ln -s /usr/share/javascript/datatables/js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/datatables/js
8480d31
8480d31
rm -r %{buildroot}%{rlibdir}/%{packname}/www/shared/datepicker/*
8480d31
mkdir %{buildroot}%{rlibdir}/%{packname}/www/shared/datepicker/css
8480d31
ln -s /usr/share/javascript/bootstrap_datepicker/datepicker3.css \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/datepicker/css/bootstrap-datepicker3.css
8480d31
mkdir %{buildroot}%{rlibdir}/%{packname}/www/shared/datepicker/js
8480d31
ln -s /usr/share/javascript/bootstrap_datepicker/bootstrap-datepicker.js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/datepicker/js/bootstrap-datepicker.js
8480d31
ln -s /usr/share/javascript/bootstrap_datepicker/locales \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/datepicker/js/locales
8480d31
8480d31
rm %{buildroot}%{rlibdir}/%{packname}/www/shared/highlight/{LICENSE,classref.txt,highlight.pack.js}
8480d31
ln -s /usr/share/javascript/highlight.js/highlight.pack.js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/highlight/highlight.pack.js
8480d31
8480d31
rm %{buildroot}%{rlibdir}/%{packname}/www/shared/{jquery-AUTHORS.txt,jquery.js,jquery.min.js,jquery.min.map}
8480d31
ln -s /usr/share/javascript/jquery/latest/jquery.js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/jquery.js
8480d31
ln -s /usr/share/javascript/jquery/latest/jquery.min.js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/jquery.min.js
8480d31
ln -s /usr/share/javascript/jquery/latest/jquery.min.map \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/jquery.min.map
8480d31
8480d31
rm -r %{buildroot}%{rlibdir}/%{packname}/www/shared/jqueryui
8480d31
ln -s /usr/share/javascript/jquery_ui \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/jqueryui
8480d31
8480d31
rm -r %{buildroot}%{rlibdir}/%{packname}/www/shared/showdown/*
8480d31
mkdir %{buildroot}%{rlibdir}/%{packname}/www/shared/showdown/compressed
8480d31
ln -s /usr/lib/node_modules/showdown/compressed/showdown.js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/showdown/compressed/showdown.js
8480d31
mkdir %{buildroot}%{rlibdir}/%{packname}/www/shared/showdown/src
8480d31
ln -s /usr/lib/node_modules/showdown/src/showdown.js \
8480d31
    %{buildroot}%{rlibdir}/%{packname}/www/shared/showdown/src/showdown.js
8480d31
8480d31
8480d31
%check
8480d31
%if %{with_loop}
8480d31
%{_bindir}/R CMD check %{packname}
8480d31
%else
8480d31
_R_CHECK_FORCE_SUGGESTS_=0 %{_bindir}/R CMD check %{packname}
8480d31
%endif
8480d31
8480d31
8480d31
%files
8480d31
%dir %{rlibdir}/%{packname}
8480d31
%license %{rlibdir}/%{packname}/LICENSE
8480d31
%doc %{rlibdir}/%{packname}/html
8480d31
%{rlibdir}/%{packname}/DESCRIPTION
8480d31
%doc %{rlibdir}/%{packname}/NEWS.md
8480d31
%{rlibdir}/%{packname}/INDEX
8480d31
%{rlibdir}/%{packname}/NAMESPACE
8480d31
%{rlibdir}/%{packname}/Meta
8480d31
%{rlibdir}/%{packname}/R
8480d31
%{rlibdir}/%{packname}/help
8480d31
%{rlibdir}/%{packname}/examples
8480d31
%{rlibdir}/%{packname}/staticdocs
8480d31
%{rlibdir}/%{packname}/template
8480d31
%{rlibdir}/%{packname}/www-dir
8480d31
%{rlibdir}/%{packname}/www
8480d31
8480d31
8480d31
%changelog
c930e1a
* Wed Mar 04 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.3.2-2
c930e1a
- Re-bundle highlighjs, which is broken in Fedora
c930e1a
8480d31
* Thu May 23 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.3.2-1
8480d31
- initial package for Fedora