mirror of
https://github.com/cookiengineer/audacity
synced 2025-12-18 14:41:20 +01:00
Updated the Docker image according with the code review
This commit is contained in:
committed by
Dmitry Vedenko
parent
ad7faee418
commit
cf2054fac4
@@ -4,65 +4,20 @@ LABEL maintainer="d.vedenko@audacityteam.org"
|
|||||||
LABEL description="A build environment to check the builds for the package maintainers"
|
LABEL description="A build environment to check the builds for the package maintainers"
|
||||||
LABEL version="3.0"
|
LABEL version="3.0"
|
||||||
|
|
||||||
ENV TZ=Europe/London
|
RUN apt-get update && apt-get install -y dos2unix
|
||||||
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
|
|
||||||
|
|
||||||
WORKDIR /audacity
|
WORKDIR /audacity
|
||||||
|
|
||||||
COPY ["build_audacity.sh", "/audacity/"]
|
COPY ["dependencies.sh", "/audacity/"]
|
||||||
|
|
||||||
# pkg-config is so broken
|
# pkg-config is so broken
|
||||||
COPY ["pkgconfig/*", "/usr/local/lib/pkgconfig/"]
|
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"]
|
||||||
|
|||||||
@@ -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 .
|
|
||||||
61
linux/build-environment/dependencies.sh
Normal file
61
linux/build-environment/dependencies.sh
Normal 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
|
||||||
56
linux/build-environment/entrypoint.sh
Normal file
56
linux/build-environment/entrypoint.sh
Normal 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 .
|
||||||
Reference in New Issue
Block a user