-
Notifications
You must be signed in to change notification settings - Fork 4k
GH-41952: [R] Turn S3 and ZSTD on by default for macOS #42210
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
Changes from all commits
3c62f88
d32e1fa
46e33db
548b6b2
b23878a
82b64d2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -536,7 +536,7 @@ build_libarrow <- function(src_dir, dst_dir) { | |||||||||||||
| } | ||||||||||||||
| cleanup(build_dir) | ||||||||||||||
|
|
||||||||||||||
| env_var_list <- c( | ||||||||||||||
| env_var_list <- list( | ||||||||||||||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This isn't technically necessary, but it was the easiest way to do what I wanted to in |
||||||||||||||
| SOURCE_DIR = src_dir, | ||||||||||||||
| BUILD_DIR = build_dir, | ||||||||||||||
| DEST_DIR = dst_dir, | ||||||||||||||
|
|
@@ -574,6 +574,14 @@ build_libarrow <- function(src_dir, dst_dir) { | |||||||||||||
| env_var_list <- c(env_var_list, setNames("BUNDLED", env_var)) | ||||||||||||||
| } | ||||||||||||||
| } | ||||||||||||||
| # We also _do_ want to enable S3 and ZSTD by default | ||||||||||||||
| # so that binaries built on CRAN from source are fully featured | ||||||||||||||
| # but defer to the env vars if those are set | ||||||||||||||
| env_var_list <- c( | ||||||||||||||
| env_var_list, | ||||||||||||||
| ARROW_S3 = Sys.getenv("ARROW_S3", "ON"), | ||||||||||||||
| ARROW_WITH_ZSTD = Sys.getenv("ARROW_WITH_ZSTD", "ON") | ||||||||||||||
| ) | ||||||||||||||
| } | ||||||||||||||
|
|
||||||||||||||
| env_var_list <- with_cloud_support(env_var_list) | ||||||||||||||
|
|
@@ -814,8 +822,16 @@ set_thirdparty_urls <- function(env_var_list) { | |||||||||||||
| env_var_list | ||||||||||||||
| } | ||||||||||||||
|
|
||||||||||||||
| is_feature_requested <- function(env_varname, default = env_is("LIBARROW_MINIMAL", "false")) { | ||||||||||||||
| env_value <- tolower(Sys.getenv(env_varname)) | ||||||||||||||
| # this is generally about features that people asked for via environment variables, but | ||||||||||||||
| # for some cases (like S3 when we override it in this script) we might find those in | ||||||||||||||
| # env_var_list | ||||||||||||||
| is_feature_requested <- function(env_varname, env_var_list, default = env_is("LIBARROW_MINIMAL", "false")) { | ||||||||||||||
| # look in the environment first, but then use the env_var_list if nothing is found | ||||||||||||||
| env_var_list_value <- env_var_list[[env_varname]] | ||||||||||||||
| if (is.null(env_var_list_value)) { | ||||||||||||||
| env_var_list_value <- "" | ||||||||||||||
| } | ||||||||||||||
| env_value <- tolower(Sys.getenv(env_varname, env_var_list_value)) | ||||||||||||||
|
Comment on lines
+830
to
+834
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this equivalent?
Suggested change
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well I feel slightly better having thought the exact same thing. But turns out: no! Though I only found that out when I pushed (+ got a little too eager and triggered all of crossbow r) and then saw lots of red. This would be a perfect place for |
||||||||||||||
| if (identical(env_value, "off")) { | ||||||||||||||
| # If e.g. ARROW_MIMALLOC=OFF explicitly, override default | ||||||||||||||
| requested <- FALSE | ||||||||||||||
|
|
@@ -828,8 +844,8 @@ is_feature_requested <- function(env_varname, default = env_is("LIBARROW_MINIMAL | |||||||||||||
| } | ||||||||||||||
|
|
||||||||||||||
| with_cloud_support <- function(env_var_list) { | ||||||||||||||
| arrow_s3 <- is_feature_requested("ARROW_S3") | ||||||||||||||
| arrow_gcs <- is_feature_requested("ARROW_GCS") | ||||||||||||||
| arrow_s3 <- is_feature_requested("ARROW_S3", env_var_list) | ||||||||||||||
| arrow_gcs <- is_feature_requested("ARROW_GCS", env_var_list) | ||||||||||||||
|
|
||||||||||||||
| if (arrow_s3 || arrow_gcs) { | ||||||||||||||
| # User wants S3 or GCS support. | ||||||||||||||
|
|
||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This prevents shared (homebrew) snappy from being used on the builder. Are there other dependencies we should add here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ARROW_DEPENDENCY_USE_SHAREDshould be the default for all the more specific versions, so just setting that should work?