jonkeane commented on code in PR #38220:
URL: https://github.com/apache/arrow/pull/38220#discussion_r1357191844
##########
r/vignettes/developers/setup.Rmd:
##########
@@ -38,50 +38,31 @@ set -e
set -x
```
-
-```{bash, save=run & windows, hide=TRUE}
-# For some reason CRAN Mirror goes missing in CI
-echo 'options(repos=structure(c(CRAN="https://cloud.r-project.org")))' >
$HOME/.Rprofile
-```
-
-Windows and macOS users who wish to contribute to the R package and
-don't need to alter libarrow (Arrow's C++ library) may be able to obtain a
-recent version of the library without building from source.
-
-### Linux
-
-On Linux, you can download a .zip file containing libarrow from the
-[nightly repository](https://nightlies.apache.org/arrow/r/libarrow/bin/).
-
-The directory names correspond to the OpenSSL version the binaries built with:
-- "linux-openssl-1.0" (OpenSSL 1.0)
-- "linux-openssl-1.1" (OpenSSL 1.1)
-- "linux-openssl-3.0" (OpenSSL 3.0)
-
-Version numbers in that repository correspond to dates.
-
-You'll need to create a `libarrow` directory inside the R package directory
and unzip the zip file containing the compiled libarrow binary files into it.
-
-### macOS
-On macOS, you can install libarrow using [Homebrew](https://brew.sh/):
-
-```bash
-# For the released version:
-brew install apache-arrow
-# Or for a development version, you can try:
-brew install apache-arrow --HEAD
-```
-
-### Windows
-
-On Windows, you can download a .zip file containing libarrow from the
-[nightly
repository](https://nightlies.apache.org/arrow/r/libarrow/bin/windows/).
-
-Version numbers in that repository correspond to dates.
-
-You can set the `RWINLIB_LOCAL` environment variable to point to the zip file
containing libarrow before installing the arrow R package.
-
-## R and C++
+The Arrow R package is unique compared to other R packages that you may have
+contributed to because it builds on top of the large and feature-rich Arrow C++
+implementation. Because the R package integrates tightly with Arrow C++,
+it typically requires a dedicated copy of the library (i.e., it is usually
+not possible to link to a system version of libarrow during development).
+
+## Option 1: Using nightly libarrow binaries
+
+On Linux, MacOS, and Windows you can use the same workflow you might use for
another
+package that contains compiled code (e.g., `R CMD INSTALL .` from
+a terminal, `devtools::load_all()` from an R prompt, or `Install & Restart`
from
+RStudio). If the `libarrow` directory is not populated, the configure script
will
+attempt to download the latest nightly libarrow binary, extract it to the
+`arrow/r/libarrow` directory (MacOS, Linux) or `arrow/r/windows`
+directory (Windows), and continue building the R package as usual.
+
+Most of the time, you won't need to update your version of libarrow because
+the R package rarely changes with updates to the C++ library; however, if you
+start to get errors when rebuilding the R package, you may have to remove the
+`libarrow` directory (MacOS, Linux) or `windows/libarrow` directory (Windows)
+and do a "clean" rebuild. You can do this from a terminal with
+`R CMD INSTALL . --preclean` or from RStudio using the "Clean and Install"
+option from "Build" tab.
Review Comment:
There's also a `clean` target in the Makefile — though I can appreciate
wanting to give folks a single way to do this.
##########
r/vignettes/developers/setup.Rmd:
##########
@@ -38,50 +38,31 @@ set -e
set -x
```
-
-```{bash, save=run & windows, hide=TRUE}
-# For some reason CRAN Mirror goes missing in CI
-echo 'options(repos=structure(c(CRAN="https://cloud.r-project.org")))' >
$HOME/.Rprofile
-```
-
-Windows and macOS users who wish to contribute to the R package and
-don't need to alter libarrow (Arrow's C++ library) may be able to obtain a
-recent version of the library without building from source.
-
-### Linux
-
-On Linux, you can download a .zip file containing libarrow from the
-[nightly repository](https://nightlies.apache.org/arrow/r/libarrow/bin/).
-
-The directory names correspond to the OpenSSL version the binaries built with:
-- "linux-openssl-1.0" (OpenSSL 1.0)
-- "linux-openssl-1.1" (OpenSSL 1.1)
-- "linux-openssl-3.0" (OpenSSL 3.0)
-
-Version numbers in that repository correspond to dates.
-
-You'll need to create a `libarrow` directory inside the R package directory
and unzip the zip file containing the compiled libarrow binary files into it.
-
-### macOS
-On macOS, you can install libarrow using [Homebrew](https://brew.sh/):
-
-```bash
-# For the released version:
-brew install apache-arrow
-# Or for a development version, you can try:
-brew install apache-arrow --HEAD
-```
-
-### Windows
-
-On Windows, you can download a .zip file containing libarrow from the
-[nightly
repository](https://nightlies.apache.org/arrow/r/libarrow/bin/windows/).
-
-Version numbers in that repository correspond to dates.
-
-You can set the `RWINLIB_LOCAL` environment variable to point to the zip file
containing libarrow before installing the arrow R package.
-
-## R and C++
+The Arrow R package is unique compared to other R packages that you may have
+contributed to because it builds on top of the large and feature-rich Arrow C++
+implementation. Because the R package integrates tightly with Arrow C++,
+it typically requires a dedicated copy of the library (i.e., it is usually
+not possible to link to a system version of libarrow during development).
+
+## Option 1: Using nightly libarrow binaries
+
+On Linux, MacOS, and Windows you can use the same workflow you might use for
another
+package that contains compiled code (e.g., `R CMD INSTALL .` from
+a terminal, `devtools::load_all()` from an R prompt, or `Install & Restart`
from
+RStudio). If the `libarrow` directory is not populated, the configure script
will
+attempt to download the latest nightly libarrow binary, extract it to the
+`arrow/r/libarrow` directory (MacOS, Linux) or `arrow/r/windows`
+directory (Windows), and continue building the R package as usual.
+
+Most of the time, you won't need to update your version of libarrow because
+the R package rarely changes with updates to the C++ library; however, if you
+start to get errors when rebuilding the R package, you may have to remove the
+`libarrow` directory (MacOS, Linux) or `windows/libarrow` directory (Windows)
+and do a "clean" rebuild. You can do this from a terminal with
+`R CMD INSTALL . --preclean` or from RStudio using the "Clean and Install"
+option from "Build" tab.
Review Comment:
There's also a `clean` target in the Makefile — though I can appreciate
wanting to give folks a single way to do this.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]