[pacman-dev] [PATCH] Add meson.build files to build with meson

Dave Reisner d at falconindy.com
Tue Oct 23 22:46:34 UTC 2018


On Sun, Oct 21, 2018 at 10:11:18PM -0400, Dave Reisner wrote:
> On Mon, Oct 22, 2018 at 11:16:25AM +1000, Allan McRae wrote:
> > On 22/10/18 10:03 am, Dave Reisner wrote:
> > > On Mon, Oct 22, 2018 at 09:56:04AM +1000, Allan McRae wrote:
> > >> On 22/10/18 8:57 am, Eli Schwartz wrote:
> > >>>> Also, most projects ship prebuilt man pages. I think some GNU ones
> > >>>> commit the built page to the tree, so that could be an option.
> > >>
> > >>> Both those things are also true about the configure and Makefile.in files...
> > >>
> > >> That is another good reason not to use git archive to create release
> > >> tarballs.
> > >>
> > >> A
> > > 
> > > Consider that the reason we need 'make dist' and can't just use 'git
> > > archive' is because autotools *requires* extra tooling around just to
> > > generate the build system. This is no longer needed with meson.
> > 
> > Good point!  I'm not overly familiar with meson, so missed that completely.
> > 
> > > Pre-generating the manpages means that our substitutions are
> > > invalidated. For example, someone building from the tarball with
> > > --prefix=/some/where/else or no --prefix at all will have a
> > > pacman.conf(5) that still claims the right path is /etc/pacman.conf
> > > 
> > > I understand your point about python2 vs python3, but I think that's
> > > something we can work out based on a python3-based asciidoc in
> > > existance.
> > 
> > Does the meson build script allow us to not create docs if wanted?
> 
> Yes, see the meson_options.txt as part of this patch. One can invoke
> meson with -Ddoc=disabled to prevent manpages from being built.
> 
> > > What problems here would you like to see solved for the inclusion of
> > > meson? That will help me focus my time spent on this.
> > 
> > None need solved for inclusion in the current state.  I'm just trying to
> > understand what our future release process will look like.
> 
> Great!
> 
> > While we have autotools in parallel, if I run "make dist" with this
> > patch, do all the needed meson files get included too?   Can we get a
> > helper script to run doxygen?
> 
> No, meson.build files will not be included with the autotools-built
> 'make dist' tarball. It feels weird to do this. I suspect that if we
> want to switch the Arch build over while this dual build-system world
> exists, we should just build from a tag in the git repo.
> 
> Yes, I can add a script in build-aux to invoke doxygen. It's also
> possible I could create the Doxyfile as a .in file, and generate the
> right OUTPUT_DIRECTORY for invocation through the buildsys. There's
> actually an upstream example of exactly this:
> 
> https://github.com/mesonbuild/meson/blob/master/test%20cases/frameworks/14%20doxygen/doc/meson.build
> 
> I'll look into options here.

Figured this out, there's now a -Ddoxygen flag on the build system which
will build and install the doxygen crap if wanted. Adding this requires
a slight tweak on the autotools side to handle the Doxyfile ->
Doxyfile.in rename and subsequent generation.

dR


More information about the pacman-dev mailing list