File R-cpp4r.spec of Package R-cpp4r
# Automatically generated by CRAN2OBS
#
# Spec file for package cpp4r
# This file is auto-generated using information in the package source,
# esp. Description and Summary. Improvements in that area should be
# discussed with upstream.
#
# Copyright (c) 2026 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global packname cpp4r
%global rlibdir %{_libdir}/R/library
Name: R-%{packname}
Version: 0.4.0
Release: 0
Summary: Header-Only 'C++' and 'R' Interface
Group: Development/Libraries/Other
License: Apache License (>= 2)
URL: http://cran.r-project.org/web/packages/%{packname}
Source: cpp4r_0.4.0.tar.gz
Requires: R-%{packname}-devel
Requires: R-base
Requires: R-decor
Requires: R-desc
Requires: R-glue
Requires: R-tibble
Requires: R-vctrs
Requires: R-withr
Requires: R-cli
Requires: R-R6
Requires: R-lifecycle
Requires: R-magrittr
Requires: R-pillar
Requires: R-pkgconfig
Requires: R-rlang
Requires: R-utf8
# %%if 0%%{?sle_version} > 120400 || 0%%{?is_opensuse}
# # Three others commonly needed
# BuildRequires: tex(ae.sty)
# BuildRequires: tex(fancyvrb.sty)
# BuildRequires: tex(inconsolata.sty)
# BuildRequires: tex(natbib.sty)
# %else
# BuildRequires: texlive
# %endif
# BuildRequires: texinfo
BuildRequires: fdupes
BuildRequires: R-base
BuildRequires: R-decor
BuildRequires: R-desc
BuildRequires: R-glue
BuildRequires: R-tibble
BuildRequires: R-vctrs
BuildRequires: R-withr
BuildRequires: R-cli
BuildRequires: R-R6
BuildRequires: R-lifecycle
BuildRequires: R-magrittr
BuildRequires: R-pillar
BuildRequires: R-pkgconfig
BuildRequires: R-rlang
BuildRequires: R-utf8
Suggests: R-mockery
Suggests: R-roxygen2
Suggests: R-testthat
%package devel
Summary: Development files for %{packname}
Requires: %{name} = %{version}
Requires: R-base-devel
%description
Provides a header only, 'C++' interface to 'R' with enhancements over
'cpp11'. Enforces copy-on-write semantics consistent with 'R' behavior.
Offers native support for ALTREP objects, 'UTF-8' string handling,
modern 'C++11' features and idioms, and reduced memory requirements.
Allows for vendoring, making it useful for restricted environments.
Compared to 'cpp11', it adds support for converting 'C++' maps to 'R'
lists, 'Roxygen' documentation directly in 'C++' code, proper handling
of matrix attributes, support for nullable external pointers,
bidirectional copy of complex number types, flexibility in type
conversions, use of nullable pointers, and various performance
optimizations.
%description devel
Development files and header needed to build packages using %{packname}
%prep
%setup -q -c -n %{packname}
# the next line is needed, because we build without --clean in between two packages
rm -rf ~/.R
%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
%fdupes -s %{buildroot}%{rlibdir}
#%%check
#%%{_bindir}/R CMD check %%{packname}
%files
%dir %{rlibdir}/%{packname}
%doc %{rlibdir}/%{packname}/DESCRIPTION
%{rlibdir}/%{packname}/INDEX
%{rlibdir}/%{packname}/Meta
%{rlibdir}/%{packname}/NAMESPACE
%doc %{rlibdir}/%{packname}/NEWS.md
%{rlibdir}/%{packname}/R
%{rlibdir}/%{packname}/WORDLIST
%doc %{rlibdir}/%{packname}/help
%doc %{rlibdir}/%{packname}/html
%files devel
%{rlibdir}/%{packname}/extdata
%{rlibdir}/%{packname}/include
%changelog