diff --git a/dev-util/meson/Manifest b/dev-util/meson/Manifest
index 5f493e1..1b49d21 100644
--- a/dev-util/meson/Manifest
+++ b/dev-util/meson/Manifest
@@ -1 +1 @@
-DIST meson-0.44.1.tar.gz 1136337 SHA256 b060d8115be24d89675b9e0ab7278b970088c48c12a450b30d0d3005d58bc13c SHA512 3c350d1752ae4463ec47060e051d79cc0855385e9552deff34fad8431175fb5d0f04b51a242f8f8f737726d06e504339d6b02a5aa9558ee673fb867dbb4e5b2d WHIRLPOOL 168cef7d8ec202397347e34197dba01e65e12a1fb013df9a5213be3cc934ad9b4049113767d7b7ccd1e876419891986a72ae5106c902d1696f49c5b0da0f6ede
+DIST meson-0.54.2.tar.gz 1691270 BLAKE2B c1ba552b5d56e0b6b73de46ec6bc90fb520665688d2f5c809baf84749d3bb1dec1fe0131136e1539369fa666ae2427c8fccd5928cbda0b8e3e1edb4a5dc8abbc SHA512 ad5ec826879d3d85088ca40d768599a4c8e66983f2a6a7ebe8ab12051cad18b4ade9a2afd30fe543b0a75900822992c8ef7161d369489e2211dd7a1a8ccc32ed
diff --git a/dev-util/meson/files/0.54.2-multilib-clang.patch b/dev-util/meson/files/0.54.2-multilib-clang.patch
new file mode 100644
index 0000000..b3aa369
--- /dev/null
+++ b/dev-util/meson/files/0.54.2-multilib-clang.patch
@@ -0,0 +1,181 @@
+From 9dc3ca2c1c9fbb47e731551c6432df144f725261 Mon Sep 17 00:00:00 2001
+From: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
+Date: Thu, 21 May 2020 18:58:47 +0300
+Subject: [PATCH] compilers: add fetching of define list for clang
+
+Simmilar to gcc, the list of pre-processor defines can be fetched with
+`-dM -E` option. The way cpu_family is determined on linux relies on
+this list.
+
+Fixes incorrect value of cpu_family on linux, when crosscompiling:
+
+```
+CC="clang -m32" meson ./build
+```
+
+Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
+Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
+---
+ mesonbuild/compilers/c.py            |  5 +++--
+ mesonbuild/compilers/cpp.py          |  5 +++--
+ mesonbuild/compilers/fortran.py      |  2 +-
+ mesonbuild/compilers/mixins/clang.py |  9 ++++++++-
+ mesonbuild/compilers/objc.py         |  2 +-
+ mesonbuild/compilers/objcpp.py       |  2 +-
+ mesonbuild/environment.py            | 26 +++++++++++++++++++++++++-
+ 7 files changed, 42 insertions(+), 9 deletions(-)
+
+diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
+index 1bc9e84998..aac99b4269 100644
+--- a/mesonbuild/compilers/c.py
++++ b/mesonbuild/compilers/c.py
+@@ -86,9 +86,10 @@ class ClangCCompiler(ClangCompiler, CCompiler):
+     _C18_VERSION = '>=8.0.0'
+ 
+     def __init__(self, exelist, version, for_machine: MachineChoice,
+-                 is_cross, info: 'MachineInfo', exe_wrapper=None, **kwargs):
++                 is_cross, info: 'MachineInfo', exe_wrapper=None,
++                 defines: T.Optional[T.List[str]] = None, **kwargs):
+         CCompiler.__init__(self, exelist, version, for_machine, is_cross, info, exe_wrapper, **kwargs)
+-        ClangCompiler.__init__(self)
++        ClangCompiler.__init__(self, defines)
+         default_warn_args = ['-Wall', '-Winvalid-pch']
+         self.warn_args = {'0': [],
+                           '1': default_warn_args,
+diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
+index f4bcfa9f89..478a68c13c 100644
+--- a/mesonbuild/compilers/cpp.py
++++ b/mesonbuild/compilers/cpp.py
+@@ -155,10 +155,11 @@ def _find_best_cpp_std(self, cpp_std):
+ 
+ class ClangCPPCompiler(ClangCompiler, CPPCompiler):
+     def __init__(self, exelist, version, for_machine: MachineChoice,
+-                 is_cross, info: 'MachineInfo', exe_wrapper=None, **kwargs):
++                 is_cross, info: 'MachineInfo', exe_wrapper=None,
++                 defines : T.Optional[T.List[str]] = None, **kwargs):
+         CPPCompiler.__init__(self, exelist, version, for_machine, is_cross,
+                              info, exe_wrapper, **kwargs)
+-        ClangCompiler.__init__(self)
++        ClangCompiler.__init__(self, defines)
+         default_warn_args = ['-Wall', '-Winvalid-pch', '-Wnon-virtual-dtor']
+         self.warn_args = {'0': [],
+                           '1': default_warn_args,
+diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py
+index c155b5b4f3..af83c0e564 100644
+--- a/mesonbuild/compilers/fortran.py
++++ b/mesonbuild/compilers/fortran.py
+@@ -424,7 +424,7 @@ def __init__(self, exelist, version, for_machine: MachineChoice,
+                  **kwargs):
+         FortranCompiler.__init__(self, exelist, version, for_machine,
+                                  is_cross, info, exe_wrapper, **kwargs)
+-        ClangCompiler.__init__(self)
++        ClangCompiler.__init__(self, [])
+         self.id = 'flang'
+         default_warn_args = ['-Minform=inform']
+         self.warn_args = {'0': [],
+diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py
+index 1c0ee452f4..0ee10ad5d5 100644
+--- a/mesonbuild/compilers/mixins/clang.py
++++ b/mesonbuild/compilers/mixins/clang.py
+@@ -42,9 +42,10 @@
+ }  # type: T.Dict[str, T.List[str]]
+ 
+ class ClangCompiler(GnuLikeCompiler):
+-    def __init__(self):
++    def __init__(self, defines: T.Optional[T.Dict[str, str]]):
+         super().__init__()
+         self.id = 'clang'
++        self.defines = defines or {}
+         self.base_options.append('b_colorout')
+         # TODO: this really should be part of the linker base_options, but
+         # linkers don't have base_options.
+@@ -56,6 +57,12 @@ def __init__(self):
+     def get_colorout_args(self, colortype: str) -> T.List[str]:
+         return clang_color_args[colortype][:]
+ 
++    def has_builtin_define(self, define: str) -> bool:
++        return define in self.defines
++
++    def get_builtin_define(self, define: str) -> T.Optional[str]:
++        return self.defines.get(define)
++
+     def get_optimization_args(self, optimization_level: str) -> T.List[str]:
+         return clang_optimization_args[optimization_level]
+ 
+diff --git a/mesonbuild/compilers/objc.py b/mesonbuild/compilers/objc.py
+index 52d258dcdb..d351c8826a 100644
+--- a/mesonbuild/compilers/objc.py
++++ b/mesonbuild/compilers/objc.py
+@@ -86,7 +86,7 @@ def __init__(self, exelist, version, for_machine: MachineChoice,
+                  **kwargs):
+         ObjCCompiler.__init__(self, exelist, version, for_machine, is_cross,
+                               info, exe_wrapper, **kwargs)
+-        ClangCompiler.__init__(self)
++        ClangCompiler.__init__(self, [])
+         default_warn_args = ['-Wall', '-Winvalid-pch']
+         self.warn_args = {'0': [],
+                           '1': default_warn_args,
+diff --git a/mesonbuild/compilers/objcpp.py b/mesonbuild/compilers/objcpp.py
+index c8b422b35d..10555b4551 100644
+--- a/mesonbuild/compilers/objcpp.py
++++ b/mesonbuild/compilers/objcpp.py
+@@ -84,7 +84,7 @@ def __init__(self, exelist, version, for_machine: MachineChoice,
+                  is_cross, info: 'MachineInfo', exe_wrapper=None,
+                  **kwargs):
+         ObjCPPCompiler.__init__(self, exelist, version, for_machine, is_cross, info, exe_wrapper, **kwargs)
+-        ClangCompiler.__init__(self)
++        ClangCompiler.__init__(self, [])
+         default_warn_args = ['-Wall', '-Winvalid-pch', '-Wnon-virtual-dtor']
+         self.warn_args = {'0': [],
+                           '1': default_warn_args,
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 8fad6288b1..cb6ae7d514 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -726,6 +726,28 @@ def get_lcc_version_from_defines(defines):
+         minor = defines.get('__LCC_MINOR__', '0')
+         return dot.join((generation, major, minor))
+ 
++    @staticmethod
++    def get_clang_compiler_defines(compiler):
++        """
++        Get the list of Clang pre-processor defines
++        """
++        args = compiler + ['-E', '-dM', '-']
++        p, output, error = Popen_safe(args, write='', stdin=subprocess.PIPE)
++        if p.returncode != 0:
++            raise EnvironmentException('Unable to get clang pre-processor defines:\n' + output + error)
++        defines = {}
++        for line in output.split('\n'):
++            if not line:
++                continue
++            d, *rest = line.split(' ', 2)
++            if d != '#define':
++                continue
++            if len(rest) == 1:
++                defines[rest] = True
++            if len(rest) == 2:
++                defines[rest[0]] = rest[1]
++        return defines
++
+     def _get_compilers(self, lang, for_machine):
+         '''
+         The list of compilers is detected in the exact same way for
+@@ -1043,6 +1065,8 @@ def sanitize(p):
+             if 'clang' in out:
+                 linker = None
+ 
++                defines = self.get_clang_compiler_defines(compiler)
++
+                 # Even if the for_machine is darwin, we could be using vanilla
+                 # clang.
+                 if 'Apple' in out:
+@@ -1063,7 +1087,7 @@ def sanitize(p):
+ 
+                 return cls(
+                     ccache + compiler, version, for_machine, is_cross, info,
+-                    exe_wrap, full_version=full_version, linker=linker)
++                    exe_wrap, defines, full_version=full_version, linker=linker)
+ 
+             if 'Intel(R) C++ Intel(R)' in err:
+                 version = search_version(err)
diff --git a/dev-util/meson/meson-0.44.1.ebuild b/dev-util/meson/meson-0.44.1.ebuild
deleted file mode 100644
index 2598179..0000000
--- a/dev-util/meson/meson-0.44.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{4,5,6} )
-
-if [[ ${PV} = *9999* ]]; then
-	EGIT_REPO_URI="https://github.com/mesonbuild/meson"
-	inherit git-r3
-else
-	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-	KEYWORDS="*"
-fi
-
-inherit distutils-r1
-
-DESCRIPTION="Open source build system"
-HOMEPAGE="http://mesonbuild.com/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-RESTRICT="test"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND=""
-
-python_test() {
-	${EPYTHON} run_tests.py || die
-}
-
-python_install_all() {
-	distutils-r1_python_install_all
-
-	insinto /usr/share/vim/vimfiles
-	doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
-	insinto /usr/share/zsh/site-functions
-	doins data/shell-completions/zsh/_meson
-}
diff --git a/dev-util/meson/meson-0.54.2.ebuild b/dev-util/meson/meson-0.54.2.ebuild
new file mode 100644
index 0000000..f4fcf8e
--- /dev/null
+++ b/dev-util/meson/meson-0.54.2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2016-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS="rdepend"
+
+if [[ ${PV} = *9999* ]]; then
+	EGIT_REPO_URI="https://github.com/mesonbuild/meson"
+	inherit git-r3
+else
+	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+	KEYWORDS="*"
+fi
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Open source build system"
+HOMEPAGE="https://mesonbuild.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+	test? (
+		dev-libs/glib:2
+		dev-libs/gobject-introspection
+		dev-util/ninja
+		dev-vcs/git
+		sys-libs/zlib[static-libs(+)]
+		virtual/pkgconfig
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}"/0.54.2-multilib-clang.patch
+)
+
+python_prepare_all() {
+	local disable_unittests=(
+		# ASAN and sandbox both want control over LD_PRELOAD
+		# https://bugs.gentoo.org/673016
+		-e 's/test_generate_gir_with_address_sanitizer/_&/'
+
+		# ASAN is unsupported on some targets
+		# https://bugs.gentoo.org/692822
+		-e 's/test_pch_with_address_sanitizer/_&/'
+
+		# https://github.com/mesonbuild/meson/issues/7203
+		-e 's/test_templates/_&/'
+
+		# Broken due to python2 wrapper
+		-e 's/test_python_module/_&/'
+	)
+
+	sed -i "${disable_unittests[@]}" run_unittests.py || die
+
+	# Broken due to python2 script created by python_wrapper_setup
+	rm -r "test cases/frameworks/1 boost" || die
+
+	distutils-r1_python_prepare_all
+}
+
+src_test() {
+	tc-export PKG_CONFIG
+	if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
+		ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
+	else
+		# https://bugs.gentoo.org/687792
+		unset PKG_CONFIG
+		distutils-r1_src_test
+	fi
+}
+
+python_test() {
+	(
+		# test_meson_installed
+		unset PYTHONDONTWRITEBYTECODE
+
+		# test_cross_file_system_paths
+		unset XDG_DATA_HOME
+
+		${EPYTHON} -u run_tests.py
+	) || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+	distutils-r1_python_install_all
+
+	insinto /usr/share/vim/vimfiles
+	doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
+	insinto /usr/share/zsh/site-functions
+	doins data/shell-completions/zsh/_meson
+}
diff --git a/dev-util/meson/metadata.xml b/dev-util/meson/metadata.xml
index 301e400..d762c3a 100644
--- a/dev-util/meson/metadata.xml
+++ b/dev-util/meson/metadata.xml
@@ -2,13 +2,13 @@
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
 	<maintainer type="person">
-		<email>williamh@gentoo.org</email>
-		<name>William Hubbs</name>
-	</maintainer>
-	<maintainer type="person">
 		<email>floppym@gentoo.org</email>
 		<name>Mike Gilbert</name>
 	</maintainer>
+	<maintainer type="person">
+		<email>williamh@gentoo.org</email>
+		<name>William Hubbs</name>
+	</maintainer>
 	<upstream>
 		<remote-id type="pypi">meson</remote-id>
 	</upstream>
diff --git a/metadata/md5-cache/dev-util/meson-0.44.1 b/metadata/md5-cache/dev-util/meson-0.44.1
deleted file mode 100644
index 4596606..0000000
--- a/metadata/md5-cache/dev-util/meson-0.44.1
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)] dev-python/setuptools[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-DESCRIPTION=Open source build system
-EAPI=6
-HOMEPAGE=http://mesonbuild.com/
-IUSE=python_targets_python3_6
-KEYWORDS=*
-LICENSE=Apache-2.0
-RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python3_6 )
-RESTRICT=test
-SLOT=0
-SRC_URI=mirror://pypi/m/meson/meson-0.44.1.tar.gz
-_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	eutils	06133990e861be0fe60c2b428fd025d9	multibuild	40fe59465edacd730c644ec2bc197809	multilib	b2f01ad412baf81650c23fcf0975fa33	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	ce1cd23cfdc1848e8e32743efe34f299	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=1bd34eb933febec4ee29ba7e41816574
diff --git a/metadata/md5-cache/dev-util/meson-0.54.2 b/metadata/md5-cache/dev-util/meson-0.54.2
new file mode 100644
index 0000000..50dd58b
--- /dev/null
+++ b/metadata/md5-cache/dev-util/meson-0.54.2
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=test? ( dev-libs/glib:2 dev-libs/gobject-introspection dev-util/ninja dev-vcs/git sys-libs/zlib[static-libs(+)] virtual/pkgconfig )
+DESCRIPTION=Open source build system
+EAPI=7
+HOMEPAGE=https://mesonbuild.com/
+IUSE=test python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+KEYWORDS=*
+LICENSE=Apache-2.0
+RDEPEND=python_targets_python3_6? ( dev-lang/python:3.6 ) python_targets_python3_7? ( dev-lang/python:3.7 ) python_targets_python3_8? ( dev-lang/python:3.8 ) >=dev-lang/python-exec-2:=[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/setuptools[python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+REQUIRED_USE=|| ( python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=mirror://pypi/m/meson/meson-0.54.2.tar.gz
+_eclasses_=distutils-r1	198e3b9ddb55ae36b2a50b07ca2877ef	multibuild	40fe59465edacd730c644ec2bc197809	multilib	b2f01ad412baf81650c23fcf0975fa33	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	ce1cd23cfdc1848e8e32743efe34f299	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0
+_md5_=67d8692bd5fc0284749ed4b9b961034f
