mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-14 15:48:21 +02:00
Add build image for Ubuntu 20.04
This commit is contained in:
parent
d699b4311b
commit
9f17e141e8
21
linux/packages/ubuntu-20.04/Dockerfile
vendored
Normal file
21
linux/packages/ubuntu-20.04/Dockerfile
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
|
LABEL maintainer="d.vedenko@audacityteam.org"
|
||||||
|
LABEL description="A build environment to check the builds for Ubuntu package maintainers"
|
||||||
|
LABEL version="3.0"
|
||||||
|
|
||||||
|
COPY ["dependencies.sh", "/dependencies.sh"]
|
||||||
|
RUN ./dependencies.sh
|
||||||
|
|
||||||
|
COPY ["entrypoint.sh", "/entrypoint.sh"]
|
||||||
|
|
||||||
|
RUN useradd -m user
|
||||||
|
|
||||||
|
COPY ["debian", "/home/user/audacity-3.0.3/debian"]
|
||||||
|
|
||||||
|
RUN chown -R user /home/user/audacity-3.0.3
|
||||||
|
|
||||||
|
USER user
|
||||||
|
WORKDIR /home/user
|
||||||
|
|
||||||
|
ENTRYPOINT ["bash", "-ex", "/entrypoint.sh"]
|
5
linux/packages/ubuntu-20.04/debian/changelog
vendored
Normal file
5
linux/packages/ubuntu-20.04/debian/changelog
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
audacity (3.0.3-1) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
|
* Initial release. (Closes: #XXXXXX)
|
||||||
|
|
||||||
|
-- Dmitry Vedenko <dvedenko@ubuntu> Mon, 02 Aug 2021 14:55:02 +0300
|
53
linux/packages/ubuntu-20.04/debian/control
vendored
Normal file
53
linux/packages/ubuntu-20.04/debian/control
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Source: audacity
|
||||||
|
Section: sound
|
||||||
|
Priority: optional
|
||||||
|
Maintainer:
|
||||||
|
Uploaders:
|
||||||
|
Standards-Version: 4.5.0
|
||||||
|
Build-Depends: cmake,
|
||||||
|
debhelper-compat (= 12),
|
||||||
|
gettext,
|
||||||
|
git,
|
||||||
|
libgtk2.0-dev,
|
||||||
|
libasound2-dev,
|
||||||
|
libavformat-dev,
|
||||||
|
libjack-jackd2-dev,
|
||||||
|
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,
|
||||||
|
libpng-dev,
|
||||||
|
libjpeg-turbo8-dev
|
||||||
|
Homepage: https://www.audacityteam.org/
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
|
Package: audacity
|
||||||
|
Architecture: amd64
|
||||||
|
Depends: ${misc:Depends},
|
||||||
|
${shlibs:Depends}
|
||||||
|
Description: Audacity is a multi-track audio editor for Linux/Unix, MacOS and
|
||||||
|
Windows.
|
0
linux/packages/ubuntu-20.04/debian/copyright
vendored
Normal file
0
linux/packages/ubuntu-20.04/debian/copyright
vendored
Normal file
44
linux/packages/ubuntu-20.04/debian/rules
vendored
Executable file
44
linux/packages/ubuntu-20.04/debian/rules
vendored
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
include /usr/share/dpkg/architecture.mk
|
||||||
|
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
|
||||||
|
export CONAN_USER_HOME = $(shell pwd)/audacity-offline-dependencies/conan_home
|
||||||
|
export PATH := $(shell pwd)/conan_env/bin:$(PATH)
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@
|
||||||
|
|
||||||
|
override_dh_auto_configure:
|
||||||
|
dh_auto_configure -- \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-Daudacity_conan_allow_prebuilt_binaries=no \
|
||||||
|
-Daudacity_lib_preference=system \
|
||||||
|
-Daudacity_obey_system_dependencies=On \
|
||||||
|
-Daudacity_use_pch=no \
|
||||||
|
-Daudacity_use_wxwidgets=local \
|
||||||
|
-Daudacity_use_portaudio=local \
|
||||||
|
-Daudacity_use_vamp=local \
|
||||||
|
-Daudacity_use_sbsms=local
|
||||||
|
|
||||||
|
# tests fails with system portaudio
|
||||||
|
override_dh_auto_test:
|
||||||
|
|
||||||
|
override_dh_shlibdeps:
|
||||||
|
dh_shlibdeps -l$(shell pwd)/debian/audacity/usr/lib/$(DEB_BUILD_GNU_TYPE)/audacity
|
||||||
|
|
||||||
|
execute_after_dh_auto_install:
|
||||||
|
#mv debian/audacity/usr/share/appdata/ debian/audacity/usr/share/metainfo/
|
||||||
|
rm debian/audacity/usr/share/doc/audacity/LICENSE.txt
|
||||||
|
|
||||||
|
execute_before_dh_auto_configure:
|
||||||
|
python3 -m venv conan_env
|
||||||
|
conan_env/bin/pip3 install --no-index --find-links "./audacity-offline-dependencies/pip_cache" conan
|
||||||
|
|
||||||
|
mkdir -p ${CONAN_USER_HOME}
|
||||||
|
|
||||||
|
conan config home
|
||||||
|
conan config init
|
||||||
|
conan config set storage.download_cache="${CONAN_USER_HOME}/download_cache"
|
||||||
|
conan profile update settings.compiler.libcxx=libstdc++11 default
|
1
linux/packages/ubuntu-20.04/debian/source/format
vendored
Normal file
1
linux/packages/ubuntu-20.04/debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
63
linux/packages/ubuntu-20.04/dependencies.sh
vendored
Executable file
63
linux/packages/ubuntu-20.04/dependencies.sh
vendored
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
export TZ=Europe/London
|
||||||
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
|
build_deps=(
|
||||||
|
build-essential
|
||||||
|
fakeroot
|
||||||
|
devscripts
|
||||||
|
gcc
|
||||||
|
g++
|
||||||
|
git
|
||||||
|
python3
|
||||||
|
python3-setuptools
|
||||||
|
python3-venv
|
||||||
|
python3-wheel
|
||||||
|
python3-pip
|
||||||
|
python3-dev
|
||||||
|
wget
|
||||||
|
cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
deps=(
|
||||||
|
libgtk2.0-dev
|
||||||
|
libasound2-dev
|
||||||
|
libavformat-dev
|
||||||
|
libjack-jackd2-dev
|
||||||
|
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
|
||||||
|
libpng-dev
|
||||||
|
libjpeg-turbo8-dev
|
||||||
|
)
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y \
|
||||||
|
"${build_deps[@]}" \
|
||||||
|
"${deps[@]}"
|
58
linux/packages/ubuntu-20.04/entrypoint.sh
vendored
Normal file
58
linux/packages/ubuntu-20.04/entrypoint.sh
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euxo pipefail
|
||||||
|
|
||||||
|
cmake_args=(
|
||||||
|
-D CMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
|
-D audacity_conan_allow_prebuilt_binaries=no
|
||||||
|
|
||||||
|
-D audacity_lib_preference=system # Change the libs default to 'system'
|
||||||
|
-D audacity_obey_system_dependencies=On # And force it!
|
||||||
|
|
||||||
|
-D audacity_use_pch=no
|
||||||
|
|
||||||
|
-D audacity_use_wxwidgets=local # wxWidgets 3.1 is not available
|
||||||
|
-D audacity_use_portaudio=local # System portaudio is not yet usable
|
||||||
|
-D audacity_use_vamp=local
|
||||||
|
-D audacity_use_sbsms=local # We rely on 2.2.0, 2.0.l2 is API incompatible
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ $1 == "prepare" ]]; then
|
||||||
|
tar -xzf /work_dir/audacity-sources.tar.gz
|
||||||
|
|
||||||
|
audacity/linux/packages/prepare_offline_dependencies.sh "${cmake_args[@]}"
|
||||||
|
|
||||||
|
cp audacity-offline-dependencies.tar.gz /work_dir/audacity-offline-dependencies-ubuntu-20.04.tar.gz
|
||||||
|
elif [[ $1 == "build" ]]; then
|
||||||
|
tar -xzf /work_dir/audacity-sources.tar.gz
|
||||||
|
tar -xzf /work_dir/audacity-offline-dependencies-ubuntu-20.04.tar.gz
|
||||||
|
|
||||||
|
audacity/linux/packages/build_package.sh "${cmake_args[@]}"
|
||||||
|
|
||||||
|
cp audacity-linux_x86_64.tar.gz /work_dir/audacity-ubuntu-20.04_x86_64.tar.gz
|
||||||
|
elif [[ $1 == "package" ]]; then
|
||||||
|
mkdir orig
|
||||||
|
|
||||||
|
pushd orig
|
||||||
|
tar -xzf /work_dir/audacity-sources.tar.gz
|
||||||
|
|
||||||
|
pushd audacity
|
||||||
|
tar -xzf /work_dir/audacity-offline-dependencies-ubuntu-20.04.tar.gz
|
||||||
|
popd
|
||||||
|
|
||||||
|
mv audacity audacity-3.0.3
|
||||||
|
|
||||||
|
tar -czf ../audacity_3.0.3.orig.tar.gz audacity-3.0.3
|
||||||
|
popd
|
||||||
|
|
||||||
|
cp -r orig/audacity-3.0.3/* audacity-3.0.3
|
||||||
|
|
||||||
|
rm -r orig
|
||||||
|
|
||||||
|
pushd audacity-3.0.3
|
||||||
|
debuild -us -uc
|
||||||
|
popd
|
||||||
|
|
||||||
|
cp -v *.deb /work_dir/
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user