Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/ebuild/
Date: Fri, 29 Jun 2012 22:49:07
Message-Id: 1341009032.d477ed333db169615548743eeca1a190f6b84c17.dywi@gentoo
1 commit: d477ed333db169615548743eeca1a190f6b84c17
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Fri Jun 29 22:30:32 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Fri Jun 29 22:30:32 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=d477ed33
7
8 filter out dependencies provided by eclass
9
10 * dev-lang/R will automatically be removed from the ebuild dependencies
11 unless a version newer than the oldest in the portage tree (2.10.1)
12 is required
13
14 modified: roverlay/ebuild/depres.py
15
16 ---
17 roverlay/ebuild/depres.py | 39 ++++++++++++++++++++++++++++++++++++++-
18 1 files changed, 38 insertions(+), 1 deletions(-)
19
20 diff --git a/roverlay/ebuild/depres.py b/roverlay/ebuild/depres.py
21 index 6aca522..383831e 100644
22 --- a/roverlay/ebuild/depres.py
23 +++ b/roverlay/ebuild/depres.py
24 @@ -153,9 +153,46 @@ class EbuildDepRes ( object ):
25
26 def _make_result ( self ):
27 """Make evars using the depres result."""
28 + def dep_allowed ( dep ):
29 + #FIXME hardcoded
30 +
31 + # the oldest version of dev-lang/R in portage
32 + OLDEST_R_VERSION = ( 2, 20, 1 )
33 +
34 + if not dep:
35 + return False
36 +
37 + cat, sep, remainder = dep.partition ( '/' )
38 +
39 + if not sep:
40 + raise Exception ( "bad dependency string '%s'!" % dep )
41 +
42 + dep_list = remainder.split ( '-', 2 )
43 +
44 + if len ( dep_list ) < 2:
45 + ver = ( 0, )
46 + else:
47 + ver = tuple ( int (x) for x in dep_list [1].split ( '.' ) )
48 +
49 +
50 + if cat.endswith ( 'dev-lang' ) \
51 + and dep_list [0] == 'R' \
52 + and cat [0] != '!' \
53 + :
54 + if not ver:
55 + # filters out 'dev-lang/R'
56 + return False
57 + else:
58 + return ver > OLDEST_R_VERSION
59 +
60 + return True
61 + # --- end of dep_allowed (...) ---
62 +
63 _result = list()
64 for dep_type, channel in self._channels.items():
65 - deplist = list ( filter ( None, channel.collect_dependencies() ) )
66 + deplist = tuple ( filter (
67 + dep_allowed, channel.collect_dependencies() )
68 + )
69
70 if deplist is None:
71 ## FIXME: false positive: "empty" channel