Created
May 29, 2026 18:26
-
-
Save saltlakeryan/ca845cac29ae8c73d7112cf5f1b43f92 to your computer and use it in GitHub Desktop.
Polyphone docker image (builds polyphone from source)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ========================================== | |
| # STAGE 1: Compilation and Build Environment | |
| # ========================================== | |
| FROM ubuntu:24.04 AS builder | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| # Install core compiler toolchain, git, and required development headers | |
| # Added qt6-l10n-tools to provide the missing lrelease binary | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| qt6-base-dev \ | |
| qt6-base-dev-tools \ | |
| qt6-l10n-tools \ | |
| qt6-svg-dev \ | |
| libasound2-dev \ | |
| libjack-jackd2-dev \ | |
| librtaudio-dev \ | |
| librtmidi-dev \ | |
| libstk-dev \ | |
| libvorbis-dev \ | |
| libogg-dev \ | |
| libflac-dev \ | |
| libssl-dev \ | |
| libsndfile1-dev \ | |
| git \ | |
| ca-certificates \ | |
| libx11-xcb1 \ | |
| libxcb-icccm4 \ | |
| libxcb-image0 \ | |
| libxcb-keysyms1 \ | |
| libxcb-randr0 \ | |
| libxcb-render-util0 \ | |
| libxcb-shape0 \ | |
| libxcb-xfixes0 \ | |
| libxcb-xinerama0 \ | |
| libxcb-xkb1 \ | |
| libxkbcommon-x11-0 \ | |
| libsm6 \ | |
| libice6 \ | |
| xvfb \ | |
| pip \ | |
| python3.12-venv \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /src | |
| # Download Polyphone source directly from GitHub | |
| RUN git clone https://github.com/davy7125/polyphone . | |
| # Edit polyphone.pro to uncomment local fallbacks for RtAudio, RtMidi, and Stk | |
| RUN sed -i 's/#DEFINES += USE_LOCAL_RTAUDIO/DEFINES += USE_LOCAL_RTAUDIO/' sources/polyphone.pro && \ | |
| sed -i 's/#DEFINES += USE_LOCAL_RTMIDI/DEFINES += USE_LOCAL_RTMIDI/' sources/polyphone.pro && \ | |
| sed -i 's/#DEFINES += USE_LOCAL_STK/DEFINES += USE_LOCAL_STK/' sources/polyphone.pro | |
| # Run qmake6 targeting the correct project path and compile | |
| RUN qmake6 sources/polyphone.pro PREFIX=/usr && make -j$(nproc) | |
| RUN ln -s /src/bin/polyphone /usr/bin/polyphone | |
| # Give the container execution permissions | |
| RUN chmod +x /src/bin/polyphone | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment