Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 738710

Summary: meson.eclass - future releases of meson require changes
Product: Gentoo Linux Reporter: Oleh <moonlapse81>
Component: EclassesAssignee: William Hubbs <williamh>
Status: RESOLVED FIXED    
Severity: normal CC: floppym, ikelos, ostroffjh, sam
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: 0001-meson.eclass-fix-machine-files.patch
0001-meson.eclass-fix-machine-files.patch
0001-profiles-eclass-meson.eclass-fix-machine-files.patch
0001-profiles-eclass-meson.eclass-fix-machine-files.patch
Revised patch

Description Oleh 2020-08-23 12:35:00 UTC
I use git HEAD meson, and since https://github.com/mesonbuild/meson/pull/6597 [properties] has changed to [built-in options]
this is only warning now, and project build just fine

Reproducible: Always

Steps to Reproduce:
1. emerge =meson-9999
2. emerge anything-that-is-mesonbuild ( i had media-sound/mpd in particular )
3.
Actual Results:  
DEPRECATION: c_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
Comment 1 William Hubbs gentoo-dev 2020-08-30 22:26:28 UTC
It looks like I can't add this until 0.56.x is released.

Thanks,

William
Comment 2 William Hubbs gentoo-dev 2021-01-11 06:15:28 UTC
Created attachment 682330 [details, diff]
0001-meson.eclass-fix-machine-files.patch

This is the patch I have for the issue, but I think this patch has to
wait until 0.56.x goes stable.

The other way to do this would be to rework the patch to support both
versions.

William
Comment 3 William Hubbs gentoo-dev 2021-01-11 06:32:06 UTC
Created attachment 682333 [details, diff]
0001-meson.eclass-fix-machine-files.patch

This is an updated version of the patch that should work for stable as
well.

If you would like to help test, please patch meson.eclass with this
patch and make sure a package builds with both meson-0.55.x and
meson-0.56.x.
Comment 4 Oleh 2021-01-11 11:43:44 UTC
I tested patched meson.eclass with meson-0.55.3 and meson-0.56.2, no warnings about [properties] or [built-in options]
Comment 5 William Hubbs gentoo-dev 2021-01-11 18:11:43 UTC
Created attachment 682465 [details, diff]
0001-profiles-eclass-meson.eclass-fix-machine-files.patch

This is the latest version of the patch. It fixes the has_version calls.
Comment 6 William Hubbs gentoo-dev 2021-01-11 18:42:27 UTC
Created attachment 682468 [details, diff]
0001-profiles-eclass-meson.eclass-fix-machine-files.patch

This version removes code duplication.
Comment 7 Larry the Git Cow gentoo-dev 2021-01-11 18:56:33 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3cc29cc79d4e94d0144c3ebc4d8cf00d4ee2e70

commit e3cc29cc79d4e94d0144c3ebc4d8cf00d4ee2e70
Author:     William Hubbs <williamh@gentoo.org>
AuthorDate: 2021-01-11 18:54:37 +0000
Commit:     William Hubbs <williamh@gentoo.org>
CommitDate: 2021-01-11 18:56:27 +0000

    meson.eclass: fix machine files
    
    Several options we were setting in the [properties] section of the
    machine files have been moved to the [built-in options] section in
    meson 0.56.
    
    Closes: https://bugs.gentoo.org/738710
    Signed-off-by: William Hubbs <williamh@gentoo.org>

 eclass/meson.eclass | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)
Comment 8 Mike Gilbert gentoo-dev 2021-01-12 18:17:24 UTC
I reverted this because pkg_config_libdir needs to remain in the [properties] section. This lead to build failures in multilib ebuilds.

I will send a revised patch to the gentoo-dev mailing list shortly.
Comment 9 Mike Gilbert gentoo-dev 2021-05-22 16:40:32 UTC
Created attachment 710328 [details, diff]
Revised patch
Comment 10 Larry the Git Cow gentoo-dev 2021-05-22 16:54:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b46bdbdc23d5a1d073cd8afab602581f1ae0f4d8

commit b46bdbdc23d5a1d073cd8afab602581f1ae0f4d8
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2021-05-22 16:35:38 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2021-05-22 16:50:42 +0000

    meson.eclass: move compiler flags to [built-in options]
    
    Resolves deprecation notices since meson 0.56.0.
    
    Closes: https://bugs.gentoo.org/738710
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 eclass/meson.eclass | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)