Skip to content

Instantly share code, notes, and snippets.

@fdziarmagowski
Last active March 1, 2020 22:37
Show Gist options
  • Save fdziarmagowski/16a60336932bbe1b8f07ba3dadfeb39a to your computer and use it in GitHub Desktop.
Save fdziarmagowski/16a60336932bbe1b8f07ba3dadfeb39a to your computer and use it in GitHub Desktop.
Build Ardour from git in Docker
#/bin/sh
set -eux
export DEBIAN_FRONTEND="noninteractive"
apt update
apt dist-upgrade -y
apt install -y \
build-essential \
git \
itstool \
libarchive-dev \
libasound2-dev \
libaubio-dev \
libboost-dev \
libcppunit-dev \
libcurl4-gnutls-dev \
libdbus-1-dev \
libfftw3-dev \
libgtkmm-2.4-dev \
libjack-dev \
liblilv-dev \
liblo-dev \
liblrdf0-dev \
librubberband-dev \
libsamplerate0-dev \
libserd-dev \
libsndfile1-dev \
libsord-dev \
libsratom-dev \
libsuil-dev \
libtag1-dev \
libudev-dev \
libusb-1.0-0-dev \
libwebsockets-dev \
libxml2-dev \
lv2-dev \
pkg-config \
python \
vamp-plugin-sdk
rm -rf /build/ardour
git clone --depth=1 git://git.ardour.org/ardour/ardour.git /build/ardour
cd /build/ardour
./waf configure \
--prefix=/opt \
--with-backends="jack,alsa,dummy" \
--libjack=weak \
--nls \
--optimize \
--cxx11 \
--freedesktop \
--ptformat \
--lxvst \
--no-phone-home
./waf build -v
./waf install --destdir=/build/dist-inst
@fdziarmagowski
Copy link
Author

fdziarmagowski commented Mar 1, 2020

Prepare it:

mkdir $(pwd)/build/ardour

Copy above script as build.sh to $(pwd)/build/ardour and make it executable:

chmod +x $(pwd)/build/ardour/build.sh

Build it:

docker run --rm --name builder \
  --mount type=bind,source=$HOME/build/ardour,target=/build \
  -it debian:bullseye /build/build.sh

The build result will appear in build/ardour/dist-inst

build/ardour/dist-inst/opt/
└── ardour
    ├── bin
    ├── etc
    │   └── ardour6
    ├── lib
    │   └── ardour6
    │       ├── LV2
    │       │   ├── a-comp.lv2
    │       │   ├── a-delay.lv2
    │       │   ├── a-eq.lv2
    │       │   ├── a-exp.lv2
    │       │   ├── a-fluidsynth.lv2
    │       │   ├── a-reverb.lv2
    │       │   └── reasonablesynth.lv2
    │       ├── backends
    │       ├── engines
    │       ├── panners
    │       ├── surfaces
    │       ├── utils
    │       └── vamp
    └── share
        └── ardour6
            ├── export
            ├── icons
            ├── mcp
            ├── midi_maps
            ├── osc
            ├── patchfiles
            ├── plugin_metadata
            ├── resources
            ├── scripts
            ├── templates
            └── themes

Run Ardour with (after installing to /opt):

/opt/ardour/bin/ardour6

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