diff --git a/r/R/arrow-info.R b/r/R/arrow-info.R index 916b6683fbcce..ddeb0f04efac1 100644 --- a/r/R/arrow-info.R +++ b/r/R/arrow-info.R @@ -140,7 +140,7 @@ some_features_are_off <- function(features) { # `features` is a named logical vector (as in arrow_info()$capabilities) # Let's exclude some less relevant ones # jemalloc is only included because it is sometimes disabled in our build process - blocklist <- c("lzo", "bz2", "brotli", "substrait", "jemalloc") + blocklist <- c("lzo", "bz2", "brotli", "substrait", "jemalloc", "gcs") # Return TRUE if any of the other features are FALSE !all(features[setdiff(names(features), blocklist)]) } diff --git a/r/tools/nixlibs.R b/r/tools/nixlibs.R index 2d6f5ca4a5fec..51f8834599a2a 100644 --- a/r/tools/nixlibs.R +++ b/r/tools/nixlibs.R @@ -574,12 +574,12 @@ 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, GCS, and ZSTD by default + # 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_GCS = Sys.getenv("ARROW_GCS", "ON"), ARROW_WITH_ZSTD = Sys.getenv("ARROW_WITH_ZSTD", "ON") ) } @@ -822,14 +822,12 @@ set_thirdparty_urls <- function(env_var_list) { env_var_list } +# 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 our env_var_list first, if it's not found there go to - # the actual environment - env_value <- tolower(env_var_list[[env_varname]]) - if (is.null(env_value)) { - env_value <- tolower(Sys.getenv(env_varname)) - } - + # look in the environment first, but then use the env_var_list if nothing is found + env_value <- tolower(Sys.getenv(env_varname, env_var_list[[env_varname]])) if (identical(env_value, "off")) { # If e.g. ARROW_MIMALLOC=OFF explicitly, override default requested <- FALSE