mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-10 08:33:36 +02:00
Adds an environment to check, how well Linux builds with system packages
A special mode `audacity_obey_system_dependencies` is added, so the build will fail if we could not build against a system package for some reason. The following packages are marked for the local build now: * **wxWidgets**: Ubuntu lacks support for 3.1.3. We can't build against 3.0 branch. * **portaudio**: there are issues, that prevent using a system version of portaudio. * **sqlite3**: Ubuntu package is very dated; we care about the performance and stability. * **nyquist**: Ubuntu has no package available. * **vamp**: Ubuntu has no development package available. * **portmixer**: Ubuntu has no package available. * **sbsms**: Ubuntu package is very dated; we care about the performance and stability. We use docker to create a clean build environment. Currently, `pkg-config` is used to locate the system libraries. There are few issues with `pkg-config` on Ubuntu: * It does not work with `lame` and `portmidi`. * The packaged files for `id3tag` and `mad` have wrong version. We fix such cases by copying the into `/usr/local/lib`.
This commit is contained in:
committed by
Dmitry Vedenko
parent
90903d237a
commit
9c8185545d
66
linux/build-environment/Dockerfile
Normal file
66
linux/build-environment/Dockerfile
Normal file
@@ -0,0 +1,66 @@
|
||||
FROM ubuntu:focal
|
||||
|
||||
LABEL maintainer="d.vedenko@audacityteam.org"
|
||||
LABEL description="A build environment to check the builds for the package maintainers"
|
||||
LABEL version="3.0"
|
||||
|
||||
ENV TZ=Europe/London
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
RUN apt-get update
|
||||
|
||||
RUN apt-get install -y \
|
||||
build-essential \
|
||||
python3-minimal \
|
||||
python3-pip \
|
||||
g++-9 \
|
||||
libstdc++-9-dev \
|
||||
cmake \
|
||||
git
|
||||
|
||||
RUN pip3 install conan
|
||||
|
||||
RUN apt-get install -y \
|
||||
zlib1g-dev \
|
||||
libgtk2.0-dev \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libjack-jackd2-dev \
|
||||
libexpat1-dev \
|
||||
libmp3lame-dev \
|
||||
libsndfile-dev \
|
||||
libsoxr-dev \
|
||||
portaudio19-dev \
|
||||
libsqlite3-dev \
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libavutil-dev \
|
||||
libid3tag0-dev \
|
||||
libmad0-dev \
|
||||
libvamp-hostsdk3v5 \
|
||||
libogg-dev \
|
||||
libvorbis-dev \
|
||||
libflac-dev \
|
||||
libflac++-dev \
|
||||
lv2-dev \
|
||||
liblilv-dev \
|
||||
libserd-dev \
|
||||
libsord-dev \
|
||||
libsratom-dev \
|
||||
libsuil-dev \
|
||||
libportmidi-dev \
|
||||
libportsmf-dev \
|
||||
libsbsms-dev \
|
||||
libsoundtouch-dev \
|
||||
libtwolame-dev \
|
||||
libssl-dev \
|
||||
libcurl4-openssl-dev
|
||||
|
||||
WORKDIR /audacity
|
||||
|
||||
COPY ["build_audacity.sh", "/audacity/"]
|
||||
|
||||
# pkg-config is so broken
|
||||
COPY ["pkgconfig/*", "/usr/local/lib/pkgconfig/"]
|
||||
|
||||
CMD ["./build_audacity.sh"]
|
Reference in New Issue
Block a user