Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] meson: update to 0.58.1
@ 2021-07-17 22:21 paper42
  2021-07-18 21:34 ` [PR PATCH] [Updated] " paper42
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: paper42 @ 2021-07-17 22:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 990 bytes --]

There is a new pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages meson-0.58.1
https://github.com/void-linux/void-packages/pull/32027

meson: update to 0.58.1
meson 0.58 was previously reverted because it broke mutter and other GNOME packages which use generate_gir, I bisected it and reverted the commits that made it fail, I also created an upstream issue https://github.com/mesonbuild/meson/issues/8999.

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

A patch file from https://github.com/void-linux/void-packages/pull/32027.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-meson-0.58.1-32027.patch --]
[-- Type: text/x-diff, Size: 10993 bytes --]

From 653637eb8ce3c2ee031d57c9a35b9857b44e9de7 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 17 Jul 2021 10:48:46 +0200
Subject: [PATCH] meson: update to 0.58.1

---
 .../dont-use-native-pkgconfig-for-gir.patch   | 11 ---
 srcpkgs/meson/patches/fix-unittest.patch      | 77 -------------------
 ...dle-libraries-that-are-not-in-the-cu.patch | 54 +++++++++++++
 srcpkgs/meson/template                        |  7 +-
 4 files changed, 57 insertions(+), 92 deletions(-)
 delete mode 100644 srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch
 delete mode 100644 srcpkgs/meson/patches/fix-unittest.patch
 create mode 100644 srcpkgs/meson/patches/revert-gnome-Handle-libraries-that-are-not-in-the-cu.patch

diff --git a/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch b/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch
deleted file mode 100644
index 3eefcff8e115..000000000000
--- a/srcpkgs/meson/patches/dont-use-native-pkgconfig-for-gir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/mesonbuild/modules/gnome.py	2020-06-29 19:00:15.000000000 +0200
-+++ b/mesonbuild/modules/gnome.py	2020-06-29 19:00:15.000000000 +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
deleted file mode 100644
index 8f73249b9f86..000000000000
--- a/srcpkgs/meson/patches/fix-unittest.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-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
---- a/test cases/common/39 has function/meson.build	
-+++ b/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
diff --git a/srcpkgs/meson/patches/revert-gnome-Handle-libraries-that-are-not-in-the-cu.patch b/srcpkgs/meson/patches/revert-gnome-Handle-libraries-that-are-not-in-the-cu.patch
new file mode 100644
index 000000000000..cbec0aa37c17
--- /dev/null
+++ b/srcpkgs/meson/patches/revert-gnome-Handle-libraries-that-are-not-in-the-cu.patch
@@ -0,0 +1,54 @@
+Revert "gnome: Handle libraries that are not in the current build dir"
+(gnome: Handle libraries that are not in the current build dir)
+
+This reverts commits df4314c7b88998aa9e7a497b1da04efb77110f60 (gnome: Handle libraries that are not in the current build dir) and 21897a10ca0295f65f158ed3cbac396bc5adbb54 (backends: Remove @PRIVATE_OUTDIR_(ABS)@ substitution"), because the revert of the first commit uses the substitutions removed by the second reverted commit.
+
+diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
+index ee5f4463a..9b4f34912 100644
+--- a/mesonbuild/backend/backends.py
++++ b/mesonbuild/backend/backends.py
+@@ -1250,6 +1250,18 @@ class Backend:
+                     else:
+                         pdir = self.get_target_private_dir(target)
+                     i = i.replace('@PRIVATE_DIR@', pdir)
++                if '@PRIVATE_OUTDIR_' in i:
++                    match = re.search(r'@PRIVATE_OUTDIR_(ABS_)?([^/\s*]*)@', i)
++                    if not match:
++                        msg = 'Custom target {!r} has an invalid argument {!r}' \
++                              ''.format(target.name, i)
++                        raise MesonException(msg)
++                    source = match.group(0)
++                    if match.group(1) is None and not target.absolute_paths:
++                        lead_dir = ''
++                    else:
++                        lead_dir = self.environment.get_build_dir()
++                    i = i.replace(source, os.path.join(lead_dir, outdir))
+             else:
+                 err_msg = 'Argument {0} is of unknown type {1}'
+                 raise RuntimeError(err_msg.format(str(i), str(type(i))))
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index 99a6071d4..490bbb7fe 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -615,16 +615,15 @@ class GnomeModule(ExtensionModule):
+             else:
+                 # Because of https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/72
+                 # we can't use the full path until this is merged.
+-                libpath = os.path.join(girtarget.get_subdir(), girtarget.get_filename())
+                 if isinstance(girtarget, build.SharedLibrary):
+-                    # need to put our output directory first as we need to use the
+-                    # generated libraries instead of any possibly installed system/prefix
+-                    # ones.
+-                    ret += ["-L@BUILD_ROOT@/{}".format(os.path.dirname(libpath))]
+                     libname = girtarget.get_basename()
+                 else:
+-                    libname = os.path.join(f"@BUILD_ROOT@/{libpath}")
++                    libname = os.path.join("@PRIVATE_OUTDIR_ABS_%s@" % girtarget.get_id(), girtarget.get_filename())
+                 ret += ['--library', libname]
++                # need to put our output directory first as we need to use the
++                # generated libraries instead of any possibly installed system/prefix
++                # ones.
++                ret += ["-L@PRIVATE_OUTDIR_ABS_%s@" % girtarget.get_id()]
+                 # Needed for the following binutils bug:
+                 # https://github.com/mesonbuild/meson/issues/1911
+                 # However, g-ir-scanner does not understand -Wl,-rpath
diff --git a/srcpkgs/meson/template b/srcpkgs/meson/template
index bb484ec3e45e..94b33b6b5a1b 100644
--- a/srcpkgs/meson/template
+++ b/srcpkgs/meson/template
@@ -1,8 +1,7 @@
 # Template file for 'meson'
 pkgname=meson
-reverts="0.58.1_1"
-version=0.56.2
-revision=3
+version=0.58.1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-devel python3-setuptools"
 depends="ninja python3-setuptools"
@@ -15,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=3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4
+checksum=3144a3da662fcf79f1e5602fa929f2821cba4eba28c2c923fe0a7d3e3db04d5d
 
 # XXX: sanitizers aren't available on musl
 if [ "$XBPS_TARGET_LIBC" = glibc ]; then

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PR PATCH] meson: update to 0.58.1.
@ 2021-06-16 19:29 Johnnynator
  2021-06-17  7:13 ` [PR PATCH] [Updated] " Johnnynator
  0 siblings, 1 reply; 17+ messages in thread
