diff mbox series

meson: upgrade to 1.9.1

Message ID 20250926195204.2323521-1-ross.burton@arm.com
State New
Headers show
Series meson: upgrade to 1.9.1 | expand

Commit Message

Ross Burton Sept. 26, 2025, 7:52 p.m. UTC
Changes in this release:

751b09390 Bump versions to 1.9.1 for release
d0abb2133 Boost python must have a library component.
e6732c220 Check for header only Boost libraries.
08429813b get_llvm_tool_names: add llvm 21
f3b383217 docs: fix pre-1.8 order for per-subproject options
a2d395498 Revert "test cases: do not pass global option on command line"
d0f82544e Revert "tests: skip test common/223 in the -Ddefault_library=... jobs"
2abdb2f0b options: put back in place 1.7 ordering of opt=value vs subp:opt=value
83cbc65c2 Fix not passing user option args to scan-build build
e746db0b4 Document internal dep support in pkgconfig.generate `requires` arg
f6ab732b7 msetup: not-found subprojects do not have known options
5d21e653a utils: make .wraplock optional
d1e219cb8 Fix Cygwin test failure.
0fc77e2d7 coredata: do not write None to cmd_line.txt
533ba5cb3 options: do not raise exception for unknown options in -U command
ae822d1d4 test cases/common/32 has header: disable undef with libcxx
c58f0d951 rustdoc: skip --crate-type option
b8e0e9d3d fix transient failure on rust/12 bindgen
75cf757b7 coredata: check for per-subproject compiler and linker arguments
a747c4ea8 coredata: check for per-subproject compiler options

Drop the two backported patches.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 ...heck-for-header-only-Boost-libraries.patch |  58 -------
 .../0001-Make-CPU-family-warnings-fatal.patch |   6 +-
 ...-not-manipulate-the-environment-when.patch |   8 +-
 ...python-must-have-a-library-component.patch |  34 ----
 ...pport-building-allarch-recipes-again.patch |   2 +-
 meta/recipes-devtools/meson/meson_1.9.0.bb    | 161 ------------------
 6 files changed, 8 insertions(+), 261 deletions(-)
 delete mode 100644 meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch
 delete mode 100644 meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch
 delete mode 100644 meta/recipes-devtools/meson/meson_1.9.0.bb

Comments

Alexander Kanavin Sept. 26, 2025, 9:18 p.m. UTC | #1
Old recipe deleted, new one not added.

Alex

