package/meson: bump version to 1.3.1

The meson upgrade from 1.1.1 to 1.2.0 have been reverted because
host-qemu (version v8.0.3) was searching libraries in the build machine
instead of buildroot host directory [1].

    $ grep -r LINK_ARGS  * | grep "\-L/usr"
    build.ninja: LINK_ARGS =
        -L/usr/lib/gcc/x86_64-linux-gnu/10 \
        -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu \
        -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/usr/lib \
        -L/lib/x86_64-linux-gnu \
        -L/lib/../lib \
        -L/usr/lib/../lib \
        -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. \
        -L/lib \
        -I/[...]/host/include \
        -L/[...]/host/lib \
        -I/[...]/host/include/libfdt \
        ...

Upgrading qemu to version v8.1.0 solves the problem:

    $ grep -r LINK_ARGS  * | grep "\-L/usr"
    build.ninja: LINK_ARGS =
        -I/[...]/host/include \
        -L/[...]/host/lib \
        -I/[...]/host/include/libfdt \
        ...

Those two tests were done with the same buildroot version (2023.08) on
the same machine were the bug appeared. Using, git bisect, in this
environment, it was found that the problem was fixed in qemu by the
commit [2].

Thus, it is possible that the problem was introduced by improper use of
meson by qemu <= v8.0.3. Also, meson has been updated to version 1.2.1
and 1.3.0 in yocto and it doesn't seem to create any issue. [3]

The original problem is no longer present and some projects require
meson > 1.1.1 (e.g. rusticl requires meson 1.2.0 since mesa 23.3.0 and
meson 1.3.1 since mesa 24.0.0).

"pkgconfig" field is deprecated by meson 1.3.0 and replaced by
"pkg-config". See: [4]

The patch that adds the pkg_config_static property has been rebased.

[1] acfdf21f0b
[2] https://gitlab.com/qemu-project/qemu/-/commit/Fc9a809e0d28417fa1e7f7efc19f845bda4c1be9
[3] https://github.com/yoctoproject/poky/commits/master/meta/recipes-devtools/meson
[4] https://mesonbuild.com/Release-notes-for-1-3-0.html#machine-files-pkgconfig-field-deprecated-and-replaced-by-pkgconfig

Signed-off-by: Antoine Coutant <antoine.coutant@smile.fr>
[yann.morin.1998@free.fr:
  - keep our formatting in the patch
  - reflow commit log (to keep busy while test-building!)
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Antoine Coutant 2024-02-02 10:36:19 +01:00 committed by Yann E. MORIN
parent dc25b8d99f
commit 3118b7e222
4 changed files with 20 additions and 18 deletions

View File

@ -1,4 +1,4 @@
From 3d6a2db2270346236dd6247e0648ea0c949ba468 Mon Sep 17 00:00:00 2001 From 59934e2116e025ecfe23baf6febc4a0eb85f60cd Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com> From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 15 Feb 2020 15:13:59 +0100 Date: Sat, 15 Feb 2020 15:13:59 +0100
Subject: [PATCH] mesonbuild/dependencies/base.py: add pkg_config_static Subject: [PATCH] mesonbuild/dependencies/base.py: add pkg_config_static
@ -20,24 +20,26 @@ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Rebased on 0.57.1] [Rebased on 0.57.1]
Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[rebased on 1.3.0]
Signed-off-by: Antoine Coutant <antoine.coutant@smile.fr>
--- ---
mesonbuild/dependencies/pkgconfig.py | 3 ++- mesonbuild/dependencies/pkgconfig.py | 2 +-
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/dependencies/pkgconfig.py b/mesonbuild/dependencies/pkgconfig.py diff --git a/mesonbuild/dependencies/pkgconfig.py b/mesonbuild/dependencies/pkgconfig.py
index 1e8d9132e..d902ba215 100644 index e86206b88..94888657d 100644
--- a/mesonbuild/dependencies/pkgconfig.py --- a/mesonbuild/dependencies/pkgconfig.py
+++ b/mesonbuild/dependencies/pkgconfig.py +++ b/mesonbuild/dependencies/pkgconfig.py
@@ -338,7 +338,8 @@ class PkgConfigDependency(ExternalDependency): @@ -169,7 +169,8 @@ class PkgConfigCLI(PkgConfigInterface):
env = None env['PKG_CONFIG_ALLOW_SYSTEM_LIBS'] = '1'
libcmd = ['--libs'] args: T.List[str] = []
args += self._define_variable_args(define_variable)
- if self.static: - if static:
+ if self.static or \ + if static or \
+ (self.env.properties[self.for_machine].get('pkg_config_static', None) == 'true'): + (self.env.properties[self.for_machine].get('pkg_config_static', None) == 'true'):
libcmd.append('--static') args.append('--static')
args += ['--libs', name]
libcmd.append(self.name) ret, out, err = self._call_pkgbin(args, env=env)
-- --
2.25.1 2.25.1

View File

@ -1,4 +1,4 @@
# Locally calculated after checking pgp signature # Locally calculated after checking pgp signature
# https://github.com/mesonbuild/meson/releases/download/1.1.1/meson-1.1.1.tar.gz.asc # https://github.com/mesonbuild/meson/releases/download/1.3.1/meson-1.3.1.tar.gz.asc
sha256 d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c meson-1.1.1.tar.gz sha256 6020568bdede1643d4fb41e28215be38eff5d52da28ac7d125457c59e0032ad7 meson-1.3.1.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING

View File

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
MESON_VERSION = 1.1.1 MESON_VERSION = 1.3.1
MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION)
MESON_LICENSE = Apache-2.0 MESON_LICENSE = Apache-2.0
MESON_LICENSE_FILES = COPYING MESON_LICENSE_FILES = COPYING

View File

@ -10,7 +10,7 @@ ar = '@TARGET_AR@'
strip = '@TARGET_STRIP@' strip = '@TARGET_STRIP@'
cmake = '@BR2_CMAKE@' cmake = '@BR2_CMAKE@'
fortran = '@TARGET_FC@' fortran = '@TARGET_FC@'
pkgconfig = '@PKGCONF_HOST_BINARY@' pkg-config = '@PKGCONF_HOST_BINARY@'
g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler'
g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner'