meson

Rainer Müller raimue at macports.org
Wed Nov 8 17:21:03 UTC 2017


On 2017-11-08 17:29, Ryan Schmidt wrote:
> 
> On Nov 8, 2017, at 09:02, Rainer Müller wrote:
> 
>> On 2017-11-08 14:04, Mojca Miklavec wrote:
>>> Yes, we should prepare a PortGroup for it, I didn't start anything
>>> yet, but I could look into it. It might help to start with some list
>>> of packages that support it.
>>
>> meson even prominently documents the use case for packaging:
>> http://mesonbuild.com/Quick-guide.html#using-meson-as-a-distro-packager
>>
>> It seems like meson respects the usual environment variables like CC,
>> CFLAGS, LDFLAGS, etc. so a port group should mostly need to set the
>> configure and build commands.
> 
> Well the one port currently using meson does more than that. It adds the meson and ninja build dependencies (since meson depends on ninja probably only the meson dependency is needed); sets the configure.cmd to meson and the build.cmd to ninja; adds args to make the build happen in an out-of-source build dir; adjusts how DESTDIR is supplied; and fixes a dylib install_name that ninja apparently generates incorrectly. The port doesn't supply any configure args so I don't know if those need to be handled differently. The port fails to build universal, so something is missing there.
> 
> 
> https://github.com/macports/macports-ports/blob/master/www/libhttpseverywhere/Portfile

I did not mean there is nothing else to do, but it seems simpler as what
is needed for cmake. meson using ninja to build is the same as cmake
using make. Just that ninja is an extra dependency as it is not assumed
to be provided by the system.

What is needed to fix the install name sounds like a bug in ninja and is
probably better addressed there, as I assume it affects all ports using
ninja, not just those which use meson in the configure phase.

Rainer


More information about the macports-dev mailing list