From 0adc4c813f61498b9877bbeb659df0a9f6db317d Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Mon, 30 Nov 2020 15:30:09 +0100 Subject: host-meson: version bump 0.55.0 -> 0.56.0 Drop obsolete patches: "[PATCH] only use paths for shared libaries in get_link_dep_subdirs()" is replaced by commit 804a71e8f2b7 ("Do not add rpaths for static libs. Closes #5191.") "[PATCH] qt dependency: do not require all the tools automatically" was backported from 4a923b699b5e ("qt dependency: do not require all the tools automatically") Signed-off-by: Philipp Zabel Message-Id: <20201130143009.31159-1-p.zabel@pengutronix.de> Signed-off-by: Michael Olbrich --- ...ths-for-shared-libaries-in-get_link_dep_s.patch | 26 ---------- ...paths-for-build-directories-when-cross-co.patch | 38 --------------- ...cy-do-not-require-all-the-tools-automatic.patch | 55 ---------------------- .../0004-HACK-enable-NEON-only-for-ARMv7.patch | 25 ---------- patches/meson-0.55.0/series | 7 --- ...paths-for-build-directories-when-cross-co.patch | 38 +++++++++++++++ .../0002-HACK-enable-NEON-only-for-ARMv7.patch | 25 ++++++++++ patches/meson-0.56.0/series | 5 ++ rules/host-meson.make | 4 +- 9 files changed, 70 insertions(+), 153 deletions(-) delete mode 100644 patches/meson-0.55.0/0001-only-use-paths-for-shared-libaries-in-get_link_dep_s.patch delete mode 100644 patches/meson-0.55.0/0002-don-t-add-rpaths-for-build-directories-when-cross-co.patch delete mode 100644 patches/meson-0.55.0/0003-qt-dependency-do-not-require-all-the-tools-automatic.patch delete mode 100644 patches/meson-0.55.0/0004-HACK-enable-NEON-only-for-ARMv7.patch delete mode 100644 patches/meson-0.55.0/series create mode 100644 patches/meson-0.56.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch create mode 100644 patches/meson-0.56.0/0002-HACK-enable-NEON-only-for-ARMv7.patch create mode 100644 patches/meson-0.56.0/series diff --git a/patches/meson-0.55.0/0001-only-use-paths-for-shared-libaries-in-get_link_dep_s.patch b/patches/meson-0.55.0/0001-only-use-paths-for-shared-libaries-in-get_link_dep_s.patch deleted file mode 100644 index 3a98d8a0d..000000000 --- a/patches/meson-0.55.0/0001-only-use-paths-for-shared-libaries-in-get_link_dep_s.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Michael Olbrich -Date: Mon, 18 Mar 2019 10:41:08 +0100 -Subject: [PATCH] only use paths for shared libaries in get_link_dep_subdirs() - -This is used for -rpath / -rpath-link. So paths for anything else make no -sense. - -Signed-off-by: Michael Olbrich ---- - mesonbuild/build.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/mesonbuild/build.py b/mesonbuild/build.py -index d7f3b66c461d..83acf43db508 100644 ---- a/mesonbuild/build.py -+++ b/mesonbuild/build.py -@@ -819,7 +819,8 @@ class BuildTarget(Target): - def get_link_dep_subdirs(self): - result = OrderedSet() - for i in self.link_targets: -- result.add(i.get_subdir()) -+ if isinstance(i, SharedLibrary): -+ result.add(i.get_subdir()) - result.update(i.get_link_dep_subdirs()) - return result - diff --git a/patches/meson-0.55.0/0002-don-t-add-rpaths-for-build-directories-when-cross-co.patch b/patches/meson-0.55.0/0002-don-t-add-rpaths-for-build-directories-when-cross-co.patch deleted file mode 100644 index 811409ab7..000000000 --- a/patches/meson-0.55.0/0002-don-t-add-rpaths-for-build-directories-when-cross-co.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Michael Olbrich -Date: Mon, 18 Mar 2019 10:42:15 +0100 -Subject: [PATCH] don't add rpaths for build directories when cross-compiling - -The binaries cannot be executed anyways, so this just increases the binary -size unnecessarily. - -Signed-off-by: Michael Olbrich ---- - mesonbuild/linkers.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py -index 4264e7da229b..70a80a2c99f2 100644 ---- a/mesonbuild/linkers.py -+++ b/mesonbuild/linkers.py -@@ -575,7 +575,10 @@ class GnuLikeDynamicLinkerMixin: - # Need to deduplicate rpaths, as macOS's install_name_tool - # is *very* allergic to duplicate -delete_rpath arguments - # when calling depfixer on installation. -- all_paths = mesonlib.OrderedSet([os.path.join(origin_placeholder, p) for p in processed_rpaths]) -+ if not env.is_cross_build(): -+ all_paths = mesonlib.OrderedSet([os.path.join(origin_placeholder, p) for p in processed_rpaths]) -+ else: -+ all_paths = mesonlib.OrderedSet() - rpath_dirs_to_remove = set() - for p in all_paths: - rpath_dirs_to_remove.add(p.encode('utf8')) -@@ -603,7 +606,8 @@ class GnuLikeDynamicLinkerMixin: - paths = padding - else: - paths = paths + ':' + padding -- args.extend(self._apply_prefix('-rpath,' + paths)) -+ if paths: -+ args.extend(self._apply_prefix('-rpath,' + paths)) - - # TODO: should this actually be "for solaris/sunos"? - if mesonlib.is_sunos(): diff --git a/patches/meson-0.55.0/0003-qt-dependency-do-not-require-all-the-tools-automatic.patch b/patches/meson-0.55.0/0003-qt-dependency-do-not-require-all-the-tools-automatic.patch deleted file mode 100644 index 82c6aa8ea..000000000 --- a/patches/meson-0.55.0/0003-qt-dependency-do-not-require-all-the-tools-automatic.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Eli Schwartz -Date: Thu, 6 Aug 2020 19:55:58 -0400 -Subject: [PATCH] qt dependency: do not require all the tools automatically - -The compilers_detect function is only used in the qt module, which -checks every time before using a specific compiler, if it is found. - -e.g. - - meson.build:10:6: ERROR: MOC sources specified and couldn't find moc-qt5, please check your qt5 installation - -In fact, the current check means we never even hit this error to begin -with, because we previously died on the uninformative error: - - meson.build:10:6: ERROR: Program(s) ['moc'] not found or not executable - -which doesn't actually tell the user why this matters, and is all around -a waste of time. - -Fixes #5582 ---- - mesonbuild/dependencies/ui.py | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py -index 95dfe2b93bb4..5dffd3a407ad 100644 ---- a/mesonbuild/dependencies/ui.py -+++ b/mesonbuild/dependencies/ui.py -@@ -234,13 +234,13 @@ class QtBaseDependency(ExternalDependency): - def gen_bins(): - for b in bins: - if self.bindir: -- yield os.path.join(self.bindir, b), b, False -+ yield os.path.join(self.bindir, b), b - # prefer the -qt of the tool to the plain one, as we - # don't know what the unsuffixed one points to without calling it. -- yield '{}-{}'.format(b, self.name), b, False -- yield b, b, self.required if b != 'lrelease' else False -+ yield '{}-{}'.format(b, self.name), b -+ yield b, b - -- for b, name, required in gen_bins(): -+ for b, name in gen_bins(): - if found[name].found(): - continue - -@@ -260,7 +260,7 @@ class QtBaseDependency(ExternalDependency): - care = err - return care.split(' ')[-1].replace(')', '') - -- p = interp_obj.find_program_impl([b], required=required, -+ p = interp_obj.find_program_impl([b], required=False, - version_func=get_version, - wanted=wanted).held_object - if p.found(): diff --git a/patches/meson-0.55.0/0004-HACK-enable-NEON-only-for-ARMv7.patch b/patches/meson-0.55.0/0004-HACK-enable-NEON-only-for-ARMv7.patch deleted file mode 100644 index f6f0dc448..000000000 --- a/patches/meson-0.55.0/0004-HACK-enable-NEON-only-for-ARMv7.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Michael Olbrich -Date: Tue, 1 Oct 2019 22:30:59 +0200 -Subject: [PATCH] HACK: enable NEON only for ARMv7 - -NEON detection is broken, so just skip it for anything that is not ARMv7. - -Signed-off-by: Michael Olbrich ---- - mesonbuild/modules/unstable_simd.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/mesonbuild/modules/unstable_simd.py b/mesonbuild/modules/unstable_simd.py -index 4c066fb91339..e4b1824a7087 100644 ---- a/mesonbuild/modules/unstable_simd.py -+++ b/mesonbuild/modules/unstable_simd.py -@@ -62,6 +62,9 @@ class SimdModule(ExtensionModule): - continue - iset_fname = kwargs[iset] # Might also be an array or Files. static_library will validate. - args = compiler.get_instruction_set_args(iset) -+ cpu = state.environment.machines.host.cpu -+ if iset == 'neon' and not cpu.startswith('armv7'): -+ args = None - if args is None: - mlog.log('Compiler supports %s:' % iset, mlog.red('NO')) - continue diff --git a/patches/meson-0.55.0/series b/patches/meson-0.55.0/series deleted file mode 100644 index 6eeb51c02..000000000 --- a/patches/meson-0.55.0/series +++ /dev/null @@ -1,7 +0,0 @@ -# generated by git-ptx-patches -#tag:base --start-number 1 -0001-only-use-paths-for-shared-libaries-in-get_link_dep_s.patch -0002-don-t-add-rpaths-for-build-directories-when-cross-co.patch -0003-qt-dependency-do-not-require-all-the-tools-automatic.patch -0004-HACK-enable-NEON-only-for-ARMv7.patch -# 24bdfd2337ffc34a785ba69d7789246a - git-ptx-patches magic diff --git a/patches/meson-0.56.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch b/patches/meson-0.56.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch new file mode 100644 index 000000000..ccf5bfc2f --- /dev/null +++ b/patches/meson-0.56.0/0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch @@ -0,0 +1,38 @@ +From: Michael Olbrich +Date: Mon, 18 Mar 2019 10:42:15 +0100 +Subject: [PATCH] don't add rpaths for build directories when cross-compiling + +The binaries cannot be executed anyways, so this just increases the binary +size unnecessarily. + +Signed-off-by: Michael Olbrich +--- + mesonbuild/linkers.py | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py +index 589945c511ff..59463bdfdcc5 100644 +--- a/mesonbuild/linkers.py ++++ b/mesonbuild/linkers.py +@@ -605,7 +605,10 @@ class GnuLikeDynamicLinkerMixin: + # Need to deduplicate rpaths, as macOS's install_name_tool + # is *very* allergic to duplicate -delete_rpath arguments + # when calling depfixer on installation. +- all_paths = mesonlib.OrderedSet([os.path.join(origin_placeholder, p) for p in processed_rpaths]) ++ if not env.is_cross_build(): ++ all_paths = mesonlib.OrderedSet([os.path.join(origin_placeholder, p) for p in processed_rpaths]) ++ else: ++ all_paths = mesonlib.OrderedSet() + rpath_dirs_to_remove = set() + for p in all_paths: + rpath_dirs_to_remove.add(p.encode('utf8')) +@@ -633,7 +636,8 @@ class GnuLikeDynamicLinkerMixin: + paths = padding + else: + paths = paths + ':' + padding +- args.extend(self._apply_prefix('-rpath,' + paths)) ++ if paths: ++ args.extend(self._apply_prefix('-rpath,' + paths)) + + # TODO: should this actually be "for solaris/sunos"? + if mesonlib.is_sunos(): diff --git a/patches/meson-0.56.0/0002-HACK-enable-NEON-only-for-ARMv7.patch b/patches/meson-0.56.0/0002-HACK-enable-NEON-only-for-ARMv7.patch new file mode 100644 index 000000000..f6f0dc448 --- /dev/null +++ b/patches/meson-0.56.0/0002-HACK-enable-NEON-only-for-ARMv7.patch @@ -0,0 +1,25 @@ +From: Michael Olbrich +Date: Tue, 1 Oct 2019 22:30:59 +0200 +Subject: [PATCH] HACK: enable NEON only for ARMv7 + +NEON detection is broken, so just skip it for anything that is not ARMv7. + +Signed-off-by: Michael Olbrich +--- + mesonbuild/modules/unstable_simd.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/mesonbuild/modules/unstable_simd.py b/mesonbuild/modules/unstable_simd.py +index 4c066fb91339..e4b1824a7087 100644 +--- a/mesonbuild/modules/unstable_simd.py ++++ b/mesonbuild/modules/unstable_simd.py +@@ -62,6 +62,9 @@ class SimdModule(ExtensionModule): + continue + iset_fname = kwargs[iset] # Might also be an array or Files. static_library will validate. + args = compiler.get_instruction_set_args(iset) ++ cpu = state.environment.machines.host.cpu ++ if iset == 'neon' and not cpu.startswith('armv7'): ++ args = None + if args is None: + mlog.log('Compiler supports %s:' % iset, mlog.red('NO')) + continue diff --git a/patches/meson-0.56.0/series b/patches/meson-0.56.0/series new file mode 100644 index 000000000..3c8852cde --- /dev/null +++ b/patches/meson-0.56.0/series @@ -0,0 +1,5 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-don-t-add-rpaths-for-build-directories-when-cross-co.patch +0002-HACK-enable-NEON-only-for-ARMv7.patch +# 0a496d0bc50051baaa87da126e867c5c - git-ptx-patches magic diff --git a/rules/host-meson.make b/rules/host-meson.make index 92b4b1276..98c4e453b 100644 --- a/rules/host-meson.make +++ b/rules/host-meson.make @@ -14,8 +14,8 @@ HOST_PACKAGES-$(PTXCONF_HOST_MESON) += host-meson # # Paths and names # -HOST_MESON_VERSION := 0.55.0 -HOST_MESON_MD5 := 9dd395356f7ec6ef40e2449fc9db3771 +HOST_MESON_VERSION := 0.56.0 +HOST_MESON_MD5 := 67ce2c0c3eab1b8ee9ddaa1c5143e7c0 HOST_MESON := meson-$(HOST_MESON_VERSION) HOST_MESON_SUFFIX := tar.gz HOST_MESON_URL := https://github.com/mesonbuild/meson/releases/download/$(HOST_MESON_VERSION)/$(HOST_MESON).$(HOST_MESON_SUFFIX) -- cgit v1.2.3