Bug 231219 - [exp-run] devel/meson: Update to 0.48.0
Summary: [exp-run] devel/meson: Update to 0.48.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Koop Mast
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-07 12:35 UTC by Tamas Szakaly
Modified: 2018-10-13 20:34 UTC (History)
6 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)
antoine: exp-run+


Attachments
Patch to update meson to 0.47.2 (11.27 KB, patch)
2018-09-07 12:35 UTC, Tamas Szakaly
no flags Details | Diff
Patch to update meson to 0.48.0 (23.50 KB, patch)
2018-10-05 12:58 UTC, Ting-Wei Lan
no flags Details | Diff
Patch to update meson to 0.48.0, version 2 (24.72 KB, patch)
2018-10-08 17:52 UTC, Ting-Wei Lan
no flags Details | Diff
Fix brisk-menu build failure by using newer ld (526 bytes, patch)
2018-10-10 09:37 UTC, Ting-Wei Lan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tamas Szakaly 2018-09-07 12:35:28 UTC
Created attachment 196938 [details]
Patch to update meson to 0.47.2

The git master of wlroots requires meson >= 0.47.1 to build. This patch updates the port to 0.47.2.
Comment 1 Ting-Wei Lan 2018-09-26 17:03:12 UTC
0.48.0 is now the latest release.

I just reported two 0.47 regressions to upstream:
https://github.com/mesonbuild/meson/issues/4270
https://github.com/mesonbuild/meson/issues/4271

Both problems were found on FreeBSD and I am not sure whether they will affect FreeBSD ports build. I hope they can be resolved soon, so the meson update will be safer.
Comment 2 Tobias Kortkamp freebsd_committer freebsd_triage 2018-09-30 14:34:52 UTC
It would be good to have meson >= 0.47.0 as the current version
does not properly work with Python 3.7 and can die with the below
error.  Also see https://github.com/mesonbuild/meson/issues/3622.

It can be fixed by backporting
https://github.com/mesonbuild/meson/commit/a87496addd9160300837aa50193f4798c6f1d251
to meson 0.46.1.