On Fri, 26 Sept 2025 at 21:52, Ross Burton via lists.openembedded.org
<ross.burton=arm.com@lists.openembedded.org> wrote:
>
> Changes in this release:
>
> 751b09390 Bump versions to 1.9.1 for release
> d0abb2133 Boost python must have a library component.
> e6732c220 Check for header only Boost libraries.
> 08429813b get_llvm_tool_names: add llvm 21
> f3b383217 docs: fix pre-1.8 order for per-subproject options
> a2d395498 Revert "test cases: do not pass global option on command line"
> d0f82544e Revert "tests: skip test common/223 in the -Ddefault_library=... jobs"
> 2abdb2f0b options: put back in place 1.7 ordering of opt=value vs subp:opt=value
> 83cbc65c2 Fix not passing user option args to scan-build build
> e746db0b4 Document internal dep support in pkgconfig.generate `requires` arg
> f6ab732b7 msetup: not-found subprojects do not have known options
> 5d21e653a utils: make .wraplock optional
> d1e219cb8 Fix Cygwin test failure.
> 0fc77e2d7 coredata: do not write None to cmd_line.txt
> 533ba5cb3 options: do not raise exception for unknown options in -U command
> ae822d1d4 test cases/common/32 has header: disable undef with libcxx
> c58f0d951 rustdoc: skip --crate-type option
> b8e0e9d3d fix transient failure on rust/12 bindgen
> 75cf757b7 coredata: check for per-subproject compiler and linker arguments
> a747c4ea8 coredata: check for per-subproject compiler options
>
> Drop the two backported patches.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  ...heck-for-header-only-Boost-libraries.patch |  58 -------
>  .../0001-Make-CPU-family-warnings-fatal.patch |   6 +-
>  ...-not-manipulate-the-environment-when.patch |   8 +-
>  ...python-must-have-a-library-component.patch |  34 ----
>  ...pport-building-allarch-recipes-again.patch |   2 +-
>  meta/recipes-devtools/meson/meson_1.9.0.bb    | 161 ------------------
>  6 files changed, 8 insertions(+), 261 deletions(-)
>  delete mode 100644 meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch
>  delete mode 100644 meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch
>  delete mode 100644 meta/recipes-devtools/meson/meson_1.9.0.bb
>
> diff --git a/meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch b/meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch
> deleted file mode 100644
> index 3d2810aff92..00000000000
> --- a/meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -From f16897135c394d36656da0078613864076300e07 Mon Sep 17 00:00:00 2001
> -From: Jussi Pakkanen <jussi.pakkanen@mailbox.org>
> -Date: Fri, 29 Aug 2025 14:57:06 +0300
> -Subject: [PATCH] Check for header only Boost libraries.
> -
> -Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6a9a81619c139d0f6ae3d265f7366e61615d92a1]
> -Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ----
> - mesonbuild/dependencies/boost.py | 22 ++++++++++++++++++++--
> - 1 file changed, 20 insertions(+), 2 deletions(-)
> -
> -diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
> -index 662f985..e153e8f 100644
> ---- a/mesonbuild/dependencies/boost.py
> -+++ b/mesonbuild/dependencies/boost.py
> -@@ -452,6 +452,10 @@ class BoostDependency(SystemDependency):
> -                 break
> -         libs = sorted(set(libs))
> -
> -+        any_libs_found = len(libs) > 0
> -+        if not any_libs_found:
> -+            return False
> -+
> -         modules = ['boost_' + x for x in self.modules]
> -         for inc in inc_dirs:
> -             mlog.debug(f'  - found boost {inc.version} include dir: {inc.path}')
> -@@ -462,7 +466,7 @@ class BoostDependency(SystemDependency):
> -                 mlog.debug(f'    - {j}')
> -
> -             #   3. Select the libraries matching the requested modules
> --            not_found: T.List[str] = []
> -+            not_found_as_libs: T.List[str] = []
> -             selected_modules: T.List[BoostLibraryFile] = []
> -             for mod in modules:
> -                 found = False
> -@@ -472,7 +476,21 @@ class BoostDependency(SystemDependency):
> -                         found = True
> -                         break
> -                 if not found:
> --                    not_found += [mod]
> -+                    not_found_as_libs += [mod]
> -+
> -+            # If a lib is not found, but an include directory exists,
> -+            # assume it is a header only module.
> -+            not_found: T.List[str] = []
> -+            for boost_modulename in not_found_as_libs:
> -+                assert boost_modulename.startswith('boost_')
> -+                include_subdir = boost_modulename.replace('boost_', 'boost/', 1)
> -+                headerdir_found = False
> -+                for inc_dir in inc_dirs:
> -+                    if (inc_dir.path / include_subdir).is_dir():
> -+                        headerdir_found = True
> -+                        break
> -+                if not headerdir_found:
> -+                    not_found.append(boost_modulename)
> -
> -             # log the result
> -             mlog.debug('  - found:')
> diff --git a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
> index 98ca08c2ca9..46754bf5084 100644
> --- a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
> +++ b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
> @@ -1,4 +1,4 @@
> -From c01e5e29953e0302988f2d60adc50ebfa0e5d670 Mon Sep 17 00:00:00 2001
> +From 9854e557b77612afb095e9868bb7cba12bc1b1cb Mon Sep 17 00:00:00 2001
>  From: Ross Burton <ross.burton@intel.com>
>  Date: Tue, 3 Jul 2018 13:59:09 +0100
>  Subject: [PATCH] Make CPU family warnings fatal
> @@ -26,10 +26,10 @@ index 43fad0c..27be871 100644
>           endian = literal['endian']
>           if endian not in ('little', 'big'):
>  diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
> -index 2a9cf16..6b2bd6b 100644
> +index 489ef50..1567efa 100644
>  --- a/mesonbuild/environment.py
>  +++ b/mesonbuild/environment.py
> -@@ -436,10 +436,8 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
> +@@ -438,10 +438,8 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
>           if compilers and not any_compiler_has_define(compilers, '__mips64'):
>               trial = 'mips'
>
> diff --git a/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
> index f6544470132..c1b82935931 100644
> --- a/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
> +++ b/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
> @@ -1,4 +1,4 @@
> -From 6c3734f533ee7ad493188c8fc17bb1c65b65f0bd Mon Sep 17 00:00:00 2001
> +From c0ffc404415a52bfa3358e32ecd17f064a241b38 Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Mon, 19 Nov 2018 14:24:26 +0100
>  Subject: [PATCH] python module: do not manipulate the environment when calling
> @@ -12,10 +12,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>   1 file changed, 1 insertion(+), 5 deletions(-)
>
>  diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
> -index ab040b5..a34b271 100644
> +index b028d9f..3d7cd9b 100644
>  --- a/mesonbuild/dependencies/python.py
>  +++ b/mesonbuild/dependencies/python.py
> -@@ -412,9 +412,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
> +@@ -418,9 +418,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
>                       empty.name = 'python'
>                       return empty
>
> @@ -25,7 +25,7 @@ index ab040b5..a34b271 100644
>                   try:
>                       return PythonPkgConfigDependency(name, env, kwargs, installation, True)
>                   finally:
> -@@ -423,8 +420,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
> +@@ -429,8 +426,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
>                               os.environ[name] = value
>                           elif name in os.environ:
>                               del os.environ[name]
> diff --git a/meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch b/meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch
> deleted file mode 100644
> index c03c47534e9..00000000000
> --- a/meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -From d0644d543f4df39cf2ba14337000ee019cb20b6d Mon Sep 17 00:00:00 2001
> -From: Jussi Pakkanen <jussi.pakkanen@mailbox.org>
> -Date: Fri, 29 Aug 2025 22:51:48 +0300
> -Subject: [PATCH] Boost python must have a library component.
> -
> -Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/80917ca8c1a5af499cc6e004ad5d5a050da9045e]
> -Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ----
> - mesonbuild/dependencies/boost.py | 5 +++++
> - 1 file changed, 5 insertions(+)
> -
> -diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
> -index e153e8f..fdb35d4 100644
> ---- a/mesonbuild/dependencies/boost.py
> -+++ b/mesonbuild/dependencies/boost.py
> -@@ -440,6 +440,8 @@ class BoostDependency(SystemDependency):
> -         mlog.debug('  - potential library dirs: {}'.format([x.as_posix() for x in lib_dirs]))
> -         mlog.debug('  - potential include dirs: {}'.format([x.path.as_posix() for x in inc_dirs]))
> -
> -+        must_have_library = ['boost_python']
> -+
> -         #   2. Find all boost libraries
> -         libs: T.List[BoostLibraryFile] = []
> -         for i in lib_dirs:
> -@@ -483,6 +485,9 @@ class BoostDependency(SystemDependency):
> -             not_found: T.List[str] = []
> -             for boost_modulename in not_found_as_libs:
> -                 assert boost_modulename.startswith('boost_')
> -+                if boost_modulename in must_have_library:
> -+                    not_found.append(boost_modulename)
> -+                    continue
> -                 include_subdir = boost_modulename.replace('boost_', 'boost/', 1)
> -                 headerdir_found = False
> -                 for inc_dir in inc_dirs:
> diff --git a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
> index ed35498c306..2e294b5b7f2 100644
> --- a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
> +++ b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
> @@ -1,4 +1,4 @@
> -From e123195e5990c3071385defd96dfab1211e98c08 Mon Sep 17 00:00:00 2001
> +From fac479734d7f6e04eba71c8193623465d9eb0228 Mon Sep 17 00:00:00 2001
>  From: Peter Kjellerstedt <pkj@axis.com>
>  Date: Thu, 26 Jul 2018 16:32:49 +0200
>  Subject: [PATCH] Support building allarch recipes again
> diff --git a/meta/recipes-devtools/meson/meson_1.9.0.bb b/meta/recipes-devtools/meson/meson_1.9.0.bb
> deleted file mode 100644
> index 10ac7d9697e..00000000000
> --- a/meta/recipes-devtools/meson/meson_1.9.0.bb
> +++ /dev/null
> @@ -1,161 +0,0 @@
> -HOMEPAGE = "http://mesonbuild.com"
> -SUMMARY = "A high performance build system"
> -DESCRIPTION = "Meson is a build system designed to increase programmer \
> -productivity. It does this by providing a fast, simple and easy to use \
> -interface for modern software development tools and practices."
> -
> -LICENSE = "Apache-2.0"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
> -
> -GITHUB_BASE_URI = "https://github.com/mesonbuild/meson/releases/"
> -SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \
> -           file://meson-setup.py \
> -           file://meson-wrapper \
> -           file://0001-python-module-do-not-manipulate-the-environment-when.patch \
> -           file://0001-Make-CPU-family-warnings-fatal.patch \
> -           file://0002-Support-building-allarch-recipes-again.patch \
> -           file://0001-Check-for-header-only-Boost-libraries.patch \
> -           file://0002-Boost-python-must-have-a-library-component.patch \
> -           "
> -SRC_URI[sha256sum] = "cd27277649b5ed50d19875031de516e270b22e890d9db65ed9af57d18ebc498d"
> -UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
> -
> -inherit python_setuptools_build_meta github-releases
> -
> -RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources"
> -
> -FILES:${PN} += "${datadir}/polkit-1"
> -
> -BBCLASSEXTEND = "native nativesdk"
> -
> -inherit meson-routines
> -
> -# The cross file logic is similar but not identical to that in meson.bbclass,
> -# since it's generating for an SDK rather than a cross-compile. Important
> -# differences are:
> -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
> -#   real paths by meson-setup.sh when the SDK is extracted.
> -# - Some overrides aren't needed, since the SDK injects paths that take care of
> -#   them.
> -def var_list2str(var, d):
> -    items = d.getVar(var).split()
> -    return repr(items[0]) if len(items) == 1 else ', '.join(repr(s) for s in items)
> -
> -def generate_native_link_template(d):
> -    val = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}',
> -           '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',
> -           '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${libdir_native}',
> -           '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',
> -           '-Wl,--allow-shlib-undefined'
> -        ]
> -    build_arch = d.getVar('BUILD_ARCH')
> -    if 'x86_64' in build_arch:
> -        loader = 'ld-linux-x86-64.so.2'
> -    elif 'i686' in build_arch:
> -        loader = 'ld-linux.so.2'
> -    elif 'aarch64' in build_arch:
> -        loader = 'ld-linux-aarch64.so.1'
> -    elif 'ppc64le' in build_arch:
> -        loader = 'ld64.so.2'
> -    elif 'loongarch64' in build_arch:
> -        loader = 'ld-linux-loongarch-lp64d.so.1'
> -    elif 'riscv64' in build_arch:
> -        loader = 'ld-linux-riscv64-lp64d.so.1'
> -
> -    if loader:
> -        val += ['-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}${base_libdir_native}/' + loader]
> -
> -    return repr(val)
> -
> -install_native_template() {
> -    install -d ${D}${datadir}/meson
> -
> -    cat >${D}${datadir}/meson/meson.native.template <<EOF
> -[binaries]
> -c = ${@meson_array('BUILD_CC', d)}
> -cpp = ${@meson_array('BUILD_CXX', d)}
> -ar = ${@meson_array('BUILD_AR', d)}
> -nm = ${@meson_array('BUILD_NM', d)}
> -strip = ${@meson_array('BUILD_STRIP', d)}
> -readelf = ${@meson_array('BUILD_READELF', d)}
> -pkg-config = 'pkg-config-native'
> -
> -[built-in options]
> -c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}]
> -c_link_args = ${@generate_native_link_template(d)}
> -cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}]
> -cpp_link_args = ${@generate_native_link_template(d)}
> -EOF
> -}
> -
> -install_nativesdk_template() {
> -    install -d ${D}${datadir}/meson
> -
> -    cat >${D}${datadir}/meson/meson.native.template <<EOF
> -[binaries]
> -pkg-config = 'pkg-config-native'
> -
> -[built-in options]
> -c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}']
> -c_link_args = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}', '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',]
> -cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}']
> -cpp_link_args = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}', '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',]
> -EOF
> -}
> -
> -install_cross_template() {
> -    install -d ${D}${datadir}/meson
> -
> -    cat >${D}${datadir}/meson/meson.cross.template <<EOF
> -[binaries]
> -c = @CC
> -cpp = @CXX
> -ar = @AR
> -nm = @NM
> -strip = @STRIP
> -pkg-config = 'pkg-config'
> -
> -[built-in options]
> -c_args = @CFLAGS
> -c_link_args = @LDFLAGS
> -cpp_args = @CPPFLAGS
> -cpp_link_args = @LDFLAGS
> -
> -[properties]
> -needs_exe_wrapper = true
> -sys_root = @OECORE_TARGET_SYSROOT
> -
> -[host_machine]
> -system = @OECORE_MESON_HOST_SYSTEM
> -cpu_family = @OECORE_MESON_HOST_CPU_FAMILY
> -cpu = @OECORE_MESON_HOST_CPU
> -endian = @OECORE_MESON_HOST_ENDIAN
> -EOF
> -}
> -
> -do_install:append:class-nativesdk() {
> -    install_nativesdk_template
> -    install_cross_template
> -
> -    install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
> -    install -m 0755 ${UNPACKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
> -
> -    # We need to wrap the real meson with a thin env setup wrapper.
> -    mv ${D}${bindir}/meson ${D}${bindir}/meson.real
> -    install -m 0755 ${UNPACKDIR}/meson-wrapper ${D}${bindir}/meson
> -}
> -
> -FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}"
> -
> -do_install:append:class-native() {
> -    install_native_template
> -    install_cross_template
> -
> -    install -d ${D}${datadir}/post-relocate-setup.d
> -    install -m 0755 ${UNPACKDIR}/meson-setup.py ${D}${datadir}/post-relocate-setup.d/
> -
> -    # We need to wrap the real meson with a thin wrapper that substitues native/cross files
> -    # when running in a direct SDK environment.
> -    mv ${D}${bindir}/meson ${D}${bindir}/meson.real
> -    install -m 0755 ${UNPACKDIR}/meson-wrapper ${D}${bindir}/meson
> -}
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#224091): https://lists.openembedded.org/g/openembedded-core/message/224091
> Mute This Topic: https://lists.openembedded.org/mt/115455404/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Ross Burton Sept. 27, 2025, 10:42 a.m. UTC | #2
On 26 Sep 2025, at 22:18, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> 
> Old recipe deleted, new one not added.


