When fetching distfiles inside digestgen(), ignore conditional parts
of RESTRICT since they don't apply unconditionally. Assume such
conditionals only apply on the client side where digestgen() does not
need to be called.
diff --git a/pym/portage/package/ebuild/digestgen.py b/pym/portage/package/ebuild/digestgen.py
index d6ac6fd..9408b14 100644
--- a/pym/portage/package/ebuild/digestgen.py
+++ b/pym/portage/package/ebuild/digestgen.py
@@ -13,6 +13,7 @@
 from portage import os
 from portage.const import MANIFEST2_REQUIRED_HASH
 from portage.dbapi.porttree import FetchlistDict
+from portage.dep import use_reduce
 from portage.exception import InvalidDependString, FileNotFound, \
 	PermissionDenied, PortagePackageException
 from portage.localization import _
@@ -108,9 +109,15 @@
 					for cpv in distfiles_map[myfile]:
 						uris.update(myportdb.getFetchMap(
 							cpv, mytree=mytree)[myfile])
-						restrict_fetch = 'fetch' in \
-							myportdb.aux_get(cpv, ['RESTRICT'],
-							mytree=mytree)[0].split()
+						restrict = myportdb.aux_get(cpv, ['RESTRICT'],
+							mytree=mytree)[0]
+						# Here we ignore conditional parts of RESTRICT since
+						# they don't apply unconditionally. Assume such
+						# conditionals only apply on the client side where
+						# digestgen() does not need to be called.
+						restrict = use_reduce(restrict,
+							flat=True, matchnone=True)
+						restrict_fetch = 'fetch' in restrict
 
 					try:
 						st = os.stat(os.path.join(