Page MenuHomeFreeBSD

New port: devel/RStudio: Integrated development environment (IDE) for R
ClosedPublic

Authored by yuri on Nov 18 2017, 6:12 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 17, 8:42 AM
Unknown Object (File)
Sat, Mar 2, 5:48 PM
Unknown Object (File)
Sat, Mar 2, 5:47 PM
Unknown Object (File)
Sat, Mar 2, 5:47 PM
Unknown Object (File)
Sat, Mar 2, 5:47 PM
Unknown Object (File)
Sat, Mar 2, 5:47 PM
Unknown Object (File)
Sat, Mar 2, 5:43 PM
Unknown Object (File)
Sat, Mar 2, 5:43 PM
Subscribers

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

devel/rstudio/Makefile
16 ↗(On Diff #35397)

^ we have textproc/hs-pandoc -- couldn't you use that as a build_depends?

30 ↗(On Diff #35397)

why not simply

LIB_DEPENDS=libR.so:math/R

instead of both

BUILD_DEPENDS and RUN_DEPENDS
33 ↗(On Diff #35397)

^qmake_build should suffice, I guess?

42 ↗(On Diff #35397)

^ CMAKE_BUILD_TYPE should not be necessary

yuri marked 4 inline comments as done.

Requested changes.

devel/rstudio/Makefile
30 ↗(On Diff #35397)

I tried with the full path LIB_DEPENDS=R/lib/libR.so:math/R and it didn't work. I created this bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223735

Changed to LIB_DEPENDS=libR.so:math/R.

yuri marked an inline comment as done.Nov 18 2017, 5:17 PM
devel/rstudio/Makefile
30 ↗(On Diff #35397)

They rejected the bug, but it's not clear why LIB_DEPENDS=libR.so:math/R should work because of embedded library path. It's fuzzy in case of multiple files. This should be banned. -)

yuri marked an inline comment as done.Nov 18 2017, 5:21 PM
devel/rstudio/Makefile
24 ↗(On Diff #35418)

${LOCALBASE}/bin should never appear in a BUILD/RUN_DEPENDS.

pandoc:textproc/hs-pandoc

30 ↗(On Diff #35397)

It works because math/R/Makefile has USE_LDCONFIG=${PREFIX}/lib/R/lib.

That said, that library is only installed when the LIBR option is enabled, so depending upon it does not seem like a great idea.

BUILD/RUN is perfectly fine unless your port actually links against libR.so.

yuri marked 2 inline comments as done.Nov 18 2017, 6:04 PM
yuri added inline comments.
devel/rstudio/Makefile
30 ↗(On Diff #35397)

rstudio executable does depend on lib/R/lib/libR.so.3.4 when LIBR=on in math/R.

You are right, it will fail in case of LIBR=off. I will ask the math/R maintainer if he maybe can delete the LIBR option, as it appears that it might not be too useful.

yuri marked an inline comment as done.

.

yuri marked an inline comment as done.Nov 18 2017, 6:23 PM
devel/rstudio/Makefile
30 ↗(On Diff #35397)

Good idea, Yuri. That option seems like a ports breakage waiting to happen.

yuri marked an inline comment as done.Nov 18 2017, 6:28 PM
yuri added inline comments.
devel/rstudio/Makefile
30 ↗(On Diff #35397)

Thanks!
I wrote him, will see what he says.

yuri marked 2 inline comments as done.Nov 18 2017, 6:29 PM

math/R switched to always depending on gfortran (used to be that they used flang on amd64).
I updated RStudio accordingly (added unconditional USES=fortran).

devel/rstudio/distinfo
6 ↗(On Diff #35423)

^ you can drop pandoc now

Dropped pandoc from distinfo (reran 'make makesum')

yuri marked an inline comment as done.Nov 23 2017, 5:37 AM

This port is ready.

In D13139#275763, @yuri wrote:

@tcberner I think, this is ready.

I'll let you know once the hell of dependencies has been built :)

In D13139#275763, @yuri wrote:

@tcberner I think, this is ready.

I'll let you know once the hell of dependencies has been built :)

Ok!

devel/rstudio/Makefile
32 ↗(On Diff #35427)

qmake_build is missing

This revision now requires changes to proceed.Nov 25 2017, 11:10 AM
yuri marked an inline comment as done.Nov 25 2017, 9:25 PM
devel/rstudio/Makefile
8–10 ↗(On Diff #35783)

This should probably be better as:

https://s3.amazonaws.com/rstudio-buildtools/:buildtools

and...

12–14 ↗(On Diff #35783)
gin-${GIN_VERSION}.zip:buildtools \
gwt-${GWT_VERSION}.zip:buildtools \
mathjax-26.zip:buildtools
yuri marked 2 inline comments as done.Nov 27 2017, 5:58 PM

@tcberner Tobias, this port is ready. I actually used it, and it works fine.

Sorry, I haven't yet got it built :) I'll let you know in the morning.

Sorry, I haven't yet got it built :) I'll let you know in the morning.

Sure!

In D13139#277805, @yuri wrote:

Sorry, I haven't yet got it built :) I'll let you know in the morning.

Sure!

Unfortunately it fails to build here.

[100%] Built target rsession
--- src/gwt/CMakeFiles/gwt_build.dir/all ---
     [java]    Computing all possible rebind results for 'org.rstudio.studio.client.workbench.commands.Commands__AutoGenResources'
     [java]       Rebinding org.rstudio.studio.client.workbench.commands.Commands__AutoGenResources
     [java]          Invoking generator com.google.gwt.resources.rebind.context.InlineClientBundleGenerator
     [java]             [ERROR] Generator 'com.google.gwt.resources.rebind.context.InlineClientBundleGenerator' threw an exception while rebinding 'org.rstudio.studio.client.workbench.commands.Commands__AutoGenResources'
     [java] java.lang.NullPointerException

Looking at the Caused-bys:

[java] Caused by: javax.imageio.IIOException: Can't create cache file!
[java] Caused by: java.nio.file.FileSystemException: /tmp/imageio8035540891754922180.tmp: Too many open files
[java] Caused by: java.lang.NoClassDefFoundError: org/rstudio/core/rebind/AsyncShimGenerator$Helper
[java] Caused by: java.lang.ClassNotFoundException: org.rstudio.core.rebind.AsyncShimGenerator$Helper
[java] Caused by: java.io.FileNotFoundException: /wrkdirs/usr/ports/devel/rstudio/work/rstudio-1.1.385/src/gwt/bin/org/rstudio/core/rebind/AsyncShimGenerator$Helper.class (Too many open files)

I have to look into it tonight, sorry.

... having increased the max files for poudriere it looks better :)

devel/rstudio/Makefile
10 ↗(On Diff #35879)

^ three times the same one

yuri marked an inline comment as done.Dec 1 2017, 5:53 AM

Sorry, I forgot about the need to increase the max file number, otherwise I would have warned you. :)

In D13139#277875, @yuri wrote:

Sorry, I forgot about the need to increase the max file number, otherwise I would have warned you. :)

You should probalby add a comment hinting to that in the Makefile :)

Otherwise, it seems fine :) [of course I want to include my usual comment, that the port could be called RStudio :D]

This revision is now accepted and ready to land.Dec 1 2017, 9:25 PM
This revision was automatically updated to reflect the committed changes.
yuri retitled this revision from New port: devel/rstudio: Integrated development environment (IDE) for R to New port: devel/RStudio: Integrated development environment (IDE) for R.Dec 2 2017, 3:34 AM