Error during configure when trying to build graphics/libepoxy 1.5.2 (part
of the GNOME update from ports r480951) with DEFAULT_VERSIONS=python3=3.7:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py", line 364, in run
    app.generate()
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py", line 135, in generate
    self._generate(env)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py", line 186, in _generate
    intr.run()
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py", line 3261, in run
    super().run()
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 215, in run
    self.evaluate_codeblock(self.ast, start=1)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 239, in evaluate_codeblock
    raise e
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 231, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 254, in evaluate_statement
    return self.evaluate_if(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 307, in evaluate_if
    self.evaluate_codeblock(i.block)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 239, in evaluate_codeblock
    raise e
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 231, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 244, in evaluate_statement
    return self.function_call(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 504, in function_call
    return func(node, posargs, kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 99, in wrapped
    return f(s, node_or_state, args, kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py", line 2919, in func_subdir
    self.evaluate_codeblock(codeblock)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 239, in evaluate_codeblock
    raise e
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 231, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 246, in evaluate_statement
    return self.assignment(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 706, in assignment
    value = self.evaluate_statement(node.value)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 248, in evaluate_statement
    return self.method_call(cur)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 538, in method_call
    return obj.method_call(method_name, args, kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 140, in method_call
    return method(args, kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line 115, in wrapped
    return f(obj, args, kwargs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py", line 1215, in find_library_method
    linkargs = self.compiler.find_library(libname, self.environment, search_dirs)
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/compilers/c.py", line 823, in find_library
    if self.links(code, env, extra_args=args):
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/compilers/c.py", line 346, in links
    return self.compiles(code, env, extra_args, dependencies, mode='link')
  File "/usr/local/lib/python3.7/site-packages/mesonbuild/compilers/c.py", line 339, in compiles
    return p.returncode == 0
  File "/usr/local/lib/python3.7/contextlib.py", line 119, in __exit__
    next(self.gen)

RuntimeError: generator raised StopIteration
Comment 3 Dimitry Andric freebsd_committer freebsd_triage 2018-10-03 18:18:48 UTC
(In reply to Tobias Kortkamp from comment #2)
> It would be good to have meson >= 0.47.0 as the current version
> does not properly work with Python 3.7 and can die with the below
> error.  Also see https://github.com/mesonbuild/meson/issues/3622.
> 
> It can be fixed by backporting
> https://github.com/mesonbuild/meson/commit/
> a87496addd9160300837aa50193f4798c6f1d251
> to meson 0.46.1.
> 
> Error during configure when trying to build graphics/libepoxy 1.5.2 (part
> of the GNOME update from ports r480951) with DEFAULT_VERSIONS=python3=3.7:
> 
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py",
> line 364, in run
>     app.generate()
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py",
> line 135, in generate
>     self._generate(env)
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/mesonmain.py",
> line 186, in _generate
>     intr.run()
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py",
> line 3261, in run
>     super().run()
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 215, in run
>     self.evaluate_codeblock(self.ast, start=1)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 239, in evaluate_codeblock
>     raise e
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 231, in evaluate_codeblock
>     self.evaluate_statement(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 254, in evaluate_statement
>     return self.evaluate_if(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 307, in evaluate_if
>     self.evaluate_codeblock(i.block)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 239, in evaluate_codeblock
>     raise e
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 231, in evaluate_codeblock
>     self.evaluate_statement(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 244, in evaluate_statement
>     return self.function_call(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 504, in function_call
>     return func(node, posargs, kwargs)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 99, in wrapped
>     return f(s, node_or_state, args, kwargs)
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py",
> line 2919, in func_subdir
>     self.evaluate_codeblock(codeblock)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 239, in evaluate_codeblock
>     raise e
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 231, in evaluate_codeblock
>     self.evaluate_statement(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 246, in evaluate_statement
>     return self.assignment(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 706, in assignment
>     value = self.evaluate_statement(node.value)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 248, in evaluate_statement
>     return self.method_call(cur)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 538, in method_call
>     return obj.method_call(method_name, args, kwargs)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 140, in method_call
>     return method(args, kwargs)
>   File
> "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreterbase.py", line
> 115, in wrapped
>     return f(obj, args, kwargs)
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/interpreter.py",
> line 1215, in find_library_method
>     linkargs = self.compiler.find_library(libname, self.environment,
> search_dirs)
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/compilers/c.py",
> line 823, in find_library
>     if self.links(code, env, extra_args=args):
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/compilers/c.py",
> line 346, in links
>     return self.compiles(code, env, extra_args, dependencies, mode='link')
>   File "/usr/local/lib/python3.7/site-packages/mesonbuild/compilers/c.py",
> line 339, in compiles
>     return p.returncode == 0
>   File "/usr/local/lib/python3.7/contextlib.py", line 119, in __exit__
>     next(self.gen)
> 
> RuntimeError: generator raised StopIteration

Yep, I get this too. I've just locally applied the github fix.
Comment 4 Ting-Wei Lan 2018-10-05 12:58:21 UTC
Created attachment 197813 [details]
Patch to update meson to 0.48.0

This is the patch to update meson to the latest release, 0.48.0. Three additional patches are included to resolve issues found during building GNOME 3.30.

1. https://github.com/mesonbuild/meson/pull/4324 resolves RPATH troubles introduced in meson 0.47.0 and reported in https://github.com/mesonbuild/meson/pull/3463#issuecomment-399727814 and https://github.com/mesonbuild/meson/issues/4270.

2. https://github.com/mesonbuild/meson/pull/4325 fixes the library search path problem described in https://github.com/mesonbuild/meson/issues/4271.

3. https://github.com/mesonbuild/meson/commit/2ff69b20df0864182fdf2b146d29dc67d0cb9a5b fixes file-roller build failure reported in https://github.com/mesonbuild/meson/issues/4304.
Comment 5 Koop Mast freebsd_committer freebsd_triage 2018-10-07 18:33:35 UTC
Over to portmgr@ for exp-run.
Comment 6 Ting-Wei Lan 2018-10-08 17:52:36 UTC
Created attachment 197921 [details]
Patch to update meson to 0.48.0, version 2

This version adds a patch to fix gtk-doc build failure for at-spi2-core: https://github.com/mesonbuild/meson/pull/4348. This bug exists in older versions of meson but it is easier to trigger it in meson 0.48.
Comment 9 Ting-Wei Lan 2018-10-10 09:37:59 UTC
Created attachment 197997 [details]
Fix brisk-menu build failure by using newer ld

I have seen this kind of linking problems many times in the JHBuild environment used to compile GNOME directly from upstream git. The number of issues seem to be increasing, and I don't know why /usr/bin/ld.bfd reports errors for symbols that exist in shared libraries specified on the command line. The easiest fix is to switch to ports binutils or /usr/bin/ld.lld, and that is what I did in this patch.

This patch also changes a few other things:

  1. Remove NO_ARCH=yes because libexec/brisk-menu is a native ELF executable.
  2. Add USE_MATE=menus because brisk-menu depends on it directly.
Comment 10 Antoine Brodin freebsd_committer freebsd_triage 2018-10-11 20:01:00 UTC
Exp-run looks fine.
Comment 11 commit-hook freebsd_committer freebsd_triage 2018-10-13 20:25:34 UTC
A commit references this bug:

Author: kwm
Date: Sat Oct 13 20:24:52 UTC 2018
New revision: 482009
URL: https://svnweb.freebsd.org/changeset/ports/482009

Log:
  Resolve some problems that where exposed by the meson 0.48.0 exp-run.

  * Drop NO_ARCH, libexec/brisk-menu is a native ELF executable.
  * List USE_MATE=menus because brisk-menu depends on it directly.

  Use either /usr/bin/ld.lld or the ld from the binutils port. To work around a
  issue with /usr/bin/ld.bdf reporting errors for symbols that exist in shared
  libraries specified on the command line. It is unknown why this is happening.

  PR:		231219
  Submitted by:	Ting-Wei Lan <lantw44@gmail.com>

Changes:
  head/x11/brisk-menu/Makefile
Comment 12 commit-hook freebsd_committer freebsd_triage 2018-10-13 20:33:43 UTC
A commit references this bug:

Author: kwm
Date: Sat Oct 13 20:33:24 UTC 2018
New revision: 482011
URL: https://svnweb.freebsd.org/changeset/ports/482011

Log:
  Update meson to 0.48.0.

  This version brings python 3.7 support. For detailed changelog see:
  http://mesonbuild.com/Release-notes-for-0-47-0.html
  http://mesonbuild.com/Release-notes-for-0-48-0.html

  Exp-run by:	antoine@

  PR:		231219
  Submitted by:	Tamas Szakaly <sghctoma@gmail.com> (update to 0.47.2),
  		Ting-Wei Lan <lantw44@gmail.com> (update to 0.48.0)

Changes:
  head/devel/meson/Makefile
  head/devel/meson/distinfo
  head/devel/meson/files/patch-mesonbuild_backend_backends.py
  head/devel/meson/files/patch-mesonbuild_dependencies_base.py
  head/devel/meson/files/patch-mesonbuild_modules_gnome.py
  head/devel/meson/files/patch-mesonbuild_modules_i18n.py
  head/devel/meson/files/patch-setup.py
Comment 13 Koop Mast freebsd_committer freebsd_triage 2018-10-13 20:34:46 UTC
Committed thanks!