aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-04-13 03:34:13 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-04-13 04:48:03 +0530
commit3acda1d9982176636ba45bcca41a847f4b6f6af2 (patch)
treeb4fbc04cde0ff2446f9c7b559e76753a7fa0e192 /mesonbuild/dependencies
parenteb07ad867e97b6baaef2f1d7de080092c0a36ccc (diff)
downloadmeson-3acda1d9982176636ba45bcca41a847f4b6f6af2.zip
meson-3acda1d9982176636ba45bcca41a847f4b6f6af2.tar.gz
meson-3acda1d9982176636ba45bcca41a847f4b6f6af2.tar.bz2
PkgConfigDependency: dicts aren't hashable, so use frozenset
Diffstat (limited to 'mesonbuild/dependencies')
-rw-r--r--mesonbuild/dependencies/base.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 8b07a21..4127081 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -462,17 +462,20 @@ class PkgConfigDependency(ExternalDependency):
self.version_reqs)
def _call_pkgbin_real(self, args, env):
- if not env:
- env = os.environ
p, out = Popen_safe(self.pkgbin.get_command() + args, env=env)[0:2]
return p.returncode, out.strip()
def _call_pkgbin(self, args, env=None):
+ if env is None:
+ fenv = env
+ env = os.environ
+ else:
+ fenv = frozenset(env.items())
targs = tuple(args)
cache = PkgConfigDependency.pkgbin_cache
- if (self.pkgbin, targs, env) not in cache:
- cache[(self.pkgbin, targs, env)] = self._call_pkgbin_real(args, env)
- return cache[(self.pkgbin, targs, env)]
+ if (self.pkgbin, targs, fenv) not in cache:
+ cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env)
+ return cache[(self.pkgbin, targs, fenv)]
def _convert_mingw_paths(self, args):
'''