Version 0.56.2-2 is a maintenance release of the xPack Meson Build package, intended to fix the macOS starting bug.

The xPack Meson Build is the xPack distribution of the Meson build system.

There are separate binaries for Windows (Intel 32/64-bit), macOS (Intel 64-bit) and GNU/Linux (Intel 32/64-bit, Arm 32/64-bit).

Download

The binary files are available from GitHub releases.

Install

The full details of installing the xPack Meson Build on various platforms are presented in the separate Install page.

Easy install

The easiest way to install Meson Build is with xpm by using the binary xPack, available as @xpack-dev-tools/meson-build from the npmjs.com registry.

To install the latest version available, use:

$ xpm install --global @xpack-dev-tools/meson-build@latest

To install this specific version, use:

$ xpm install --global @xpack-dev-tools/meson-build@0.56.2-2.1

Compliance

The xPack Meson Build is based on the official Meson build system, without any changes.

The current version is based on:

  • Meson release 0.56.2 from Jan 10th, 2021.

Bug fixes

  • [#3] on macOS, the binary did not identify the executable absolute path correctly and failed to start; the logic was changed to use proc_pidpath() and the bug was fixed.

Enhancements

  • none

Changes

Compared to the upstream version, there are no functional changes.

Embedded Python

To simplify dependency management, this release embeds a Python 3.8.6 instance.

The meson executable is a standard ELF/EXE which includes the Python run-time; the main() function prepares the Python environment and then invokes the Meson main:

  PyRun_SimpleString("from mesonbuild import mesonmain\n");
  PyRun_SimpleString("sys.exit(mesonmain.main())\n");

The Python library is located in the standard location:

  • lib/python3.8
  • lib/python3.8/lib-dynload (the platform dependent files)

The Meson files are located in:

  • lib/python3.8/mesonbuild

To speed up execution, all Python files are compiled and are available only as .pyc.

Known problems

  • none

Shared libraries

On all platforms the packages are standalone, and expect only the standard runtime to be present on the host.

All dependencies that are build as shared libraries are copied locally in the same folder as the executable.

DT_RPATH and LD_LIBRARY_PATH

On GNU/Linux the binaries are adjusted to use a relative path:

$ readelf -d library.so | grep runpath
 0x000000000000001d (RPATH)            Library rpath: [$ORIGIN]

In the GNU ld.so search strategy, the DT_RPATH has the highest priority, higher than LD_LIBRARY_PATH, so if this later one is set in the environment, it should not interfere with the xPack binaries.

@executable_path

Similarly, on macOS, the dynamic libraries are adjusted with otool to use a relative path.

Documentation

The original documentation is available from:

Supported platforms

Binaries for Windows, macOS and GNU/Linux are provided.

The binaries were built using the xPack Build Box (XBB), a set of build environments based on slightly older distributions, that should be compatible with most recent systems.

  • Intel GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 12 Docker container
  • Arm GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 16 Docker container (added in mid-2020)
  • Windows: all binaries were built with mingw-w64 GCC 9.3, running in an Ubuntu 12 Docker container
  • macOS: all binaries were built with GCC 9.3, running in a separate folder on macOS 10.10.5.

Build

The scripts used to build this distribution are in:

  • distro-info/scripts

For the prerequisites and more details on the build procedure, please see the How to build page.

Travis tests

The first set of tests were performed on Travis, by running a simple script to check if the binaries start on a wide range of platforms and distributions:

Tests

TBD

Checksums

The SHA-256 hashes for the files are:

61739c5dc93d61205cc40a49d604caebad71c9889ea356fa15d022831385c155
xpack-meson-build-0.56.2-2-darwin-x64.tar.gz

157a890caa5badf8a40d530f50571822a0b45227d115f53a1ddc8dc8ce64068b
xpack-meson-build-0.56.2-2-linux-arm64.tar.gz

90307812e56ccfa8a3ed63e99be157af8f757c1a3f3018218d032e48a7709762
xpack-meson-build-0.56.2-2-linux-arm.tar.gz

1840280797bc046a49cb6c7e9379be8404d00aa000b00ae73a1bfd8f9bea4200
xpack-meson-build-0.56.2-2-linux-ia32.tar.gz

4f81cb5c18b41e5d8b78f78c5570f908d2030e7a2cbcdeb0b72c9e744449164b
xpack-meson-build-0.56.2-2-linux-x64.tar.gz

f7b78b7f286db6e4bf700b88b9f4d2756507bee0c7fd26e9b4d9a552f3b4b3af
xpack-meson-build-0.56.2-2-win32-ia32.zip

bf0fec9f84997910994e391a6695967fec1a6781f7055206d3e557e47b0fb5d2
xpack-meson-build-0.56.2-2-win32-x64.zip

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.