unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: David Bremner <david@tethera.net>, notmuch@notmuchmail.org
Subject: Re: [RFC PATCH] build: add meson build system
Date: Sun, 12 Jan 2020 15:42:39 +0200	[thread overview]
Message-ID: <87ftgkiyeo.fsf@nikula.org> (raw)
In-Reply-To: <87r2043lzc.fsf@tethera.net>

On Sun, 12 Jan 2020, David Bremner <david@tethera.net> wrote:
> Jani Nikula <jani@nikula.org> writes:
>
>> This is a draft patch adding basic configure, build and test support
>> for the binaries. Everything else is left out for now. It would be a
>> considerable amount of work to convert everything, and I don't expect
>> it to be possible in one go anyway. If there's interest in adding
>> meson support, it would have to happen gradually, side-by-side with
>> the current system, with a reasonably long transition period. But
>> there's no point in going beyond the patch at hand if folks decide the
>> focus should remain on the current system.
>
> Personally I think the idea is worth pursuing, but I admit I don't have
> much experience with meson/ninja.  How much churn can we expect from
> meson changes? It seems there is something like one meson point release
> per month.

I build projects with meson regularly, but I don't develop the build
files on a regular basis. So take this with a grain of salt. But I think
overall the experience has been pleasant. They do keep adding features
all the time, but AFAIK the version currently in e.g. Debian stable is
usable, and the new features don't break existing stuff.

If you want to hold back to an older version, you might have to put more
effort to things that are easier in newer versions - but the solution
should work in all versions. Any churn would be caused by taking
advantage of the new features.

> Are the tests supposed to be working fully in this version? When I run
>
> % meson && cd build && ninja && ninja test
>
> I get failures in T010, T351, T356, T357, T391, T395, and T710.  At a
> glance it looks like mainly out-of-tree related problems to finding
> e.g. json_check_nodes.py and message-id-parse. It also looks like a few
> variables like TEST_RUBY and NOTMUCH_HAVE_PYTHON3_CFFI are not being
> set.

I get those failures too, as I haven't bothered with debugging in more
detail yet. I just brought this to a point that mostly works.

If we decide we can start merging meson support, it's going to be
experimental and not fully featured initially. I think we'd have to
decide what's "good enough". Obviously I think the tests must all pass,
either by fixing the issues or gracefully disabling features. For
example, I don't currently build any of notmuch-emacs or documentation -
they will require custom build rules, while all the C and C++ work out
of the box.

I think mostly meson support can be added in parallel to the existing
system. Some things might have to be fixed for both, e.g. meson only
works with out-of-tree builds. The annoying part will be the transition
period, where you have to maintain both. And if we decide we'll want
both ad infinitum, it'll be an annoyance ad infinitum... ;)

BR,
Jani.

  reply	other threads:[~2020-01-12 13:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-11 16:40 [RFC PATCH] build: add meson build system Jani Nikula
2020-01-12 12:20 ` David Bremner
2020-01-12 13:42   ` Jani Nikula [this message]
2020-01-12 15:07     ` Tomi Ollila
2020-02-17 11:10 ` [RFC PATCH] build: Add meson.build for Ruby bindings Thomas Schneider

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ftgkiyeo.fsf@nikula.org \
    --to=jani@nikula.org \
    --cc=david@tethera.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).