diff mbox series

Patch

diff --git a/meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch b/meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch
deleted file mode 100644
index 3d2810aff92..00000000000
--- a/meta/recipes-devtools/meson/meson/0001-Check-for-header-only-Boost-libraries.patch
+++ /dev/null
@@ -1,58 +0,0 @@ 
-From f16897135c394d36656da0078613864076300e07 Mon Sep 17 00:00:00 2001
-From: Jussi Pakkanen <jussi.pakkanen@mailbox.org>
-Date: Fri, 29 Aug 2025 14:57:06 +0300
-Subject: [PATCH] Check for header only Boost libraries.
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6a9a81619c139d0f6ae3d265f7366e61615d92a1]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- mesonbuild/dependencies/boost.py | 22 ++++++++++++++++++++--
- 1 file changed, 20 insertions(+), 2 deletions(-)
-
-diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
-index 662f985..e153e8f 100644
---- a/mesonbuild/dependencies/boost.py
-+++ b/mesonbuild/dependencies/boost.py
-@@ -452,6 +452,10 @@ class BoostDependency(SystemDependency):
-                 break
-         libs = sorted(set(libs))
- 
-+        any_libs_found = len(libs) > 0
-+        if not any_libs_found:
-+            return False
-+
-         modules = ['boost_' + x for x in self.modules]
-         for inc in inc_dirs:
-             mlog.debug(f'  - found boost {inc.version} include dir: {inc.path}')
-@@ -462,7 +466,7 @@ class BoostDependency(SystemDependency):
-                 mlog.debug(f'    - {j}')
- 
-             #   3. Select the libraries matching the requested modules
--            not_found: T.List[str] = []
-+            not_found_as_libs: T.List[str] = []
-             selected_modules: T.List[BoostLibraryFile] = []
-             for mod in modules:
-                 found = False
-@@ -472,7 +476,21 @@ class BoostDependency(SystemDependency):
-                         found = True
-                         break
-                 if not found:
--                    not_found += [mod]
-+                    not_found_as_libs += [mod]
-+
-+            # If a lib is not found, but an include directory exists,
-+            # assume it is a header only module.
-+            not_found: T.List[str] = []
-+            for boost_modulename in not_found_as_libs:
-+                assert boost_modulename.startswith('boost_')
-+                include_subdir = boost_modulename.replace('boost_', 'boost/', 1)
-+                headerdir_found = False
-+                for inc_dir in inc_dirs:
-+                    if (inc_dir.path / include_subdir).is_dir():
-+                        headerdir_found = True
-+                        break
-+                if not headerdir_found:
-+                    not_found.append(boost_modulename)
- 
-             # log the result
-             mlog.debug('  - found:')
diff --git a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 98ca08c2ca9..46754bf5084 100644
--- a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@ 
-From c01e5e29953e0302988f2d60adc50ebfa0e5d670 Mon Sep 17 00:00:00 2001
+From 9854e557b77612afb095e9868bb7cba12bc1b1cb Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 3 Jul 2018 13:59:09 +0100
 Subject: [PATCH] Make CPU family warnings fatal
