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 |