Getting Started with the xPack Build Box
To meet the specific needs of different audiences, this site features separate User's Guide and Maintainer's Guide pages. This way, each group can easily find the information and resources most relevant to them.
The xPack Build Box (XBB) is an sophisticated build environment designed to achieve reproducible results when creating cross-platform standalone binaries for GNU/Linux, macOS, and Windows.
Features
XBB ensures repeatability and consistency by:
- Controlling the versions of the tools used during the build process.
- Compiling most dependencies (libraries) from source.
By strictly controlling the versions of the compiled sources and tools, it is possible to create build environments that utilise the same tools on both GNU/Linux and macOS, thereby ensuring consistent results.
On GNU/Linux, to facilitate builds on any distribution, the actual builds are executed within Docker containers (x64, aarch64).
On macOS, the builds are conducted on standard systems without the need for custom tools, provided the systems are pristine and free from additional tools installed via alternative package managers such as Homebrew or MacPorts.
Benefits
- All builds can be executed on any version of GNU/Linux or macOS, including those available in CI/CD environments.
- The builds are reproducible.
Status
The xpack-build-box
project is fully functional and stable.
Compatibility notices
According to SemVer rules:
Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API.
v3.0
The v3.0 release was the first production ready solution. It used very large custom Docker images for GNU/Linux and folders with compiled tools for macOS.
v5.0.0
The v5.0.0 is the first self-sustained release, which allows to build new binary xpm packages using previous package releases, without requiring any custom Docker images, or other compiled tools
License
The original content is released under the MIT License, with all rights reserved to Liviu Ionescu.
Credits
Special thanks to MacStadium, for providing the Apple Silicon development infrastructure as part of their generous Free and Open Source Software program.
Thanks to Shields IO for the badges.
Thanks to Holy Build Box for the inspiration. The project's name certainly benefited from this influence, and the initial custom Docker images (up to v5) utilised mechanisms inspired by HBB to enable various functionalities.
Enjoyed using this project? Let us know!
If you enjoyed using this project, please let us know! Here are some ways you can show your support: