Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: /, simple-deprules.d/
Date: Fri, 29 Jun 2012 22:49:19
Message-Id: 1341009745.2228865f328434a781ab91c2e8a81daac5ff8e94.dywi@gentoo
1 commit: 2228865f328434a781ab91c2e8a81daac5ff8e94
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Fri Jun 29 22:42:25 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Fri Jun 29 22:42:25 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=2228865f
7
8 config files update
9
10 * simple-deprules.conf explains the usage of such files
11 * rules are in simple-deprules.d/ now
12 * added rule files to R-overlay.conf
13
14 modified: R-overlay.conf
15 modified: simple-deprules.conf
16 new file: simple-deprules.d/R
17 new file: simple-deprules.d/other
18 new file: simple-deprules.d/selfdeps
19
20 ---
21 R-overlay.conf | 6 ++-
22 simple-deprules.conf | 150 +++++++++++++++++++++++++++++++++++++-------
23 simple-deprules.d/R | 8 +++
24 simple-deprules.d/other | 1 +
25 simple-deprules.d/selfdeps | 8 +++
26 5 files changed, 148 insertions(+), 25 deletions(-)
27
28 diff --git a/R-overlay.conf b/R-overlay.conf
29 index b6eb8d9..7c06d9f 100644
30 --- a/R-overlay.conf
31 +++ b/R-overlay.conf
32 @@ -8,7 +8,11 @@ LOG_FILE_UNRESOLVABLE = log/dep_unresolvable.log
33
34 # SIMPLE_RULES_FILE lists the rule files for dependency resolution
35 # SIMPLE_RULES_FILE ::= "<file>[ <file>]"
36 -SIMPLE_RULES_FILE = "simple-deprules.conf"
37 +SIMPLE_RULES_FILE = "
38 +simple-deprules.d/R
39 +simple-deprules.d/selfdeps
40 +simple-deprules.d/other
41 +"
42
43 OVERLAY_NAME = ROverlay
44 OVERLAY_DIR = overlay-root
45
46 diff --git a/simple-deprules.conf b/simple-deprules.conf
47 index d0d7321..b8fc3b4 100644
48 --- a/simple-deprules.conf
49 +++ b/simple-deprules.conf
50 @@ -1,24 +1,62 @@
51 +#! NOPARSE
52 +#
53 # simple dependency rules file
54 -# you can specify single and multiline rules here
55 +#
56 +# This file has been replaced by the dep rule files in simple-deprules.d/,
57 +# but explains the syntax.
58 +#
59 +# === Syntax ===
60 +#
61 +# You can specify single and multiline rules here,
62 +# the basic syntax is "<portage identifier> <matches> <keyword(s)>".
63 +#
64 +#
65 +# There are two types of dependency string matching:
66 +# standard : a dep string has to match exactly
67 +# "R(>=2.15)" != "R" => UNRESOLVABLE
68 +#
69 +# fuzzy : the resolver will try to find a match using string
70 +# interpolation/metrics
71 +# "R(>=2.15)" ~ "R" => ">=dev-lang/R-2.15"
72 +# "R(!=2.15)" ~ "R" => "(!dev-lang/R-2.15 dev-lang/R)"
73 +# "R(>=2.15)" % "R" => <ignored> (% is fuzzy ignore)
74 +#
75 #
76 # a single line entry looks like
77 -## <portage package> :: <dependency string>
78 +## (1) <portage package> :: <dependency string> (standard simple dep)
79 +## (2) ~<portage package> :: <dependency string> (fuzzy simple dep)
80 +## (3) <dependency string> (standard selfdep)
81 +## (4) ~<dependency string> (fuzzy selfdep)
82 +## (5) ! :: <dependency string> (standard ignored dep)
83 +## (6) % :: <dependency string> (fuzzy ignored dep)
84 +#
85 +# Dependency strings are case-insensitive.
86 +#
87 +# (3) and (4) are shortcuts for [~]<overlay category>/<dep> :: <dep>,
88 +# e.g. "fftw" matches "fftw" and resolves to "sci-R/fftw".
89 +# This is useful 'cause you don't have to use a hardcoded overlay category
90 +# here.
91 +# (5) and (6) are ways to define deps that should be ignored
92 +# (=resolved to nothing). They're identical to (1)/(2), but use ! / % as
93 +# portage package.
94 +#
95 #
96 # a multiline entry looks like
97 -## <portage package> {
98 +## [~]<portage package> {
99 ## <dependency string 1>
100 ## <dependency string 2>
101 ## ...
102 ## <dependency string n>
103 ## }
104 #
105 -# ignored dependency strings can be written with '!' as portage package, e.g.
106 -## ! :: dev-lang/R
107 +# selfdeps cannot be declared in a multiline rule
108 #
109 # The precedence order of the rules in this file is
110 ## single line ignore > single line > multi line ignore > multi line
111 +#### this has to be fixed in the dep rule reader
112 #
113 -# Note that you cannot write comments in a multiline rule, writing
114 +# Note:
115 +# * you cannot write comments in a multiline rule, writing
116 ## dev-lang/R {
117 ## # the following dep should resolve to R
118 ## R(>= 2.15.0)
119 @@ -26,32 +64,96 @@
120 # means that both strings '# the following dep should resolve to R' and
121 # 'R(>= 2.15.0)' resolve to 'dev-lang/R'!
122 #
123 +# * compound portage dependency statements (man 5 ebuild) are supported,
124 +# but only in standard simple deps, e.g.
125 +## || ( <dev-lang/R-2.14.0 >dev-lang/R-2.14.0 ) :: R (!= 2.14.0)
126 +#
127 +#
128
129 -# the entries in this file are used to test ebuild creation of seewave_1.6.3.tar.gz.
130 +# === Examples ===
131
132 -# provided by eclass
133 -! {
134 - R(>= 2.15.0)
135 -}
136 +# == single line entries ==
137
138 -# used to test rule priorities
139 ->=dev-lang/R-2.15.0 {
140 - R(>= 2.15.0)
141 -}
142 +# = standard simple dep =
143 +# this rule matches 'R (>= 2.15.0)' and resolves it as 'dev-lang/R-2.15.0'
144 +dev-lang/R-2.15.0 :: R (>= 2.15.0)
145 +
146 +# = fuzzy simple dep =
147 +
148 +# this rule matches
149 +## (a) R <version modifier?> <version>
150 +## (b) R (<version modifier?> <version>)
151 +## (c) R [<version modifier?> <version>]
152 +## (d) R {<version modifier?> <version>}
153 +## (e) R
154 +# variant (a) is whitespace sensitive (>= 1 whitespace char between R and
155 +# the version modifier/version), the others ignore all whitespace chars.
156 +# variant (e) is the standard simple rule behaviour.
157 +#
158 +# the dep string is then resolved as <version modifier?>dev-lang/R-<version>
159 +#
160 +# version modifier is optional and can be one out of {>=, <=, >, <, !=, =, ! },
161 +# where ! / != are being resolved a 'specific version is forbidden'.
162 +# '>=' is assumed as version modifier if it is left out and a specific version
163 +# is required.
164 +#
165 +# examples matches:
166 +# (a) r 2.13 -> >=dev-lang/R-2.13
167 +# (b) R(>= 2.14) -> >=dev-lang/R-2.14
168 +# (c) R [<2.10] -> <dev-lang/R-2.10
169 +# (d) r{ !2.12 } -> ( !=dev-lang/R-2.12 dev-lang/R )
170 +# (e) R -> dev-lang/R
171 +#
172 +~dev-lang/R :: R
173
174 -# for R_SUGGESTS
175 -sci-R/sound :: sound
176 +# = standard selfdep =
177 +# resolves "tuneR","tuner",.. as "sci-R/tuneR"
178 +tuneR
179
180 -sci-libs/fftw :: FFTW
181 +# = fuzzy selfdep =
182 +# * see fuzzy simple dep
183 +# example match: resolves "zoo 1.10" as ">=sci-R/zoo-1.10"
184 +~zoo
185
186 -media-libs/flac :: FLAC
187 +# = standard ignored dep =
188 +# ignores "R"
189 +! :: R
190
191 +# = fuzzy ignored dep =
192 +# ignores everything that fuzzy-matches R (see fuzzy simple dep)
193 +% :: R
194
195 -! :: rgl
196 -! :: rpanel
197 +# == multi line entries ==
198
199 +# = simple multiline rule =
200 +# matches "R (>= 2.15)", "R" and resolves them as dev-lang/R
201 +dev-lang/R {
202 + R (>= 2.15)
203 + R
204 +}
205 +
206 +# = fuzzy multiline rule =
207 +~dev-lang/R {
208 + R
209 + the R programming language
210 +}
211 +
212 +# = ignored dep multiline rule =
213 +# equals ! :: see README
214 ! {
215 - tcltk
216 - tuneR
217 - audio
218 + see README
219 }
220 +
221 +# = fuzzy ignored dep multiline rule =
222 +# equals % :: R
223 +% {
224 + R
225 +}
226 +
227 +# === Extra ===
228 +
229 +# There's a special keyword that tells the rule reader to stop parsing,
230 +# see line #1. It has to be exactly '#! NOPARSE' or '#! BREAK', with no
231 +# additional content at the end of the line.
232 +#! NOPARSE
233 +#! BREAK
234
235 diff --git a/simple-deprules.d/R b/simple-deprules.d/R
236 new file mode 100644
237 index 0000000..0bdba02
238 --- /dev/null
239 +++ b/simple-deprules.d/R
240 @@ -0,0 +1,8 @@
241 +# R versions available in portage:
242 +# 2.10.1, 2.14.1, 2.14.2, 2.15.0, 2.15.1
243 +
244 +# R is always compiled with '--enabled-R-shlib'; from: 'Rserve_0.6.8'
245 +! :: R must be compiled with --enable-R-shlib if the server is to be built
246 +
247 +# using fuzzy dep matches
248 +~dev-lang/R :: R
249
250 diff --git a/simple-deprules.d/other b/simple-deprules.d/other
251 new file mode 100644
252 index 0000000..8b13789
253 --- /dev/null
254 +++ b/simple-deprules.d/other
255 @@ -0,0 +1 @@
256 +
257
258 diff --git a/simple-deprules.d/selfdeps b/simple-deprules.d/selfdeps
259 new file mode 100644
260 index 0000000..d3306ad
261 --- /dev/null
262 +++ b/simple-deprules.d/selfdeps
263 @@ -0,0 +1,8 @@
264 +~fftw
265 +~sound
266 +~audio
267 +~rgl
268 +~rpanel
269 +~tuneR
270 +~flac
271 +~tcltk