@@ -26,10 +26,10 @@  index 43fad0c..27be871 100644
          endian = literal['endian']
          if endian not in ('little', 'big'):
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 2a9cf16..6b2bd6b 100644
+index 489ef50..1567efa 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -436,10 +436,8 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
+@@ -438,10 +438,8 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
          if compilers and not any_compiler_has_define(compilers, '__mips64'):
              trial = 'mips'
  
diff --git a/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
index f6544470132..c1b82935931 100644
--- a/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
+++ b/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
@@ -1,4 +1,4 @@ 
-From 6c3734f533ee7ad493188c8fc17bb1c65b65f0bd Mon Sep 17 00:00:00 2001
+From c0ffc404415a52bfa3358e32ecd17f064a241b38 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Nov 2018 14:24:26 +0100
 Subject: [PATCH] python module: do not manipulate the environment when calling
@@ -12,10 +12,10 @@  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  1 file changed, 1 insertion(+), 5 deletions(-)
 
 diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
-index ab040b5..a34b271 100644
+index b028d9f..3d7cd9b 100644
 --- a/mesonbuild/dependencies/python.py
 +++ b/mesonbuild/dependencies/python.py
-@@ -412,9 +412,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
+@@ -418,9 +418,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
                      empty.name = 'python'
                      return empty
  
