diff --git a/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch b/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch index 6203e82095..27253a71bc 100644 --- a/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch +++ b/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch @@ -1,11 +1,11 @@ ---- mesonbuild/modules/gnome.py 2021-06-07 17:35:31.000000000 +0000 -+++ - 2021-06-17 07:12:07.442352693 +0000 -@@ -87,7 +87,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 +--- mesonbuild/modules/gnome.py 2020-06-29 19:00:15.000000000 +0200 ++++ - 2020-07-13 12:48:58.087313471 +0200 +@@ -403,7 +403,7 @@ + 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') diff --git a/srcpkgs/meson/patches/fix-unittest.patch b/srcpkgs/meson/patches/fix-unittest.patch new file mode 100644 index 0000000000..746de056ed --- /dev/null +++ b/srcpkgs/meson/patches/fix-unittest.patch @@ -0,0 +1,77 @@ +commit 777cbe9c0faa018bafccf3e7adb8dad162276e35 +Author: Érico Rolim +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 . The 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 ', + 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 ', args: unit_test_args) +- glibc_minor = cc.get_define('__GLIBC_MINOR__', prefix: '#include ', 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 ', 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 ', 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 diff --git a/srcpkgs/meson/template b/srcpkgs/meson/template index a059488dab..ee2cab625c 100644 --- a/srcpkgs/meson/template +++ b/srcpkgs/meson/template @@ -1,7 +1,8 @@ # Template file for 'meson' pkgname=meson -version=0.58.1 -revision=1 +reverts="0.58.1_1" +version=0.56.2 +revision=2 build_style=python3-module hostmakedepends="python3-devel python3-setuptools" depends="ninja python3-setuptools" @@ -14,7 +15,7 @@ license="Apache-2.0" homepage="https://mesonbuild.com" 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" -checksum=3144a3da662fcf79f1e5602fa929f2821cba4eba28c2c923fe0a7d3e3db04d5d +checksum=3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4 # XXX: sanitizers aren't available on musl if [ "$XBPS_TARGET_LIBC" = glibc ]; then