From: Johnnynator @ 2021-06-16 19:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1566 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages meson
https://github.com/void-linux/void-packages/pull/31529

meson: update to 0.58.1.
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/31529.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-meson-31529.patch --]
[-- Type: text/x-diff, Size: 1139 bytes --]

From d7fbf68248ba1fa09ffda8c78c1f106ee9735a7e Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 16 Jun 2021 20:21:29 +0200
Subject: [PATCH] meson: update to 0.58.1.

---
 srcpkgs/meson/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/meson/template b/srcpkgs/meson/template
index 64a12e6d7a98..a059488dabf8 100644
--- a/srcpkgs/meson/template
+++ b/srcpkgs/meson/template
@@ -1,6 +1,6 @@
 # Template file for 'meson'
 pkgname=meson
-version=0.56.2
+version=0.58.1
 revision=1
 build_style=python3-module
 hostmakedepends="python3-devel python3-setuptools"
@@ -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=3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4
+checksum=3144a3da662fcf79f1e5602fa929f2821cba4eba28c2c923fe0a7d3e3db04d5d
 
 # XXX: sanitizers aren't available on musl
 if [ "$XBPS_TARGET_LIBC" = glibc ]; then

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-08-09 17:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-17 22:21 [PR PATCH] meson: update to 0.58.1 paper42
2021-07-18 21:34 ` [PR PATCH] [Updated] " paper42
2021-07-18 21:36 ` paper42
2021-07-18 21:43 ` ericonr
2021-07-20  9:29 ` [PR PATCH] [Updated] " paper42
2021-07-20  9:29 ` meson: update to 0.58.2 paper42
2021-08-03 10:40 ` st3r4g
2021-08-03 10:41 ` st3r4g
2021-08-03 10:42 ` st3r4g
2021-08-03 10:47 ` st3r4g
2021-08-03 13:56 ` ericonr
2021-08-03 20:53 ` st3r4g
2021-08-03 22:02 ` paper42
2021-08-03 22:12 ` st3r4g
2021-08-09 10:46 ` st3r4g
2021-08-09 17:30 ` [PR PATCH] [Merged]: " paper42
  -- strict thread matches above, loose matches on Subject: below --
2021-06-16 19:29 [PR PATCH] meson: update to 0.58.1 Johnnynator
2021-06-17  7:13 ` [PR PATCH] [Updated] " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).