meson

Mojca Miklavec mojca at macports.org
Thu Nov 9 10:12:27 UTC 2017


Hi,

On 8 November 2017 at 18:21, Rainer Müller wrote:
>
> 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.

And python3 of course :)

I've made an attempt to create a PortGroup:
    https://github.com/macports/macports-ports/pull/1015

> 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.

I didn't investigate that patch yet. It could also be a bug in meson
(in case it's still present).

The test for libhttpseverywhere crashes.
I tried to port glib2, but I wasn't able to figure out why pkg-config
isn't found.
I also wasn't able to find the equivalent options to switch between
x11 and quartz.

> On 2017-11-08 17:29, Ryan Schmidt wrote:
>
>> The port doesn't supply any configure args so I don't know if those need to be handled differently.

I believe they are handled in a similar way, but of course they might
be different depending on what the person who wrote the meson.build
script wanted to expose to you. So I'm pretty sure that you cannot
simply copy-paste the configure block. Generic options might be
similar, see below.

>> The port fails to build universal, so something is missing there.

I did a quick grep for "arch" in meson and not much really turned up.
I would guess that this is something that would be really nice
supporting in the system itself rather than blindly applying all the
flags. Maybe implementing slightly better support in meson itself
would be needed?

Mojca


$ meson --help
usage: meson [-h] [--prefix PREFIX] [--libdir LIBDIR]
             [--libexecdir LIBEXECDIR] [--bindir BINDIR] [--sbindir SBINDIR]
             [--includedir INCLUDEDIR] [--datadir DATADIR] [--mandir MANDIR]
             [--infodir INFODIR] [--localedir LOCALEDIR]
             [--sysconfdir SYSCONFDIR] [--localstatedir LOCALSTATEDIR]
             [--sharedstatedir SHAREDSTATEDIR]
             [--backend {ninja,vs,vs2010,vs2015,vs2017,xcode}]
             [--buildtype {plain,debug,debugoptimized,release,minsize}]
             [--strip] [--unity {on,off,subprojects}] [--werror]
             [--layout {mirror,flat}] [--default-library {shared,static}]
             [--warnlevel {1,2,3}] [--stdsplit] [--errorlogs]
             [--cross-file CROSS_FILE] [-D option] [-v]
             [--wrap-mode
{WrapMode.default,WrapMode.nofallback,WrapMode.nodownload}]
             [directories [directories ...]]

You'll probably want WrapMode.nodownload :)


More information about the macports-dev mailing list