xPack Meson Build v0.56.2-1 released
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 --verbose
To install this specific version, use:
xpm install --global @xpack-dev-tools/meson-build@0.56.2-1.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
- none
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
- [#3] The macOS version fails to start properly with multiple symbolic links.
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 binaries 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 README-MAINTAINER 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:
0c621e837266e7bdf17e0b74e1802239eb069c0a922c8ccc5c63e5e0e703d738
xpack-meson-build-0.56.2-1-darwin-x64.tar.gz
9e233d0379c1d17fb9efc1898965aa2ba300423e63230353f6378e7cbba442c4
xpack-meson-build-0.56.2-1-linux-arm64.tar.gz
0e177adc93f90921ebbfbe38916a1216890816f70ab7eae73127703f9f026fbc
xpack-meson-build-0.56.2-1-linux-arm.tar.gz
5fc3883798d8eea0ad95ac0ada3b13ca1286468079b92e27f43d861c5582b7d6
xpack-meson-build-0.56.2-1-linux-ia32.tar.gz
fd37cf6cbeb7429fb9816d1333d8b0c1da40b3a66a0b2de8d74d1e1fcf5d4a67
xpack-meson-build-0.56.2-1-linux-x64.tar.gz
048f382c8f7023a49c9235dafde61b58785ce8bc55853d9a1ef8968c6a389abf
xpack-meson-build-0.56.2-1-win32-ia32.zip
fc5daa4b6b2c06ab5d3514b53fc5a6b8a3576e6beb7c25574a737ff7cddad520
xpack-meson-build-0.56.2-1-win32-x64.zip
Download analytics
- GitHub xpack-dev-tools/meson-build-xpack
- this release
- all xPack releases
- individual file counters (grouped per release)
- npmjs.com @xpack-dev-tools/meson-build
Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.