All Projects → rmacoslib → R Macos Rtools

rmacoslib / R Macos Rtools

Scripts to build an **unofficial** Rtools-esq installer for the macOS R toolchain

Programming Languages

shell
77523 projects
r
7636 projects
bash
514 projects

Projects that are alternatives of or similar to R Macos Rtools

Magnetx
资源搜索型软件 macOS OSX magnet
Stars: ✭ 1,819 (+1088.89%)
Mutual labels:  osx
Musaicfm
Screensaver inspired by Apple’s inbuilt iTunes Screensaver. It can display Artwork by Spotify or last.fm Profile Data.
Stars: ✭ 144 (-5.88%)
Mutual labels:  osx
Profiles
🔎 Profiles (mobileconfig files) for macOS.
Stars: ✭ 149 (-2.61%)
Mutual labels:  osx
Tosin
Initialize a npm package with everything included, from CI to documentation website
Stars: ✭ 142 (-7.19%)
Mutual labels:  package
Modern Wasm Starter
🛸 Run C++ code on web and create blazingly fast websites! A starter template to easily create WebAssembly packages using type-safe C++ bindings with automatic TypeScript declarations.
Stars: ✭ 140 (-8.5%)
Mutual labels:  package
Update Check
Minimalistic update notifications for command line interfaces
Stars: ✭ 145 (-5.23%)
Mutual labels:  package
Tvrenamer
A Java GUI utility to rename TV episodes from TV listings
Stars: ✭ 139 (-9.15%)
Mutual labels:  osx
Matrixstats
R package: Methods that Apply to Rows and Columns of Matrices (and to Vectors)
Stars: ✭ 151 (-1.31%)
Mutual labels:  package
React Native Story
React native instagram story
Stars: ✭ 144 (-5.88%)
Mutual labels:  package
Imguifontstudio
Font Helper Gui Tool for programming
Stars: ✭ 149 (-2.61%)
Mutual labels:  osx
Platypus
Create native Mac applications from command line scripts.
Stars: ✭ 1,893 (+1137.25%)
Mutual labels:  osx
Youtube
Upload a video to a single YouTube channel with Laravel 5.
Stars: ✭ 143 (-6.54%)
Mutual labels:  package
Forest Express Mongoose
🌱 Express/Mongoose Liana for Forest Admin
Stars: ✭ 145 (-5.23%)
Mutual labels:  package
Timetable
📅 Customizable flutter calendar widget including day and week views
Stars: ✭ 140 (-8.5%)
Mutual labels:  package
Nova Cashier Manager
Managing Stripe subscriptions inside the incredible Laravel Nova admin panel.
Stars: ✭ 150 (-1.96%)
Mutual labels:  package
Youtube Music
🎵 A Mac app wrapper for music.youtube.com
Stars: ✭ 2,097 (+1270.59%)
Mutual labels:  osx
Go Gtk
Go binding for GTK
Stars: ✭ 1,832 (+1097.39%)
Mutual labels:  osx
Docker Time Sync Agent
docker-time-sync-agent is a tool to prevent time drift in Docker for Mac's HyperKit VM.
Stars: ✭ 152 (-0.65%)
Mutual labels:  osx
Chinese Lunar Calendar For Mac
Chinese Lunar Calendar for Mac
Stars: ✭ 150 (-1.96%)
Mutual labels:  osx
Omnifocus Stats
📊 Stats tool for OmniFocus.
Stars: ✭ 148 (-3.27%)
Mutual labels:  osx

Installer Package for macOS R toolchain License

The repository contains the scripts used to create an installer package (.pkg) that contains binaries used to create the CRAN official macOS R binary.

Specifically, the installer will try to download and install:

Moreover, the installer will attempt to clean up previous installations by removing configuration files ~/.R/Makevars and ~/.Renviron that are no longer used. Backups for each file will be presented with .bck appended to the end.

For those interested, the installer can be obtained on either the project's release page or through http://go.illinois.edu/r-macos-rtools-pkg. The pre-built binaries this installer encloses can be found at https://developer.apple.com/download/more/ and https://github.com/fxcoudert/gfortran-for-macOS/releases.

Note The installer package was developed by James Joseph Balamuta and has no connection with the R project’s macOS CRAN maintainers. Financial support was provided to sign the installer by Professor Timothy Bates of the University of Edinburgh.

How do I use the installer?

  1. Download it from the project's release page or through http://go.illinois.edu/r-macos-rtools-pkg.
  2. Open the installer by either double click or right clicking to bring up menu and selecting "Open".
  3. From here, navigate through it like a normal macOS installer.

That's it.

Once installed, you can start using compiled code in R like normal.

If you want to see behind the curtain, continue reading...

What does the installer do?

The macOS R toolchain installer performs four actions that require the user's password to accomplish. These actions are:

  1. download and install XCode CLI via secure Apple product update
  2. remove any existing ~/.R/Makevars or ~/.Renviron (backups available with .bck)s
  3. determine which gfortran version to use
  4. download, verify, and install the appropriate gfortran version

Note: The installer will remove any existing ~/.R/Makevars and ~/.Renviron files. The existing files will be copied to a backup file, e.g. ~/.R/Makevars.bck and ~/.Renvion.bck.

Verify steps are conducted using embedded md5 hashes of the files. If the hash is not identical to what was embedded, the installer will exit. For details as to how this was implemented please see Issue 8: Verify pkg hash and the Pull Request 10: Feature Pkg Hash Verification.

Verify the Installer

Thanks to the financial support provided by Professor Timothy Bates of the University of Edinburgh to join the Apple Developer program. The installer is now signed using developer credentials.

As a result, the installer should have a "lock" icon in the upper right corner:

Signed Installer Lock Icon

Clicking the lock icon will reveal the signed developer certificate:

Signed Developer Certificate

With this being said, the code used to generate the installer has been made publically available under an open source license (GPL >= 2).

Overview of Files

Below is an abridged version of the actions of each file provided.

  • scripts/postinstall
  • make_installer.sh
    • Create the installer package R binary installer .pkg
      • Builds the package from the extracted tar using pkgbuild
      • Analyzing the package using productbuild to create a distribution.xml
      • Inserts customizations into the distribution.xml (title, background, ...)
      • Calls productbuild to rebuild the package.
  • distribution.xml
    • Customization options (e.g. title, background) of installer built by analyzing a temporary .pkg
  • build_files/Rlogo.png
    • R logo
  • build_files/LICENSE.rtf
    • License of the Xcode CLI, LLVM installer, and gfortran
  • build_files/WELCOME_DISPLAY.rtf
    • Text displayed on welcome screen

License

GPL (>= 2)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].