RevolutionAnalytics / RRO

Revolution R Open
http://mran.revolutionanalytics.com/download/
GNU General Public License v2.0
86 stars 25 forks source link

Homebrew Formula #237

Open noamross opened 9 years ago

noamross commented 9 years ago

This page on the wiki indicates that, at one point at least, there was a Homebrew formula for testing the development version of RRO. Is there an plan to create a formula to install the latest release? It would be great to brew install rro.

cmosetick commented 9 years ago

Hi Noam, That wiki page was notes for a proof of concept homebrew formula that lived in a dev branch. There was too much flux with the RRO installer at the time to justify a homebrew install option. I had to switch to other tasks so it was not formally submitted to the homebrew project. Since then, the RRO install process, especially with the MKL, has changed quite a bit, so it was a good call at the time.

It's been a while since I looked at all the needed pieces for a proper formula. From what I can remember, the most straight forward path was going to be a binary install of RRO. (I think bottle in homebrew terminology)

Since RRO is distributed as a GUI installer package (.pkg), it is perhaps easiest to go the route of a Cask Room install. (cask is an optional extension to homebrew)

I use brew cask install <package name> with success quite frequently. This is also ideal because cask installs get installed into /opt then symlinked into the users home directory, at $HOME/Applications/ This means that RRO installed via cask would be less likely to interfere with an existing CRAN R installation. (Though not guaranteed.)

I'm not sure about the MKL license terms with the cask install route, because the MKL is already included in the OS X installer .pkg. The main thing that makes me think that the cask install option is the best route is because cask install formulas require that .pkg or .dmg downloads start from upstream project servers (MRAN in this case).

If I can find some time, I'll create a pull request in the caskroom project for RRO and leave a comment here.

cmosetick commented 9 years ago

@retrography created a Cask formula for RRO 3.2.1 on August 23rd. I went ahead and bumped the version number and hash in the formula to 3.2.2 and created a pull request to get the current version included in the official homebrew-cask project.

@noamross you can get cask going with: brew install caskroom/cask/brew-cask

The new RRO version should hopefully be included within the next day or so since the automated check has passed. Then you can: brew cask install rro

j-martens commented 9 years ago

Thanks Chris.

retrography commented 9 years ago

I am glad you have as well took notice of the importance of having a brew formula. I can't keep pace with the updates on my own. Having more than one interested person makes the task easier.

@cmosetick be aware that the default install behavior of cask will change from linking to moving soon, so one of the reasons for relying on a cask will partially go away. I believe the R binaries and framework installed by RRO can still be kept in a separate directory, which may or may not be a good thing (depending on whether it creates conflicts or not).

When. I created the RRO cask I considered creating a brew formula as well. The point is that a brew formula is useful when (1) recompiling a software on the target computer can enable a number of compile-time optimization that can't be attained otherwise, or (2) compiling on the target computer helps avoiding licensing issues. My understanding is that RRO is designed to be a drop-in binary replacement for R on the supported platforms. As such, I couldn't see how a brew formula would actually make a better case, so I contented myself with a cask.

@noamross You can enable many of the enhancements brought by RRO just by using the right switches when installing the official R formula on brew. You can see to that by running brew info r. My experience is that openblas-based compilations of R are just as fast in matrix operations as MKL-based ones. I can't say much about the other enhancements, though.

dschneiderch commented 8 years ago

If I install R with brew cask install rro will other brewed formula recognize r as installed even though the formula is called rro?

EDIT: I just realized there is no rro cask (anymore?)