aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-08-29 18:02:24 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2020-10-13 17:55:16 -0400
commita20d7ad67d3c876785901349cfc990e4bf31778b (patch)
tree15b70a3572fc2b836381b1c781717b1e8248c7c4 /mesonbuild/wrap
parent8281bd9e23aacf86adebec5e50a13f9bd344aec1 (diff)
downloadmeson-a20d7ad67d3c876785901349cfc990e4bf31778b.zip
meson-a20d7ad67d3c876785901349cfc990e4bf31778b.tar.gz
meson-a20d7ad67d3c876785901349cfc990e4bf31778b.tar.bz2
wrap: Use sub-subproject packagefiles
Diffstat (limited to 'mesonbuild/wrap')
-rw-r--r--mesonbuild/wrap/wrap.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py
index 8380661..ef35c6d 100644
--- a/mesonbuild/wrap/wrap.py
+++ b/mesonbuild/wrap/wrap.py
@@ -90,8 +90,9 @@ class WrapNotFoundException(WrapException):
pass
class PackageDefinition:
- def __init__(self, fname: str):
+ def __init__(self, fname: str, filesdir: str = None):
self.filename = fname
+ self.filesdir = filesdir
self.type = None # type: T.Optional[str]
self.values = {} # type: T.Dict[str, str]
self.provided_deps = {} # type: T.Dict[str, T.Optional[str]]
@@ -184,7 +185,7 @@ class Resolver:
if not i.endswith('.wrap'):
continue
fname = os.path.join(self.subdir_root, i)
- wrap = PackageDefinition(fname)
+ wrap = PackageDefinition(fname, self.filesdir)
self.wraps[wrap.name] = wrap
if wrap.directory in dirs:
dirs.remove(wrap.directory)
@@ -193,7 +194,7 @@ class Resolver:
if i in ['packagecache', 'packagefiles']:
continue
fname = os.path.join(self.subdir_root, i)
- wrap = PackageDefinition(fname)
+ wrap = PackageDefinition(fname, self.filesdir)
self.wraps[wrap.name] = wrap
for wrap in self.wraps.values():
@@ -514,7 +515,7 @@ class Resolver:
else:
from ..interpreterbase import FeatureNew
FeatureNew('Local wrap patch files without {}_url'.format(what), '0.55.0').use(self.current_subproject)
- path = Path(self.filesdir) / filename
+ path = Path(self.wrap.filesdir) / filename
if not path.exists():
raise WrapException('File "{}" does not exist'.format(path))
@@ -538,7 +539,7 @@ class Resolver:
from ..interpreterbase import FeatureNew
FeatureNew('patch_directory', '0.55.0').use(self.current_subproject)
patch_dir = self.wrap.values['patch_directory']
- src_dir = os.path.join(self.filesdir, patch_dir)
+ src_dir = os.path.join(self.wrap.filesdir, patch_dir)
if not os.path.isdir(src_dir):
raise WrapException('patch directory does not exists: {}'.format(patch_dir))
self.copy_tree(src_dir, self.dirname)