Opened 6 years ago

Last modified 6 years ago

#46857 new defect

update rNMR to 1.1.8 using new xvfb-run port and xvfb subport as well as return to ${prefix}/lib/R/library

Reported by:… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: rNMR


The attached Portfile diff relies on the following tickets...

1) Ticket #46849 which restores the ability of the R package to find R packages placed in ${prefix}/lib/R/library

2) Ticket #46842 which adds the new xvfb-run package which provides the Debian xvfb-run utility.

3) Ticket #46856 which adds the new xvfb subport to the xorg-server package which the new xvfb-run package depends_run on.

The new rNMR Portfile.diff implements the following changes...

a) Moves the location of the installed rNMR R package back to its previous location in ${prefix}/lib/R/library.

b) Adds the missing "require_active_variants tk x11" as the rNMR package requires a tk to use X11.

c) Updates the rNMR package to the 1.1.8 release.

d) passes the "${prefix}/bin/R CMD INSTALL -l pkg --byte-compile --build ${distpath}/[lindex ${distfiles} 0]" command through "which xvfb-run" to avoid build failures due to the use of X11 in newer version of rNMR.r.

Attachments (1)

Portfile.diff (3.2 KB) - added by… 6 years ago.
Portfile diff to update to rNMR 1.1.8

Download all attachments as: .zip

Change History (3)

Changed 6 years ago by…

Attachment: Portfile.diff added

Portfile diff to update to rNMR 1.1.8

comment:1 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)

system -W ${worksrcpath} "which xvfb-run ${prefix}/bin/R CMD INSTALL -l pkg --byte-compile --build ${distpath}/[lindex ${distfiles} 0]"

No, let's not run an X11 server for the sake of installing a port. Can't you fix R to not try to use the X11 server if it isn't going to be rendering anything?

comment:2 Changed 6 years ago by…

There doesn't appear to be any way around this short of using Xvfb. The error occurs at...

* installing *source* package ‘rNMR’ ...
** R
** inst
** preparing package for lazy loading
Warning in fun(libname, pkgname) :
  couldn't connect to display "/private/tmp/"
Warning in X11(title = "Main Plot Window", width = defaultSettings$size.main[1],  :
  unable to open connection to X11 display ''
Error in .External2(C_X11, d$display, d$width, d$height, d$pointsize,  : 
  unable to start device X11
Error : unable to load R code in package ‘rNMR’
ERROR: lazy loading failed for package ‘rNMR’

and R has made lazy-loading mandatory for R CMD Install for some time now.

Last edited 6 years ago by… (previous) (diff)
Note: See TracTickets for help on using tickets.