From 4c426cd766bd44ff984ebe1f5e37381bfa7db6a1 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Mon, 23 Dec 2024 17:10:48 +0800 Subject: meson: upgrade 1.6.0 -> 1.6.1 0001-python-module-do-not-manipulate-the-environment-when.patch refreshed for 1.6.1 Changelog: =========== - dependencies: support old vulkan SDK version - Handle top level options set in subprojects. Closes #13847. - ci: fix Ubuntu Bionic job - modernize Rust template - run_single_test.py: skip setup_symlinks() call on Windows - tests: HDF5 no longer skips on MacOS - mdevenv: exec directly into the program to run - CMakeToolchain: Log output on compiler state failure - msetup: Correction of the message text - run_single_test.py: Fix for symlink changes - libgcrypt-config is no more on ubuntu-rolling - fix generate_gir with BothLibraries dependency - env2mfile: add flag to use _FOR_BUILD envvars. - environment: Never require an exe_wrapper for native builds - rust: fix computation of library directory - De-duplicate BuildTarget.sources - Fix building on AIX when no project languages are used - coverage.py: Guard use of --html-nested behind version check. - Xcode backend: only use found appleframeworksn - Enable GCC to find free-threaded python DLL library - modules/rust: Add support for autolib field in the Cargo.toml - env2mfile: Use a cross valac on Debian if possible - env2mfile: Automatically set exe_wrapper on Debian if possible - env2mfile: Use Debian cross-prefixed GObject-Introspection tools - env2mfile: Generalize detection of pkg-config to have a list of tools - Add GNU/Hurd kernel results (From OE-Core rev: ca17f6c26c7f1fa93950143a41204daf57e5b4ed) Signed-off-by: Wang Mingyu Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/recipes-devtools/meson/meson_1.6.1.bb | 159 +++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 meta/recipes-devtools/meson/meson_1.6.1.bb (limited to 'meta/recipes-devtools/meson/meson_1.6.1.bb') diff --git a/meta/recipes-devtools/meson/meson_1.6.1.bb b/meta/recipes-devtools/meson/meson_1.6.1.bb new file mode 100644 index 0000000000..249a07c290 --- /dev/null +++ b/meta/recipes-devtools/meson/meson_1.6.1.bb @@ -0,0 +1,159 @@ +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-dependencies-dev-prepend-sysroot-when-searching-for-.patch \ + " +SRC_URI[sha256sum] = "1eca49eb6c26d58bbee67fd3337d8ef557c0804e30a6d16bfdf269db997464de" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)$" + +inherit python_setuptools_build_meta github-releases + +RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources" + +FILES:${PN} += "${datadir}/polkit-1" + +do_install:append () { + # As per the same issue in the python recipe itself: + # Unfortunately the following pyc files are non-deterministc due to 'frozenset' + # being written without strict ordering, even with PYTHONHASHSEED = 0 + # Upstream is discussing ways to solve the issue properly, until then let's + # just not install the problematic files. + # More info: http://benno.id.au/blog/2013/01/15/python-determinism + rm -f ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython* +} + +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_templates() { + install -d ${D}${datadir}/meson + + cat >${D}${datadir}/meson/meson.native.template <${D}${datadir}/meson/meson.cross.template <