needs_compile() now ignores .gcov code coverage files.New Config/build/never-clean DESCRIPTION option to avoid adding
--preclean to R CMD INSTALL (e.g., when header files have changed)
(@krlmlr, #204).
has_rtools() & co. now work correctly on aarch64 Windows, when
RTOOLS45_AARCH64_HOME is not set (@remlapmot, #203).
pkg_build() and pkgbuild_process now work corrently when building
binary packages from non-standard file names (#208).
pkgbuild now supports R 4.5.x and Rtools45.
has_build_tools() (and related functions) now do not explicitly check
for Rtools on Windows and R 4.3.0 and later, but rather they try to
compile a simple package, like on Unix, for #199.
pkgbuild now does a better job at finding Rtools 4.3 and 4.4 if they were not installed from an installer.
pkgbuild now detects Rtools correctly from the Windows registry again for Rtools 4.3 and 4.4
bootstrap.R now works with pkgbuild_process, so it also works
from pak (https://github.com/r-lib/pak/issues/508).New Config/build/extra-sources DESCRIPTION option to make pkgbuild aware
of extra source files to consider in needs_compile().
New Config/build/bootstrap DESCRIPTION option. Set it to TRUE to run
Rscript bootstrap.R in the package root prior to building the source
package (#157, @paleolimbot).
pkgbuild now supports Rtools43.
pkgbuild now always appends its extra compiler flags to the ones that
already exist in the system and/or user Makevars files (#156).
pkgbuild can now avoid copying large package directories when building a
source package. See the PKG_BUILD_COPY_METHOD environment variable in
?build or the package README (#59).
This is currently an experimental feature, and feedback is appreciated.
R CMD build warnings can now be turned into errors, by setting the
pkg.build_stop_for_warnings option to TRUE or by setting the
PKG_BUILD_STOP_FOR_WARNINGS environment variable to true (#114).
need_compile() now knows about Rust source code files, i.e. Cargo.toml
and *.rs (#115).
Now pkgbuild::build() will not clean up inst/doc by default if the
Config/build/clean-inst-doc entry in DESCRIPTION is set to FALSE (#128).
New PKG_BUILD_COLOR_DIAGNOSTICS environment variable to opt out from
colored compiler output (#141).
pkgbuild now works with a full XCode installation if the XCode Command Line Tools are not installed, on macOS, in RStudio (#103).
${RTOOLS40_HOME}/usr/bin and ${RTOOLS40_HOME}/ucrt64/bin.
E.g. ~/.Renviron should contain now
PATH="${RTOOLS40_HOME}\usr\bin;${RTOOLS40_HOME}\ucrt64\bin;${PATH}"
to make Rtools40 work with both R 4.2.x (devel currently) and R 4.1.x and
R 4.0.x.pkgbuild now supports Rtools 4.2.
pkgbuild now returns the correct path for R 3.x (#96).
build() now always returns the path of the built package (#108).
pkgbuild output now looks better in .Rmd documents and in general in non-dynamic terminals. You can also force dynamic and non-dynamic output now (#64).
pkgbuild does not build the PDF manual now if pdflatex is not installed, even if manual = TRUE (#123).
Gábor Csárdi is now the maintainer.
build_setup_source now considers both command-line build arguments, as
well as parameters vignettes or manual when conditionally executing
flag-dependent behaviors (@dgkf, #120)
compile_dll() gains a debug argument for more control over the compile options used (@richfitz, #100)pkgbuild_process() and build() now use colored compiler diagnostics if supported (#102)compile_dll() now supports automatic cpp11 registration if the package links to cpp11.rtools_needed returns correct version instead of "custom" (@burgerga, #97)CC Makevars (#40).check_build_tools() gains a quiet argument, to control when the message
is displayed. The message is no longer displayed when check_build_tools()
is called internally by pkgbuild functions. (#83)build() gains a clean_doc argument, to control if the inst/doc
directory is cleaned before building. (#79, #75)
build() and pkgbuild_process now have standard output and error are
correctly interleaved, by redirecting the standard error of build process
to the standard output (@gaborcsardi, #78).
check_build_tools() now has a more helpful error message which points you
towards ways to debug the issue (#68).
pkgbuild_process now do not set custom compiler flags, and it uses
the user's Makevars file (@gaborcsardi, #76).
rtools_path() now returns NA on non-windows systems and also works when
has_rtools() has not been run previously (#74).
Tests which wrote to the package library are now skipped on CRAN.
build() can now build a tar.gz file directly (#55)
build() and compile_dll() gain a register_routines argument, to
automatically register C routines with
tools::package_native_routines_registration_skeleton() (#50)
build() will now warn if trying to build packages on R versions <= 3.4.2 on
Windows with a space in the R installation directory (#49)
build() will now message if a build contains long paths, which are unsupported on windows
(#48)
compile_dll() no longer doubles output, a regression caused by the styling callback.
(https://github.com/r-lib/devtools/issues/1877)
build() output is now styled like that in the rcmdcheck package
(https://github.com/r-lib/devtools/issues/1874).
build() no longer sets compile flags (#46)
Preliminary support for rtools 4.0 (#40)
compile_dll() now does not supply compiler flags if there is an existing
user defined Makevars file.
local_build_tools() function added to provide a deferred equivalent to
with_build_tools(). So you can add rtools to the PATH until the end of a
function body.
Add metadata to support Rtools 3.5 (#38).
build() only uses the --no-resave-data argument in R CMD build
if the --resave-data argument wasn't supplied by the user
(@theGreatWhiteShark, #26)
build() now cleans existing vignette files in inst/doc if they exist. (#10)
clean_dll() also deletes symbols.rds which is created when compile_dll()
is run inside of R CMD check.
First argument of all functions is now path rather than pkg.