@@ -25,7 +25,7 @@  index ab040b5..a34b271 100644
                  try:
                      return PythonPkgConfigDependency(name, env, kwargs, installation, True)
                  finally:
-@@ -423,8 +420,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
+@@ -429,8 +426,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
                              os.environ[name] = value
                          elif name in os.environ:
                              del os.environ[name]
diff --git a/meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch b/meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch
deleted file mode 100644
index c03c47534e9..00000000000
--- a/meta/recipes-devtools/meson/meson/0002-Boost-python-must-have-a-library-component.patch
+++ /dev/null
@@ -1,34 +0,0 @@ 
-From d0644d543f4df39cf2ba14337000ee019cb20b6d Mon Sep 17 00:00:00 2001
-From: Jussi Pakkanen <jussi.pakkanen@mailbox.org>
-Date: Fri, 29 Aug 2025 22:51:48 +0300
-Subject: [PATCH] Boost python must have a library component.
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/80917ca8c1a5af499cc6e004ad5d5a050da9045e]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- mesonbuild/dependencies/boost.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
-index e153e8f..fdb35d4 100644
---- a/mesonbuild/dependencies/boost.py
-+++ b/mesonbuild/dependencies/boost.py
-@@ -440,6 +440,8 @@ class BoostDependency(SystemDependency):
-         mlog.debug('  - potential library dirs: {}'.format([x.as_posix() for x in lib_dirs]))
-         mlog.debug('  - potential include dirs: {}'.format([x.path.as_posix() for x in inc_dirs]))
- 
-+        must_have_library = ['boost_python']
-+
-         #   2. Find all boost libraries
-         libs: T.List[BoostLibraryFile] = []
-         for i in lib_dirs:
-@@ -483,6 +485,9 @@ class BoostDependency(SystemDependency):
-             not_found: T.List[str] = []
-             for boost_modulename in not_found_as_libs:
-                 assert boost_modulename.startswith('boost_')
-+                if boost_modulename in must_have_library:
-+                    not_found.append(boost_modulename)
-+                    continue
-                 include_subdir = boost_modulename.replace('boost_', 'boost/', 1)
-                 headerdir_found = False
-                 for inc_dir in inc_dirs:
diff --git a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index ed35498c306..2e294b5b7f2 100644
--- a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@ 
-From e123195e5990c3071385defd96dfab1211e98c08 Mon Sep 17 00:00:00 2001
+From fac479734d7f6e04eba71c8193623465d9eb0228 Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Thu, 26 Jul 2018 16:32:49 +0200
 Subject: [PATCH] Support building allarch recipes again
