| ###-*- R -*- Unix Specific ---- |
| |
| .Library <- file.path(R.home(), "library") |
| .Library.site <- Sys.getenv("R_LIBS_SITE") # This is set in Renviron. |
| .Library.site <- |
| if(.Library.site == "NULL") character() else unlist(strsplit(.Library.site, ":")) |
| .Library.site <- .Library.site[dir.exists(.Library.site)] |
| |
| local({ |
| libs <- Sys.getenv("R_LIBS_USER") # This is set in Renviron. |
| libs <- if(libs == "NULL") character() else unlist(strsplit(libs, ":")) |
| ## .libPaths filters on existence. |
| invisible(.libPaths(c(unlist(strsplit(Sys.getenv("R_LIBS"), ":")), |
| libs))) |
| }) |
| local({ |
| popath <- Sys.getenv("R_TRANSLATIONS", "") |
| if(!nzchar(popath)) { |
| paths <- file.path(.libPaths(), "translations", "DESCRIPTION") |
| popath <- dirname(paths[file.exists(paths)][1]) |
| } |
| bindtextdomain("R", popath) |
| bindtextdomain("R-base", popath) |
| assign(".popath", popath, .BaseNamespaceEnv) |
| }) |
| local({ |
| ## we distinguish between R_PAPERSIZE as set by the user and by configure |
| papersize <- Sys.getenv("R_PAPERSIZE_USER") |
| if(!nchar(papersize)) { |
| lcpaper <- Sys.getlocale("LC_PAPER") # might be null: OK as nchar is 0 |
| papersize <- if(nchar(lcpaper)) |
| if(length(grep("(_US|_CA)", lcpaper))) "letter" else "a4" |
| else Sys.getenv("R_PAPERSIZE") |
| } |
| options(papersize = papersize, |
| printcmd = Sys.getenv("R_PRINTCMD"), |
| dvipscmd = Sys.getenv("DVIPS", "dvips"), |
| texi2dvi = Sys.getenv("R_TEXI2DVICMD"), |
| browser = Sys.getenv("R_BROWSER"), |
| pager = file.path(R.home(), "bin", "pager"), |
| pdfviewer = Sys.getenv("R_PDFVIEWER"), |
| useFancyQuotes = TRUE) |
| }) |
| |
| ## non standard settings for the R.app GUI of the macOS port |
| if(.Platform$GUI == "AQUA") { |
| ## this is set to let RAqua use both X11 device and X11/TclTk |
| if (Sys.getenv("DISPLAY") == "") |
| Sys.setenv("DISPLAY" = ":0") |
| |
| ## this is to allow gfortran compiler to work |
| Sys.setenv("PATH" = paste(Sys.getenv("PATH"),":/usr/local/bin",sep = "")) |
| }## end "Aqua" |
| |
| ## de-dupe the environment on macOS (bug in Yosemite which affects things like PATH) |
| if (grepl("^darwin", R.version$os)) local({ |
| ## we have to de-dupe one at a time and re-check since the bug affects how |
| ## environment modifications propagate |
| while(length(dupes <- names(Sys.getenv())[table(names(Sys.getenv())) > 1])) { |
| env <- dupes[1] |
| value <- Sys.getenv(env) |
| Sys.unsetenv(env) ## removes the dupes, good |
| .Internal(Sys.setenv(env, value)) ## wrapper requries named vector, a pain, hence internal |
| } |
| }) |
| |
| local({ |
| tests_startup <- Sys.getenv("R_TESTS") |
| if(nzchar(tests_startup)) source(tests_startup) |
| }) |