Skip to content

Instantly share code, notes, and snippets.

@fwcd
Last active December 2, 2023 01:50
Show Gist options
  • Save fwcd/6ef98ddfc68629f4f0dd5703386c245e to your computer and use it in GitHub Desktop.
Save fwcd/6ef98ddfc68629f4f0dd5703386c245e to your computer and use it in GitHub Desktop.
Building Mixxx for ARM64 macOS (Apple Silicon)

Warning

These are not official build instructions. No guarantees that these will work! In particular the dependencies may change at any time and you might have to check the CI builds to find out what to install.

Note

For (unofficial) binaries and scripts that simplify this build process, check out m1xxx.

Building the dependencies

To build Mixxx for ARM64 macOS, we will need to build the dependencies including Qt 6. This can conveniently be done using vcpkg, a package manager for C++ libraries. First clone the vcpkg fork which includes the relevant patches:

git clone git@github.com:mixxxdj/vcpkg.git --branch 2.5-rel
cd vcpkg

Then bootstrap vcpkg and build/install the dependencies by running

./bootstrap-vcpkg.sh
./vcpkg install --overlay-ports overlay/ports \
                --overlay-ports overlay/osx \
                --overlay-triplets overlay/triplets \
                --host-triplet arm64-osx \
                ableton \
                benchmark \
                chromaprint \
                fdk-aac \
                ffmpeg \
                fftw3 \
                grantlee \
                gtest \
                hidapi \
                hss1394 \
                libdjinterop \
                libebur128 \
                libflac \
                libkeyfinder \
                libmodplug \
                libogg \
                libopusenc \
                'libsndfile[core]' \
                libusb \
                libvorbis \
                lilv \
                mp3lame \
                ms-gsl \
                opus \
                opusfile \
                'portaudio[asio]' \
                portmidi \
                protobuf \
                pthreads \
                qt5compat \
                qtbase \
                qtdeclarative \
                qtsvg \
                qttranslations \
                qtkeychain-qt6 \
                rubberband \
                soundtouch \
                taglib \
                wavpack

Building Mixxx

To build Mixxx, clone the repo by running

git clone git@github.com:mixxxdj/mixxx.git
cd mixxx

Finally, build Mixxx with

cmake -B build -DCMAKE_TOOLCHAIN_FILE=[path/to/cloned/vcpkg]/scripts/buildsystems/vcpkg.cmake
cmake --build build
@mbacarella
Copy link

I had to change qtkeychain-qt5 to qtkeychain in the above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment