jack_mixer uses meson and optionally a Python PEP-517-compliant build system for building, installation and packaging.
Build requirements:
- GCC (version 9.x or 10.x recommended)
- meson >= 0.54.01
- ninja
- Python headers
- JACK headers
- glib2 headers
- gettext
- Cython (optional, required if building from a Git checkout)
- docutils (optional,
rst2man
required if building from a Git checkout)
Runtime requirements:
Optional run-time dependencies:
- appdirs (for saving your preferences, strongly recommended)
- NSM (for NSM session management support)
The run-time Python dependencies are checked by meson when setting up the
build directory. To disable this, use the -Dcheck-py-modules=false
option to
meson setup.
1 meson 0.53.0 also works if you use ninja compile
and
ninja install
instead of meson compile
and meson install
.
Building with meson always happens in a special build directory. Set up the
build in the builddir
sub-directory and configure the build with:
meson setup builddir --prefix=/usr --buildtype=release
Then build the software with:
meson compile -C builddir
Note: For building jack_mixer from source on debian / Ubuntu derrived Linux distributions, please refer to this wiki page. If possible, use your distribution's package manager to install jack_mixer.
[sudo] meson install -C builddir
Note for packagers: to install all files under a destination directory
other than the filesystem root, set the DESTDIR
environment variable for
meson install
.
For example:
DESTDIR="/tmp/jack_mixer-install-root" meson install -C builddir
There are several project-specific options to configure the build and the resulting installation. To see all supported options (including standard meson options) and their possible values run:
meson configure
If you have already set up the build directory, you can append its name to see the current values of all options for this build configuration.
To change an option, pass the build directory and -Doption=value
to
meson setup
or meson configure
. For example:
meson configure builddir -Dgui=disabled
- Make sure you have Python 3,
git
and pip installed and your internet connection is online. - Run the following command to build a binary wheel:
pip wheel .
This will automatically download the required build tools, e.g. Cython, meson,
ninja, the Python wheel
package etc. (see the pyproject.toml file for
details), build the software with meson and then package it into a wheel, which
will be placed in the project's root directory.
The wheel can be installed with pip install jack_mixer-*.whl
.