1 |
Hi Neil,
|
2 |
|
3 |
Thank you!
|
4 |
|
5 |
Neil Shephard <nshephard@×××××.com> writes:
|
6 |
|
7 |
> Thanks for taking the time to resolve this, that has worked nicely and |
8 |
> Rcpp now emerges. |
9 |
> |
10 |
> I continued trying to replace all the packages I have installed |
11 |
> directly through R with emerges from R_Overlay and opted to emerge the |
12 |
> meta-package tidyverse which pulls in a ton of packages as well as |
13 |
> more explicit packages that aren't pulled in. In doing so I've |
14 |
> encountered three problems.... |
15 |
> |
16 |
> 1. Some ebuilds try to pull in old versions. |
17 |
|
18 |
> 2. Some ebuilds from R_Overlay require "USE=minimal dev-lang/R" whilst |
19 |
> others require "USE=-minimal dev-lang/R" which makes it difficult to |
20 |
> emerge things. |
21 |
|
22 |
> 3. I found one package that is on CRAN but for which there is no ebuild. |
23 |
> |
24 |
> 1. Old Versions |
25 |
> ============ |
26 |
> |
27 |
> I found the following old version were pulled in.... |
28 |
> |
29 |
> | Package | R_Overlay Version | CRAN version | |
30 |
> |-----------|-------------------|---------------| |
31 |
> | xml2 | 0.1.2 | 1.2.0 | |
32 |
> | lubridate | 1.7.0 | 1.7.3 | |
33 |
|
34 |
This is because the parser fails on the new version. Taking xml2 for
|
35 |
example, the "system requirements" field on CRAN is:
|
36 |
|
37 |
libxml2: libxml2-dev (deb), libxml2-devel (rpm)
|
38 |
|
39 |
The parser did not know "(deb)" this maps to dev-libs/libxml2, nor it
|
40 |
could match 'libxml2-devel'.
|
41 |
|
42 |
|
43 |
Before I had to fix these cornor cases manually. I am thinking of
|
44 |
exposing the configuration file so that users can contribute to the new
|
45 |
parsing rules.
|
46 |
|
47 |
> 2. dev-lang/R [-]minimal conflicts |
48 |
> ========================== |
49 |
> |
50 |
> Tried emerging a bundle of packages and get conflicts relating to the |
51 |
> USE=minimal, also resulted in some slot conflicts that I couldn't |
52 |
> see. Its mostly the 'virtual/[pkg]' that require -minimal.... |
53 |
> |
54 |
> emerge -av ggridges ggraph ggrepel ggnetwork ggmosaic gglasso ggimage |
55 |
> ggforce gge ggalt ggROC ggHorizon ggExtra ggbeeswarm lme4 glmnet rpart |
56 |
> caret survival Hmisc rms epitools pwr TrialSize longpower simglm |
57 |
> clusterPower samplesize PowerTOST blockrand bookdown ... |
58 |
> |
59 |
> !!! Multiple package instances within a single package slot have been pulled |
60 |
> !!! into the dependency graph, resulting in a slot conflict: |
61 |
> |
62 |
> dev-lang/R:0 |
63 |
> |
64 |
> The following USE changes are necessary to proceed: |
65 |
> (see "package.use" in the portage(5) man page for more details) |
66 |
> # required by sci-CRAN/survival-2.41.3::R_Overlay |
67 |
> # required by sci-CRAN/multcomp-1.4.8::R_Overlay |
68 |
> # required by sci-CRAN/rms-5.1.2::R_Overlay |
69 |
> # required by rms (argument) |
70 |
>>=dev-lang/R-3.4.4 minimal |
71 |
> |
72 |
> Strangely virtual/rpart is listed as requiring USE=-minimal but the |
73 |
> rpart package itself requires USE=minimal. |
74 |
|
75 |
The short answer is, reinstall R with USE=minimal.
|
76 |
|
77 |
Long story: dev-lang/R[-minimal] installs a set of R-recommended packages,
|
78 |
|
79 |
https://cran.r-project.org/src/contrib/3.3.3/Recommended/
|
80 |
|
81 |
The packages are bundled with R. Then some package foo in R_Overlay,
|
82 |
depends on Matrix-1.4. It is not a problem for R, because it does not
|
83 |
track files and Matrix-1.4 overwrites the bundled Matrix-1.2.8. Portage
|
84 |
is strict on file collisions. Therefore, we have introduced the
|
85 |
virtuals. If you read the virtual ebuilds, e.g. matrix, it speaks for
|
86 |
itself
|
87 |
|
88 |
DESCRIPTION="Virtual of a R recommended package"
|
89 |
RDEPEND="
|
90 |
|| (
|
91 |
dev-lang/R[-minimal]
|
92 |
sci-CRAN/Matrix
|
93 |
)"
|
94 |
|
95 |
> 3. Missing ebuild for one package |
96 |
> ========================== |
97 |
> |
98 |
> 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 |
99 |
> R_Overlay... |
100 |
> |
101 |
> # emerge -av blogdown |
102 |
> |
103 |
> emerge: there are no ebuilds to satisfy "blogdown". |
104 |
> |
105 |
> emerge: searching for similar names... |
106 |
> emerge: Maybe you meant any of these: sci-CRAN/bookdown, |
107 |
> sci-BIOC/ballgown, app-admin/logmon? |
108 |
|
109 |
Reading CRAN blogdown
|
110 |
|
111 |
SystemRequirements: Hugo (<https://gohugo.io>) and Pandoc
|
112 |
(<http://pandoc.org>)
|
113 |
|
114 |
The parser will not know it is hugo (not yet packaged in Gentoo) and
|
115 |
app-text/pandoc.
|
116 |
|
117 |
> One minor caeveat is that I'm using a locally bumped version of R as |
118 |
> the bugreport I've filed for bumping in portage |
119 |
> (https://bugs.gentoo.org/632364) hasn't been addressed yet. I'm |
120 |
> currently using =dev-lang/R-3.4.4 |
121 |
|
122 |
Thanks for the bug report.
|
123 |
|
124 |
> I'm unsure how the ebuilds in R_Overlay are generated, is it |
125 |
> automatically based on available builds? |
126 |
|
127 |
Yes, it has been a Google summer of code project by André Erdmann
|
128 |
mentored by calchan:
|
129 |
|
130 |
https://blogs.gentoo.org/calchan/2015/04/05/why-we-do-not-have-nor-want-r-packages-in-the-tree/
|
131 |
|
132 |
Now I find myself the only one left to do the server maintenance with
|
133 |
our infra team.
|
134 |
|
135 |
> Thanks for yours and others work on this, having R packages managed by |
136 |
> portage is a real boon, as it removes the need to update.packages(ask |
137 |
> = FALSE) so regularly. |
138 |
|
139 |
You're welcome. I myself is an active user of it.
|
140 |
|
141 |
> If there is something I can do to help please let me know. |
142 |
|
143 |
Keep on discussion.
|
144 |
|
145 |
If you have a connection with R development team, can we talk to them to
|
146 |
impose a machine-readable format on the "SystemRequirements:"?
|
147 |
|
148 |
Cheers,
|
149 |
Benda |