diff --git a/meta/recipes-devtools/meson/meson_1.9.0.bb b/meta/recipes-devtools/meson/meson_1.9.0.bb
deleted file mode 100644
index 10ac7d9697e..00000000000
--- a/meta/recipes-devtools/meson/meson_1.9.0.bb
+++ /dev/null
@@ -1,161 +0,0 @@ 
-HOMEPAGE = "http://mesonbuild.com"
-SUMMARY = "A high performance build system"
-DESCRIPTION = "Meson is a build system designed to increase programmer \
-productivity. It does this by providing a fast, simple and easy to use \
-interface for modern software development tools and practices."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-GITHUB_BASE_URI = "https://github.com/mesonbuild/meson/releases/"
-SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \
-           file://meson-setup.py \
-           file://meson-wrapper \
-           file://0001-python-module-do-not-manipulate-the-environment-when.patch \
-           file://0001-Make-CPU-family-warnings-fatal.patch \
-           file://0002-Support-building-allarch-recipes-again.patch \
-           file://0001-Check-for-header-only-Boost-libraries.patch \
-           file://0002-Boost-python-must-have-a-library-component.patch \
-           "
-SRC_URI[sha256sum] = "cd27277649b5ed50d19875031de516e270b22e890d9db65ed9af57d18ebc498d"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
-
-inherit python_setuptools_build_meta github-releases
-
-RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources"
-
-FILES:${PN} += "${datadir}/polkit-1"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit meson-routines
-
-# The cross file logic is similar but not identical to that in meson.bbclass,
-# since it's generating for an SDK rather than a cross-compile. Important
-# differences are:
-# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
-#   real paths by meson-setup.sh when the SDK is extracted.
-# - Some overrides aren't needed, since the SDK injects paths that take care of
-#   them.
-def var_list2str(var, d):
-    items = d.getVar(var).split()
-    return repr(items[0]) if len(items) == 1 else ', '.join(repr(s) for s in items)
-
-def generate_native_link_template(d):
-    val = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}',
-           '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',
-           '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${libdir_native}',
-           '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',
-           '-Wl,--allow-shlib-undefined'
-        ]
-    build_arch = d.getVar('BUILD_ARCH')
-    if 'x86_64' in build_arch:
-        loader = 'ld-linux-x86-64.so.2'
-    elif 'i686' in build_arch:
-        loader = 'ld-linux.so.2'
-    elif 'aarch64' in build_arch:
-        loader = 'ld-linux-aarch64.so.1'
-    elif 'ppc64le' in build_arch:
-        loader = 'ld64.so.2'
-    elif 'loongarch64' in build_arch:
-        loader = 'ld-linux-loongarch-lp64d.so.1'
-    elif 'riscv64' in build_arch:
-        loader = 'ld-linux-riscv64-lp64d.so.1'
-
-    if loader:
-        val += ['-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}${base_libdir_native}/' + loader]
-
-    return repr(val)
-
-install_native_template() {
-    install -d ${D}${datadir}/meson
-
-    cat >${D}${datadir}/meson/meson.native.template <<EOF
-[binaries]
-c = ${@meson_array('BUILD_CC', d)}
-cpp = ${@meson_array('BUILD_CXX', d)}
-ar = ${@meson_array('BUILD_AR', d)}
-nm = ${@meson_array('BUILD_NM', d)}
-strip = ${@meson_array('BUILD_STRIP', d)}
-readelf = ${@meson_array('BUILD_READELF', d)}
-pkg-config = 'pkg-config-native'
-
-[built-in options]
-c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}]
-c_link_args = ${@generate_native_link_template(d)}
-cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}]
-cpp_link_args = ${@generate_native_link_template(d)}
-EOF
-}
-
-install_nativesdk_template() {
-    install -d ${D}${datadir}/meson
-
-    cat >${D}${datadir}/meson/meson.native.template <<EOF
-[binaries]
-pkg-config = 'pkg-config-native'
-
-[built-in options]
-c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}']
-c_link_args = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}', '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',]
-cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}']
-cpp_link_args = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}', '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',]
-EOF
-}
-
-install_cross_template() {
-    install -d ${D}${datadir}/meson
-
-    cat >${D}${datadir}/meson/meson.cross.template <<EOF
-[binaries]
-c = @CC
-cpp = @CXX
-ar = @AR
-nm = @NM
-strip = @STRIP
-pkg-config = 'pkg-config'
-
-[built-in options]
-c_args = @CFLAGS
-c_link_args = @LDFLAGS
-cpp_args = @CPPFLAGS
-cpp_link_args = @LDFLAGS
-
-[properties]
-needs_exe_wrapper = true
-sys_root = @OECORE_TARGET_SYSROOT
-
-[host_machine]
-system = @OECORE_MESON_HOST_SYSTEM
-cpu_family = @OECORE_MESON_HOST_CPU_FAMILY
-cpu = @OECORE_MESON_HOST_CPU
-endian = @OECORE_MESON_HOST_ENDIAN
-EOF
-}
-
-do_install:append:class-nativesdk() {
-    install_nativesdk_template
-    install_cross_template
-
-    install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
-    install -m 0755 ${UNPACKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
-
-    # We need to wrap the real meson with a thin env setup wrapper.
-    mv ${D}${bindir}/meson ${D}${bindir}/meson.real
-    install -m 0755 ${UNPACKDIR}/meson-wrapper ${D}${bindir}/meson
-}
-
-FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}"
-
-do_install:append:class-native() {
-    install_native_template
-    install_cross_template
-
-    install -d ${D}${datadir}/post-relocate-setup.d
-    install -m 0755 ${UNPACKDIR}/meson-setup.py ${D}${datadir}/post-relocate-setup.d/
-
-    # We need to wrap the real meson with a thin wrapper that substitues native/cross files
-    # when running in a direct SDK environment.
-    mv ${D}${bindir}/meson ${D}${bindir}/meson.real
-    install -m 0755 ${UNPACKDIR}/meson-wrapper ${D}${bindir}/meson
-}