Skip to content

Notes on migration to meson

ebraminio edited this page Aug 14, 2020 · 13 revisions

As Arch Linux, Alpine Linux and msys2 have migrated to the meson port since 2.6.8, we have become confident that the meson port is probably usable for packaging the library -- but of course feedback is still welcomed and some minor issues are expected.

As meson distribution tarballs are similar to source checkouts, our recommend URL scheme for downloading the source tarball now is https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz (GitHub generated tarballs) or using commit hash of the release like, git+https://github.com/harfbuzz/harfbuzz#commit=$commit (used by Arch Linux) which is much more safe and reliable in terms of knowing which exact changes has led to the release.

If you are just integrating the library into your software and don't have the cycles to migrate to meson for now, there is also amalgam/unity support, src/harfbuzz.cc. This is a single source file that includes the whole library, provided along the source. However using it requires a minor study of what the build configs (meson or autotools) do with flags and definitions that they pass to the compiler -- thus we recommend use of the regular build system for most cases and specially recommend against the use of the amalgam for *nix packages.

Packagers are advised to enable build optimizations and have things like --auto-features=enabled --wrap-mode=nodownload enabled and install any other needed packages (most distributions build harfbuzz with graphite support which needs to be enabled separately, -Dgraphite=enabled), and follow other best practices of packaging a meson project.

Examples of meson built harfbuzz packages,

Clone this wiki locally