Staged-recipes: Package RStudio / RStudio server

Created on 8 Dec 2020  路  11Comments  路  Source: conda-forge/staged-recipes

Anaconda has some heavily outdated versions in the R channel still, but I cannot find the recipe in AnacondaRecipes/aggregate.

The license would be compatible.

I'm guessing the topic has come up before (not least since solving integration between conda & R / RStudio is a recurring subject), so I wanted to open this issue mainly for getting some thoughts from @conda-forge/core on this.

If there are no strong objections, I'll probably try my hand at a PR in the coming days.

Most helpful comment

You're absolutely welcome to package RStudio in conda-forge so long as you adhere to the AGPL licensing. There are already a handful of teams that do this to produce an RStudio package compatible with their environment (e.g. there's a FreeBSD port we don't maintain but regularly builds RStudio for FreeBSD users).

We can't offer formal support for this but would be happy to assist with issues you run into on a case by case basis. Presumably this will involve recompiling RStudio, so when you do this I'd recommend tweaking a few compile-time variables so that your RStudio build is distinguishable from our official binaries (in Help/About).

RStudio's own build system is pretty much out in the open; with the exception of macOS all the builds happen in Docker containers that are part of the repo itself.

If Qt is a blocker you should be aware that we are hoping to break our Qt dependency in mid 2021, replacing it with Electron, which these days is the standard technology for making web apps into desktop apps (RStudio has always had this approach but predates the availability of Electron by quite a bit).

All 11 comments

OK, just found #11877, which I had missed before because I was not using a space between "R" & "Studio"

Following down that rabbit hole, found the following quote:

@mingwandroid: Thanks for bringing this up @dhirschfeld. RStudio is a _big_ undertaking (but one I'd dearly love to address). The main issue is that we need to update Qt beyond 5.9 on all platforms.

I'd like RStudio recipe maintainence to move to conda-forge eventually too, do you think there's enough interest in tackling that?

Maybe I was a bit optimistic here in terms of effort? 馃槄

In any case, the Qt-update beyond 5.9 has already happened - conda-forge is building 5.12.9, and the good news is that Rstudio 1.3 + the current 1.4-preview are still on 5.12 as well.

This code is AGPL and I was under the impression that we could not ship R Studio. I might be misremembering things.

cc @conda-forge/core

Currently listening to a talk from Carl Boettiger from https://github.com/rocker-org/rocker where he just said it's best to contact RStudio if you'd want to redistribute it.

@kevinushey @jmcphers
Sorry for the ping out of the blue, wanted to invite you into this discussion where conda-forge (the community-driven upstream of the conda ecosystem for python & R) is discussing if / how RStudio might be packaged & redistributed, in a manner not dissimilar to how the rocker-verse is already doing so.

Following the input above:

@mbargull: Currently listening to a talk from Carl Boettiger from https://github.com/rocker-org/rocker where he just said it's best to contact RStudio if you'd want to redistribute it.

... I thought I'd reach out informally on GitHub. Note that I represent neither Anaconda nor the core conda-forge team, although I think it's fair to say that both groups would be very interested to have this in conda-forge (see comments & quoted thread above).

Some of the important aspects of this (IMHO):

  • the installation could be made to work out of the box with conda environments (and possible patches contributed upstream, if desired), which is a _very_ common problem for people who want the best of both worlds
  • easy install that requires no compilation (for all platforms, incl. possibly more exotic ones like ppc64le & aarch64)
  • everything happens openly on GH, builds from validated sources & fully tested in CI (usually with upstream test suite)
  • if you want, you could be part of the "recipe" maintainers team to have a say on how exactly the repackaging is set up

... I thought I'd reach out informally on GitHub. Note that I represent neither Anaconda nor the core conda-forge team, [...]

That's totally fine (plus, I'm certainly supportive of such approaches) and I'm thankful for your initiative!


Regarding the technical part: https://github.com/AnacondaRecipes/aggregateR/tree/master/rstudio-feedstock/recipe would be the starting point you searched for (recipes from Anaconda for R packages are in the separate https://github.com/AnacondaRecipes/aggregateR repo).

yes thank you @h-vetinari!

Side note: just saw that @msarahan apparently joined RStudio - that would sound like a pretty strategic hire regarding integration of conda with RStudio...? 馃檭

I don't speak for Mike but I did touch base with him some time ago about this, actually multiple times, but it does not seems that packaging or repackaging of RStudio is a priority for them. They have a solid users base for their binary and rocker (the "oficial/blessed" docker image).

I hope that changes in the future. Installing RStudio with conda would be great!

You're absolutely welcome to package RStudio in conda-forge so long as you adhere to the AGPL licensing. There are already a handful of teams that do this to produce an RStudio package compatible with their environment (e.g. there's a FreeBSD port we don't maintain but regularly builds RStudio for FreeBSD users).

We can't offer formal support for this but would be happy to assist with issues you run into on a case by case basis. Presumably this will involve recompiling RStudio, so when you do this I'd recommend tweaking a few compile-time variables so that your RStudio build is distinguishable from our official binaries (in Help/About).

RStudio's own build system is pretty much out in the open; with the exception of macOS all the builds happen in Docker containers that are part of the repo itself.

If Qt is a blocker you should be aware that we are hoping to break our Qt dependency in mid 2021, replacing it with Electron, which these days is the standard technology for making web apps into desktop apps (RStudio has always had this approach but predates the availability of Electron by quite a bit).

Great news, thanks a lot for the update @jmcphers! :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

isuruf picture isuruf  路  4Comments

frol picture frol  路  7Comments

jakirkham picture jakirkham  路  4Comments

sodre picture sodre  路  4Comments

jakirkham picture jakirkham  路  11Comments