From dd36cc5d4c1d71a368df6a2a4f791ecbb286e78a Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Sat, 6 Aug 2022 18:23:29 +0200 Subject: [PATCH 1/2] meson: update to 0.63.2. --- srcpkgs/meson/patches/10702.patch | 59 ------------------------------- srcpkgs/meson/template | 8 ++--- 2 files changed, 4 insertions(+), 63 deletions(-) delete mode 100644 srcpkgs/meson/patches/10702.patch diff --git a/srcpkgs/meson/patches/10702.patch b/srcpkgs/meson/patches/10702.patch deleted file mode 100644 index 7ab15ebbc007..000000000000 --- a/srcpkgs/meson/patches/10702.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 869b95d0c2a854d73db0fceb7d0dbee9dc88cf46 Mon Sep 17 00:00:00 2001 -From: Eli Schwartz -Date: Tue, 16 Aug 2022 22:42:53 -0400 -Subject: [PATCH] minstall: do not trample install_mode by rpath fixer - -install_mode can include the setuid bit, which has the special property -(mentioned in the set_mode logic for minstall itself) of needing to come -last, because it "will get wiped by chmod" (or at least chown). - -In fact, it's not just chown that wipes setuid, but other changes as -well, such as the file contents. This is not an issue for install_data / -custom_target, but for compiled outputs, we run depfixer to handle -rpaths. This may or may not cause edits to the binary, depending on -whether we have a build rpath to wipe, or an install rpath to add. (We -also may run `strip`, but that external program already has its own mode -restoration logic.) - -Fix this by switching the order of operations around, so that setting -the permissions happens last. - -Fixes https://github.com/void-linux/void-packages/issues/38682 ---- - mesonbuild/minstall.py | 3 ++- - test cases/common/190 install_mode/meson.build | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py -index 551f909c80d..a810ccbbd40 100644 ---- a/mesonbuild/minstall.py -+++ b/mesonbuild/minstall.py -@@ -693,7 +693,6 @@ def install_targets(self, d: InstallData, dm: DirMaker, destdir: str, fullprefix - raise MesonException(f'File {fname!r} could not be found') - elif os.path.isfile(fname): - file_copied = self.do_copyfile(fname, outname, makedirs=(dm, outdir)) -- self.set_mode(outname, install_mode, d.install_umask) - if should_strip and d.strip_bin is not None: - if fname.endswith('.jar'): - self.log('Not stripping jar target: {}'.format(os.path.basename(fname))) -@@ -723,6 +722,8 @@ def install_targets(self, d: InstallData, dm: DirMaker, destdir: str, fullprefix - pass - else: - raise -+ # file mode needs to be set last, after strip/depfixer editing -+ self.set_mode(outname, install_mode, d.install_umask) - - def rebuild_all(wd: str) -> bool: - if not (Path(wd) / 'build.ninja').is_file(): -diff --git a/test cases/common/190 install_mode/meson.build b/test cases/common/190 install_mode/meson.build -index cae1e91aba3..e877ba75757 100644 ---- a/test cases/common/190 install_mode/meson.build -+++ b/test cases/common/190 install_mode/meson.build -@@ -51,6 +51,7 @@ install_man('foo.1', - executable('trivialprog', - sources : 'trivial.c', - install : true, -+ build_rpath: meson.current_build_dir(), - install_mode : ['rwxr-sr-x', 'root', 'root']) - - # test install_mode in static_library diff --git a/srcpkgs/meson/template b/srcpkgs/meson/template index d3243fe16052..aea31234fd19 100644 --- a/srcpkgs/meson/template +++ b/srcpkgs/meson/template @@ -1,12 +1,12 @@ # Template file for 'meson' pkgname=meson -version=0.62.2 -revision=2 +version=0.63.2 +revision=1 build_style=python3-module hostmakedepends="python3-devel python3-setuptools" depends="ninja python3-setuptools" checkdepends="glib-devel gobject-introspection ninja - gcc-objc++ clang qt5-devel cmake llvm git pkg-config vala python-devel + gcc-objc++ clang qt5-devel cmake llvm git pkg-config vala python3-devel cross-arm-linux-gnueabihf" short_desc="Super fast build system" maintainer="Michal Vasilek " @@ -14,7 +14,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=a7669e4c4110b06b743d57cc5d6432591a6677ef2402139fe4f3d42ac13380b0 +checksum=16222f17ef76be0542c91c07994f9676ae879f46fc21c0c786a21ef2cb518bbf # XXX: sanitizers aren't available on musl if [ "$XBPS_TARGET_LIBC" = glibc ]; then From c3c8a6645230a1357704b75b342d1b0f6fb27e36 Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Sat, 6 Aug 2022 18:23:26 +0200 Subject: [PATCH 2/2] budgie-desktop: fix build with meson 0.63 --- .../budgie-desktop/patches/meson-0.63.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 srcpkgs/budgie-desktop/patches/meson-0.63.patch diff --git a/srcpkgs/budgie-desktop/patches/meson-0.63.patch b/srcpkgs/budgie-desktop/patches/meson-0.63.patch new file mode 100644 index 000000000000..07b36c8dda55 --- /dev/null +++ b/srcpkgs/budgie-desktop/patches/meson-0.63.patch @@ -0,0 +1,33 @@ +From 078ee1b05436adc67ba6175345ebdfd5c0463195 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 20 Jun 2022 19:59:35 -0400 +Subject: [PATCH] fix broken C std for gvc subproject + +Historically, Meson didn't know how to set c_std for a subproject at +all. Meson 0.63.0 adds support for this, so the default_options kwarg to +subproject now begins to respect this. + +budgie-desktop uses c11, but artificially sets c89 for the gvc +submodule. However, this does not actually work... the build then errors +out when trying to build +subprojects/gvc/test-audio-device-selection.p/test-audio-device-selection.c.o + +Remove the faulty argument. + +Fixes regression in commit 3d6d71c167dd9742cd072e7e6a3453c23ebb2658. +--- + meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 763d5a1b..3c52b8f5 100644 +--- a/meson.build ++++ b/meson.build +@@ -130,7 +130,6 @@ with_polkit = get_option('with-polkit') + # Get gvc built before we do anything + gvc = subproject('gvc', + default_options: [ +- 'c_std=c89', + 'static=false', + 'pkglibdir=@0@'.format(rpath_libdir), + 'package_name=' + meson.project_name(),