Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[R-package] Updated package metadata in DESCRIPTION #2993

Merged
merged 2 commits into from
Apr 15, 2020

Conversation

jameslamb
Copy link
Collaborator

I've been reading the DESCRIPTION section of Writing R Extensions, and found a few other fields we should be setting in our package metadata. I think this will help with #629 as well.

  • changed tabs to spaces in author section of the DESCRIPTION
  • fixed a minor typo in description of the package
  • added NeedsCompilation: yes

The ‘NeedsCompilation’ field should be set to "yes" if the package contains code which to be compiled, otherwise "no" (when the package could be installed from source on any platform without additional tools). This is used by install.packages(type = "both") in R >= 2.15.2 on platforms where binary packages are the norm: it is normally set by R CMD build or the repository assuming compilation is required if and only if the package has a src directory.

  • added Biarch: false

The ‘Biarch’ logical field is used on Windows to select the INSTALL option --force-biarch for this package.

--force-biarch attempt to build both architectures even if there is a non-empty configure.win

  • added 'SystemRequirements: C++11'

Packages without a src/Makevars or src/Makefile file may specify that they require C++11 for code in the src directory by including ‘C++11’ in the ‘SystemRequirements’ field of the DESCRIPTION file, e.g. SystemRequirements: C++11. If a package does have a src/Makevars[.win] file then setting the make variable ‘CXX_STD’ is preferred, as it allows R CMD SHLIB to work correctly in the package’s src directory.

When we add content to Makevar[.win] (I'm working on that PR now actually), it will include CXX_STD. SystemRequirements is mostly a documentation field, similar to trove classifiers used in Python, so I still think it's worth having it.

@jameslamb jameslamb merged commit 7d5bfda into microsoft:master Apr 15, 2020
@jameslamb jameslamb deleted the r/DESCRIPTION branch April 25, 2020 17:05
@lock lock bot locked as resolved and limited conversation to collaborators Jun 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants