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:
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 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"]
|
||||
|
@ -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 .
|
Loading…
x
Reference in New Issue
Block a user