1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-31 07:59:27 +02:00

Updated the Docker image according with the code review

This commit is contained in:
Dmitry Vedenko 2021-05-24 14:00:14 +03:00 committed by Dmitry Vedenko
parent ad7faee418
commit cf2054fac4
4 changed files with 128 additions and 108 deletions

View File

@ -4,65 +4,20 @@ 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
RUN apt-get install -y libpng-dev
RUN apt-get update && apt-get install -y dos2unix
WORKDIR /audacity
COPY ["build_audacity.sh", "/audacity/"]
COPY ["dependencies.sh", "/audacity/"]
# pkg-config is so broken
COPY ["pkgconfig/*", "/usr/local/lib/pkgconfig/"]
CMD ["./build_audacity.sh"]
RUN dos2unix dependencies.sh && \
find /usr/local/lib/pkgconfig/ -type f -print0 | xargs -0 dos2unix
RUN ["bash", "-ex", "dependencies.sh"]
COPY ["entrypoint.sh", "/audacity/"]
RUN dos2unix entrypoint.sh
CMD ["bash", "-ex", "./entrypoint.sh"]

View File

@ -1,52 +0,0 @@
#!/usr/bin/env bash
conan --version
if [ ! -d "audacity" ]
then
git clone https://github.com/audacity/audacity
fi
mkdir -p build
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release \
-Daudacity_lib_preference=system \
-Daudacity_obey_system_dependencies=On \
-Daudacity_use_wxwidgets=local \
-Daudacity_use_expat=system \
-Daudacity_use_lame=system \
-Daudacity_use_sndfile=system \
-Daudacity_use_soxr=system \
-Daudacity_use_portaudio=local \
-Daudacity_use_sqlite=local \
-Daudacity_use_ffmpeg=loaded \
-Daudacity_use_id3tag=system \
-Daudacity_use_mad=system \
-Daudacity_use_nyquist=local \
-Daudacity_use_vamp=local \
-Daudacity_use_ogg=system \
-Daudacity_use_vorbis=system \
-Daudacity_use_flac=system \
-Daudacity_use_lv2=system \
-Daudacity_use_midi=system \
-Daudacity_use_portmixer=local \
-Daudacity_use_portsmf=system \
-Daudacity_use_sbsms=local \
-Daudacity_use_soundtouch=system \
-Daudacity_use_twolame=system \
../audacity
exit_status=$?
if [ $exit_status -ne 0 ]; then
exit $exit_status
fi
make -j`nproc`
cd bin/Release
mkdir -p "Portable Settings"
ls -la .

View File

@ -0,0 +1,61 @@
export TZ=Europe/London
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
apt_packages_basic=(
build-essential
python3-minimal
python3-pip
g++-9
libstdc++-9-dev
cmake
git
)
apt_packages_minimal_deps=(
libgtk2.0-dev
libasound2-dev
libavformat-dev
libjack-jackd2-dev
)
apt_packages_full_deps=(
zlib1g-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
libpng-dev
)
apt-get install -y --no-install-recommends \
"${apt_packages_basic[@]}" \
"${apt_packages_minimal_deps[@]}" \
"${apt_packages_full_deps[@]}"
pip3 install conan

View File

@ -0,0 +1,56 @@
#!/usr/bin/env bash
conan --version
if [ ! -d "audacity" ]
then
git clone https://github.com/audacity/audacity
fi
mkdir -p build
cd build
cmake_options=(
-G "Unix Makefiles"
-DCMAKE_BUILD_TYPE=Release
-Daudacity_lib_preference=system # Change the libs default to 'system'
-Daudacity_obey_system_dependencies=On # And force it!
-Daudacity_use_wxwidgets=local # wxWidgets 3.1 is not available
-Daudacity_use_expat=system
-Daudacity_use_lame=system
-Daudacity_use_sndfile=system
-Daudacity_use_soxr=system
-Daudacity_use_portaudio=local # System portaudio is not yet usable
-Daudacity_use_sqlite=local # We prefer using the latest version of SQLite
-Daudacity_use_ffmpeg=loaded
-Daudacity_use_id3tag=system # This library has bugs, that are fixed in *local* version
-Daudacity_use_mad=system # This library has bugs, that are fixed in *local* version
-Daudacity_use_nyquist=local # This library is not available
-Daudacity_use_vamp=local # The dev package for this library is not available
-Daudacity_use_ogg=system
-Daudacity_use_vorbis=system
-Daudacity_use_flac=system
-Daudacity_use_lv2=system
-Daudacity_use_midi=system
-Daudacity_use_portmixer=local # This library is not available
-Daudacity_use_portsmf=system
-Daudacity_use_sbsms=local # We prefer using the latest version of sbsms
-Daudacity_use_soundtouch=system
-Daudacity_use_twolame=system
)
cmake "${cmake_options[@]}" ../audacity
exit_status=$?
if [ $exit_status -ne 0 ]; then
exit $exit_status
fi
make -j`nproc`
cd bin/Release
mkdir -p "Portable Settings"
ls -la .