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.
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.
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
(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.
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.
Over to portmgr@ for exp-run.
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.
a new failure on 10.4 i386: http://package23.nyi.freebsd.org/data/104i386-default-PR231219-982-2038/2018-10-08_19h44m01s/logs/errors/brisk-menu-0.5.1.log
A new failure on 10.4 amd64: http://package22.nyi.freebsd.org/data/104amd64-default-PR231219-982-2038/2018-10-08_19h43m58s/logs/errors/brisk-menu-0.5.1.log
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.
Exp-run looks fine.
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
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
Committed thanks!