Hi Neil, Thank you!
Neil Shephard <[email protected]> writes: > Thanks for taking the time to resolve this, that has worked nicely and > Rcpp now emerges. > > I continued trying to replace all the packages I have installed > directly through R with emerges from R_Overlay and opted to emerge the > meta-package tidyverse which pulls in a ton of packages as well as > more explicit packages that aren't pulled in. In doing so I've > encountered three problems.... > > 1. Some ebuilds try to pull in old versions. > 2. Some ebuilds from R_Overlay require "USE=minimal dev-lang/R" whilst > others require "USE=-minimal dev-lang/R" which makes it difficult to > emerge things. > 3. I found one package that is on CRAN but for which there is no ebuild. > > 1. Old Versions > ============ > > I found the following old version were pulled in.... > > | Package | R_Overlay Version | CRAN version | > |-----------|-------------------|---------------| > | xml2 | 0.1.2 | 1.2.0 | > | lubridate | 1.7.0 | 1.7.3 | This is because the parser fails on the new version. Taking xml2 for example, the "system requirements" field on CRAN is: libxml2: libxml2-dev (deb), libxml2-devel (rpm) The parser did not know "(deb)" this maps to dev-libs/libxml2, nor it could match 'libxml2-devel'. Before I had to fix these cornor cases manually. I am thinking of exposing the configuration file so that users can contribute to the new parsing rules. > 2. dev-lang/R [-]minimal conflicts > ========================== > > Tried emerging a bundle of packages and get conflicts relating to the > USE=minimal, also resulted in some slot conflicts that I couldn't > see. Its mostly the 'virtual/[pkg]' that require -minimal.... > > emerge -av ggridges ggraph ggrepel ggnetwork ggmosaic gglasso ggimage > ggforce gge ggalt ggROC ggHorizon ggExtra ggbeeswarm lme4 glmnet rpart > caret survival Hmisc rms epitools pwr TrialSize longpower simglm > clusterPower samplesize PowerTOST blockrand bookdown ... > > !!! Multiple package instances within a single package slot have been pulled > !!! into the dependency graph, resulting in a slot conflict: > > dev-lang/R:0 > > The following USE changes are necessary to proceed: > (see "package.use" in the portage(5) man page for more details) > # required by sci-CRAN/survival-2.41.3::R_Overlay > # required by sci-CRAN/multcomp-1.4.8::R_Overlay > # required by sci-CRAN/rms-5.1.2::R_Overlay > # required by rms (argument) >>=dev-lang/R-3.4.4 minimal > > Strangely virtual/rpart is listed as requiring USE=-minimal but the > rpart package itself requires USE=minimal. The short answer is, reinstall R with USE=minimal. Long story: dev-lang/R[-minimal] installs a set of R-recommended packages, https://cran.r-project.org/src/contrib/3.3.3/Recommended/ The packages are bundled with R. Then some package foo in R_Overlay, depends on Matrix-1.4. It is not a problem for R, because it does not track files and Matrix-1.4 overwrites the bundled Matrix-1.2.8. Portage is strict on file collisions. Therefore, we have introduced the virtuals. If you read the virtual ebuilds, e.g. matrix, it speaks for itself DESCRIPTION="Virtual of a R recommended package" RDEPEND=" || ( dev-lang/R[-minimal] sci-CRAN/Matrix )" > 3. Missing ebuild for one package > ========================== > > I was going to try emergeing the blogdown package > (https://cran.r-project.org/web/packages/blogdown/) but there is no ebuild > for it in > R_Overlay... > > # emerge -av blogdown > > emerge: there are no ebuilds to satisfy "blogdown". > > emerge: searching for similar names... > emerge: Maybe you meant any of these: sci-CRAN/bookdown, > sci-BIOC/ballgown, app-admin/logmon? Reading CRAN blogdown SystemRequirements: Hugo (<https://gohugo.io>) and Pandoc (<http://pandoc.org>) The parser will not know it is hugo (not yet packaged in Gentoo) and app-text/pandoc. > One minor caeveat is that I'm using a locally bumped version of R as > the bugreport I've filed for bumping in portage > (https://bugs.gentoo.org/632364) hasn't been addressed yet. I'm > currently using =dev-lang/R-3.4.4 Thanks for the bug report. > I'm unsure how the ebuilds in R_Overlay are generated, is it > automatically based on available builds? Yes, it has been a Google summer of code project by André Erdmann mentored by calchan: https://blogs.gentoo.org/calchan/2015/04/05/why-we-do-not-have-nor-want-r-packages-in-the-tree/ Now I find myself the only one left to do the server maintenance with our infra team. > Thanks for yours and others work on this, having R packages managed by > portage is a real boon, as it removes the need to update.packages(ask > = FALSE) so regularly. You're welcome. I myself is an active user of it. > If there is something I can do to help please let me know. Keep on discussion. If you have a connection with R development team, can we talk to them to impose a machine-readable format on the "SystemRequirements:"? Cheers, Benda
