summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2012-11-24 13:28:44 +0100
committerArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2012-11-24 13:28:44 +0100
commit44f2b8f9603964abe230cfe8ef75831a82855da5 (patch)
treeb85e07c7ba395517fa2531c36068fc38d841cd18 /pym/_emerge
parentcfe348a4073a53b44f3850b9328abffc98121f26 (diff)
downloadportage-44f2b8f9603964abe230cfe8ef75831a82855da5.tar.gz
portage-44f2b8f9603964abe230cfe8ef75831a82855da5.tar.bz2
portage-44f2b8f9603964abe230cfe8ef75831a82855da5.zip
EAPI="5-progress": Add automatic unpack dependencies.
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/EbuildMetadataPhase.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/_emerge/EbuildMetadataPhase.py b/pym/_emerge/EbuildMetadataPhase.py
index a6c515a4c..f351b1650 100644
--- a/pym/_emerge/EbuildMetadataPhase.py
+++ b/pym/_emerge/EbuildMetadataPhase.py
@@ -12,6 +12,8 @@ from portage import os
from portage import _encodings
from portage import _unicode_decode
from portage import _unicode_encode
+from portage.dep import extract_unpack_dependencies
+from portage.eapi import eapi_has_automatic_unpack_dependencies
import errno
import fcntl
@@ -180,6 +182,13 @@ class EbuildMetadataPhase(SubProcess):
metadata["_eclasses_"] = {}
metadata.pop("INHERITED", None)
+ if eapi_has_automatic_unpack_dependencies(metadata["EAPI"]):
+ repo = self.portdb.repositories.get_name_for_location(self.repo_path)
+ unpackers = self.settings.unpack_dependencies.get(repo, {}).get(metadata["EAPI"], {})
+ unpack_dependencies = extract_unpack_dependencies(metadata["SRC_URI"], unpackers)
+ if unpack_dependencies:
+ metadata["DEPEND"] += (" " if metadata["DEPEND"] else "") + unpack_dependencies
+
# If called by egencache, this cache write is
# undesirable when metadata-transfer is disabled.
if self.write_auxdb is not False: