[RFC PATCH 0/8] Meson build system

Emil Velikov emil.l.velikov at gmail.com
Fri Dec 2 19:39:02 UTC 2016


On 2 December 2016 at 18:28, Daniel Stone <daniel at fooishbar.org> wrote:
> Hey,
>
> On 2 December 2016 at 18:25, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> On 1 December 2016 at 15:24, Daniel Stone <daniel at fooishbar.org> wrote:
>>> On 1 December 2016 at 14:11, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>>> This does not mitigate the fact that meson/ninja _does_ have some cool
>>>> features and is noticeably faster _by default_.
>>>> Yet there's also the fact that distributions and/or builders simply
>>>> cannot use python/similar tools when using distribution tarballs.
>>>
>>> Hm, why can't they use Python ... ? Installing Meson in a clean Debian
>>> chroot (no Python3 installed) resulted in 5.5MB of packages being
>>> downloaded, which expanded to 28MB on disk, much of which appears to
>>> be Python locales, or things like expat and bzip2 which we would've
>>> needed anyway. Fedora, Debian/Ubuntu, and OpenSUSE all have very
>>> up-to-date versions, and I understand there's support in Yocto/BitBake
>>> as well. It's not the sort of thing I'd expect Gentoo/Arch to have an
>>> issue with.
>>>
>>> For example, Debian's Weston build depends on debhelper (including
>>> Perl), Quilt, Pixman, libpng, libjpeg, colord, all of Mesa (with a
>>> transient build-dependency to LLVM on x86), XCB and a few component
>>> libraries, Xlib, udev/systemd, xkbcommon, Cairo (>4MB), Pango, (2MB),
>>> gdk-pixbuf (?!), Xcursor, mtdev, VP8, and libinput. This pretty much
>>> eclipses the weight of the Python stdlib subset (python3-minimal on
>>> Debian), especially when compared to the combined 4.7MB + Perl (>
>>> 25MB) + M4 required to rebuild the autotools files, or the 2.7MB (?!)
>>> of shell/Makefile/M4 generated by autoreconf.
>>
>> The above seems like a strange mix of build tools and (runtime) dependencies.
>
> I was just trying to understand your 'distributions and/or builders
> simply cannot use python/similar tools when using distribution
> tarballs' statement. The above is the list of build dependencies for
> Debian's weston package: all of those things have to be installed in
> order to compile Weston for the Debian package. Of course every
> distribution is different, but at least with that list, installing
> Python does not seem particularly onerous. Or did you mean something
> by 'simply cannot use python'?
>
IIRC some have the philosophical reasoning alike "thou shall not need
anything but autofoo and dependencies explicitly required" while
others run things in an (network) isolated environments where one
cannot pull python/others.

One example that involved a fair bit of nitpicking: one of the guys
was building piglit on an older RHEL.
Things were failing miserably since the mako/numpy/other module
shipped was old. At the same time connecting to the web to pull newer
one (via pip) was a no-go.

TL;DR; People have strange reasons to not use A or B. No-one can
foresee all the corner-cases, let alone know the distribution
policies.

-Emil


More information about the wayland-devel mailing list