Blob Blame History Raw
%global packname  openssl
%global rlibdir  %{_libdir}/R/library

# Skip examples or tests that use the network.
%bcond_with network

# jose depends on this package.
%global with_doc 0

Name:             R-%{packname}
Version:          1.0.2
Release:          1%{?dist}
Summary:          Toolkit for Encryption, Signatures and Certificates Based on OpenSSL

License:          MIT
URL:              https://cran.r-project.org/web/packages/%{packname}/index.html
Source0:          https://cran.r-project.org/src/contrib/%{packname}_%{version}.tar.gz

# Here's the R view of the dependencies world:
# Depends:
# Imports:
# Suggests:  R-testthat, R-digest, R-knitr, R-rmarkdown, R-jsonlite, R-jose
# LinkingTo:
# Enhances:

Suggests:         R-jose
BuildRequires:    R-devel
BuildRequires:    tex(latex)
BuildRequires:    openssl-devel >= 1.0.1
BuildRequires:    R-testthat
%if %{with_doc}
BuildRequires:    R-digest
BuildRequires:    R-knitr
BuildRequires:    R-rmarkdown
BuildRequires:    R-jsonlite
BuildRequires:    R-jose
%endif

%description
Bindings to OpenSSL libssl and libcrypto, plus custom SSH pubkey parsers.
Supports RSA, DSA and EC curves P-256, P-384 and P-521. Cryptographic
signatures can either be created and verified manually or via x509
certificates. AES can be used in cbc, ctr or gcm mode for symmetric
encryption; RSA for asymmetric (public key) encryption or EC for Diffie
Hellman. High-level envelope functions combine RSA and AES for encrypting
arbitrary sized data. Other utilities include key generators, hash
functions (md5, sha1, sha256, etc), base64 encoder, a secure random number
generator, and 'bignum' math methods for manually performing crypto
calculations on large multibyte integers.


%prep
%setup -q -c -n %{packname}

%if !%{with network}
rm %{packname}/tests/testthat/test_google.R
%endif


%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


%check
%if !%{with network}
args="--no-examples"
%endif
%if %{with_doc}
%{_bindir}/R CMD check %{packname} $args
%else
_R_CHECK_FORCE_SUGGESTS_=0 %{_bindir}/R CMD check %{packname} --ignore-vignettes $args
%endif


%files
%dir %{rlibdir}/%{packname}
%doc %{rlibdir}/%{packname}/doc
%doc %{rlibdir}/%{packname}/html
%{rlibdir}/%{packname}/DESCRIPTION
%doc %{rlibdir}/%{packname}/NEWS
%license %{rlibdir}/%{packname}/LICENSE
%{rlibdir}/%{packname}/INDEX
%{rlibdir}/%{packname}/NAMESPACE
%{rlibdir}/%{packname}/Meta
%{rlibdir}/%{packname}/R
%{rlibdir}/%{packname}/help
%{rlibdir}/%{packname}/cacert.pem
%dir %{rlibdir}/%{packname}/libs
%{rlibdir}/%{packname}/libs/%{packname}.so


%changelog
* Mon Jul 30 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.0.2-1
- Update to latest version

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Thu May 17 2018 Tom Callaway <spot@fedoraproject.org> - 1.0.1-2
- rebuild for R 3.5.0

* Sat Mar 17 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.0.1-1
- initial package for Fedora