Revert "meson: update to 0.58.1."

This reverts commit 24de8690e3.

This broke at least mutter cross builds [1]. Seems to be something to do
with how shared libraries are found by our gir wrapper.

[1] https://build.voidlinux.org/builders/armv6l_builder/builds/34575/steps/shell_3/logs/stdio
This commit is contained in:
Érico Nogueira 2021-06-17 11:56:14 -03:00
parent 432c319069
commit 2bfede5d53
3 changed files with 91 additions and 13 deletions

View file

@ -1,11 +1,11 @@
--- mesonbuild/modules/gnome.py 2021-06-07 17:35:31.000000000 +0000 --- mesonbuild/modules/gnome.py 2020-06-29 19:00:15.000000000 +0200
+++ - 2021-06-17 07:12:07.442352693 +0000 +++ - 2020-07-13 12:48:58.087313471 +0200
@@ -87,7 +87,7 @@ @@ -403,7 +403,7 @@
once=True)
def _get_native_dep(self, state, depname, required=True):
- kwargs = {'native': True, 'required': required}
+ kwargs = {'native': False, 'required': required}
holder = self.interpreter.func_dependency(state.current_node, [depname], kwargs)
return holder.held_object
def _get_gir_dep(self, state):
if not self.gir_dep:
- kwargs = {'native': True, 'required': True}
+ kwargs = {'native': False, 'required': True}
holder = self.interpreter.func_dependency(state.current_node, ['gobject-introspection-1.0'], kwargs)
self.gir_dep = holder.held_object
giscanner = state.environment.lookup_binary_entry(MachineChoice.HOST, 'g-ir-scanner')

View file

@ -0,0 +1,77 @@
commit 777cbe9c0faa018bafccf3e7adb8dad162276e35
Author: Érico Rolim <erico.erc@gmail.com>
Date: Mon Feb 1 00:26:49 2021 -0300
tests/common: fix " 37 has function" test on musl systems.
This commit fixes the test that asserts on whether the lchmod() function
should have been detected as available by Meson. It does so by assuming
that on Linux systems not using glibc, the function will be available.
- fix comment about lchmod on Linux: musl has implemented the function
correctly since 2013, so the assumption in the test wasn't correct.
Furthermore, musl doesn't use glibc's stub mechanism.
- fix include to receive __GLIBC__ definition: including almost any
header in glibc will end up defining __GLIBC__, since most headers
include <features.h>. The <gnu/libc-version.h> header was probably
chosen because of its name, but its actual purpose is defining functions
for checking glibc version at runtime (instead of what the binary was
built with), so it isn't necessary to use it. Since it is a completely
non standard header, including it makes the test suite fail on musl due
to not finding the header.
diff --git test cases/common/37 has function/meson.build test cases/common/37 has function/meson.build
index 26f13d6fa..a59480c2d 100644
--- test cases/common/39 has function/meson.build
+++ test cases/common/39 has function/meson.build
@@ -44,11 +44,13 @@ foreach cc : compilers
error('Found non-existent function "hfkerhisadf".')
endif
- # With glibc on Linux lchmod is a stub that will always return an error,
- # we want to detect that and declare that the function is not available.
- # We can't check for the C library used here of course, but if it's not
- # implemented in glibc it's probably not implemented in any other 'slimmer'
- # C library variants either, so the check should be safe either way hopefully.
+ # With glibc (before 2.32, see below) on Linux, lchmod is a stub that will
+ # always return an error, we want to detect that and declare that the
+ # function is not available.
+ # We can't check for the C library used here of course, but the main
+ # alternative Linux C library (musl) doesn't use glibc's stub mechanism;
+ # also, it has implemented lchmod since 2013, so it should be safe to check
+ # that lchmod is available on Linux when not using glibc.
if host_system == 'linux' or host_system == 'darwin'
assert (cc.has_function('poll', prefix : '#include <poll.h>',
args : unit_test_args),
@@ -57,15 +59,24 @@ foreach cc : compilers
has_lchmod = cc.has_function('lchmod', prefix : lchmod_prefix, args : unit_test_args)
if host_system == 'linux'
- glibc_major = cc.get_define('__GLIBC__', prefix: '#include <gnu/libc-version.h>', args: unit_test_args)
- glibc_minor = cc.get_define('__GLIBC_MINOR__', prefix: '#include <gnu/libc-version.h>', args: unit_test_args)
- glibc_vers = '@0@.@1@'.format(glibc_major, glibc_minor)
- message('GLIBC vetsion:', glibc_vers)
+ # __GLIBC__ macro can be retrieved by including almost any C library header
+ glibc_major = cc.get_define('__GLIBC__', prefix: '#include <unistd.h>', args: unit_test_args)
+ # __GLIBC__ will only be set for glibc
+ if glibc_major != ''
+ glibc_print = 'hi "@0@" hi'.format(glibc_major)
+ message(glibc_print)
+ glibc_minor = cc.get_define('__GLIBC_MINOR__', prefix: '#include <unistd.h>', args: unit_test_args)
+ glibc_vers = '@0@.@1@'.format(glibc_major, glibc_minor)
+ message('GLIBC version:', glibc_vers)
- # lchmod was implemented in glibc 2.32 (https://sourceware.org/pipermail/libc-announce/2020/000029.html)
- if glibc_vers.version_compare('<2.32')
- assert (not has_lchmod, '"lchmod" check should have failed')
+ # lchmod was implemented in glibc 2.32 (https://sourceware.org/pipermail/libc-announce/2020/000029.html)
+ if glibc_vers.version_compare('<2.32')
+ assert (not has_lchmod, '"lchmod" check should have failed')
+ else
+ assert (has_lchmod, '"lchmod" check should have succeeded')
+ endif
else
+ # Other C libraries for Linux should have lchmod
assert (has_lchmod, '"lchmod" check should have succeeded')
endif
else

View file

@ -1,7 +1,8 @@
# Template file for 'meson' # Template file for 'meson'
pkgname=meson pkgname=meson
version=0.58.1 reverts="0.58.1_1"
revision=1 version=0.56.2
revision=2
build_style=python3-module build_style=python3-module
hostmakedepends="python3-devel python3-setuptools" hostmakedepends="python3-devel python3-setuptools"
depends="ninja python3-setuptools" depends="ninja python3-setuptools"
@ -14,7 +15,7 @@ license="Apache-2.0"
homepage="https://mesonbuild.com" homepage="https://mesonbuild.com"
changelog="https://github.com/mesonbuild/meson/blob/master/docs/markdown/Release-notes-for-${version%.*}.0.md" changelog="https://github.com/mesonbuild/meson/blob/master/docs/markdown/Release-notes-for-${version%.*}.0.md"
distfiles="https://github.com/mesonbuild/meson/releases/download/$version/$pkgname-$version.tar.gz" distfiles="https://github.com/mesonbuild/meson/releases/download/$version/$pkgname-$version.tar.gz"
checksum=3144a3da662fcf79f1e5602fa929f2821cba4eba28c2c923fe0a7d3e3db04d5d checksum=3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4
# XXX: sanitizers aren't available on musl # XXX: sanitizers aren't available on musl
if [ "$XBPS_TARGET_LIBC" = glibc ]; then if [ "$XBPS_TARGET_LIBC" = glibc ]; then