Skip to content

Commit

Permalink
add debian 12 build script
Browse files Browse the repository at this point in the history
  • Loading branch information
zoff99 committed Apr 7, 2024
1 parent 63def3d commit 46bf1e6
Show file tree
Hide file tree
Showing 2 changed files with 275 additions and 0 deletions.
196 changes: 196 additions & 0 deletions .localrun/Dockerfile_deb12
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
# syntax=docker/dockerfile:1
FROM debian:12

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get -y --force-yes install \
build-essential \
autoconf \
automake \
libtool \
cmake \
extra-cmake-modules \
git \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavutil-dev \
libexif-dev \
libgdk-pixbuf2.0-dev \
libglib2.0-dev \
libgtk2.0-dev \
libopenal-dev \
libopus-dev \
libcurl4-gnutls-dev \
libnghttp2-dev \
libidn2-dev \
librtmp-dev \
libssh2-1-dev \
libpsl-dev \
nettle-dev \
libgnutls28-dev \
libgssapi-krb5-2 \
libkrb5-dev \
libk5crypto3 \
libldap2-dev \
zlib1g-dev \
libqrencode-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libsodium-dev \
libsqlcipher-dev \
libswresample-dev \
libswscale-dev \
libvpx-dev \
libkf5sonnet-dev \
libxss-dev \
qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools \
qttools5-dev \
zsync \
libarchive-dev \
libfuse-dev \
liblzma-dev \
libglib2.0-dev \
libssl-dev \
libinotifytools0-dev \
liblz4-dev \
libcairo-dev \
desktop-file-utils \
wget \
xxd \
ca-certificates \
curl \
patchelf \
lcov && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

COPY ./buildscripts/download/common.sh /build/download/common.sh
COPY ./buildscripts/build_utils.sh /build/build_utils.sh

COPY ./buildscripts/download/download_snore.sh /build/download/download_snore.sh
COPY ./buildscripts/build_snore_linux.sh /build/build_snore_linux.sh
COPY ./buildscripts/patches/snore.patch /build/patches/snore.patch
RUN mkdir -p /src/snore && \
cd /src/snore && \
/build/build_snore_linux.sh --system-install && \
rm -fr /src/snore

#COPY ./buildscripts/download/download_ldqt.sh /build/download/download_ldqt.sh
#COPY ./buildscripts/build_ldqt_linux.sh /build/build_ldqt_linux.sh
#RUN mkdir -p /src/ldqt && \
# cd /src/ldqt && \
# /build/build_ldqt_linux.sh && \
# rm -fr /src/ldqt

#COPY ./buildscripts/download/download_aitool.sh /build/download/download_aitool.sh
#COPY ./buildscripts/build_aitool_linux.sh /build/build_aitool_linux.sh
#RUN mkdir -p /src/aitool && \
# cd /src/aitool && \
# /build/build_aitool_linux.sh && \
# rm -fr /src/aitool

COPY ./buildscripts/download/download_qt.sh /build/download/download_qt.sh
COPY ./buildscripts/build_qt_linux.sh /build/build_qt_linux.sh

#RUN mkdir -p /src/qt && \
# cd /src/qt && \
# /build/build_qt_linux.sh && \
# rm -fr /src/qt

RUN apt-get update && \
apt-get -y --force-yes install \
libx264-dev \
libbz2-dev \
libxv-dev \
libsdl2-dev \
libzmq5-dev \
libwebp-dev \
libssh-dev \
libpulse-dev \
libopenmpt-dev \
libbs2b-dev \
libbluray-dev \
libass-dev \
libvdpau-dev \
libva-dev \
libva-x11-2 \
libva-drm2 \
libcdio-cdda-dev \
libcdio-dev \
libcdio-paranoia-dev \
libsndio-dev \
libjack-dev \
libasound-dev \
libxml2-dev \
libzvbi-dev \
libxvidcore-dev \
libx265-dev \
libwebpmux3 \
libwavpack-dev \
libvorbisenc2 \
libvorbis-dev \
libtwolame-dev \
libtheora-dev \
libspeex-dev \
libsoxr-dev \
libsnappy-dev \
libshine-dev \
librubberband-dev \
libopenjp2-7-dev \
libopencv-core-dev \
libopencv-imgproc-dev \
libmysofa-dev \
libmp3lame-dev \
libgsm1-dev \
libgpgme-dev \
flite-dev \
libdc1394-dev \
libcaca-dev \
libraw1394-dev \
libavc1394-dev \
libiec61883-dev \
libchromaprint-dev \
librsvg2-dev \
libgme-dev \
libaom-dev \
libcodec2-dev \
libdrm-dev \
libbrotli-dev \
opencl-c-headers \
libjxl-dev \
libjxl-devtools \
librav1e-dev \
libsvtav1enc-dev

RUN apt-get -y --force-yes install \
libzstd1 \
libzstd-dev \
libdav1d-dev \
libmfx-dev \
opencl-dev libopencl1

COPY ./buildscripts/download/download_toxext.sh /build/download/download_toxext.sh
COPY ./buildscripts/download/download_toxext_messages.sh /build/download/download_toxext_messages.sh

COPY ./buildscripts/patches/*.patch /build/patches/
COPY ./buildscripts/build_toxcore_linux.sh /build/build_toxcore_linux.sh
COPY ./buildscripts/download/download_toxcore.sh /build/download/download_toxcore.sh

RUN mkdir -p /src/tox && \
cd /src/tox && \
/build/build_toxcore_linux.sh && \
rm -fr /src/tox

RUN echo '/usr/local/lib/' >> /etc/ld.so.conf.d/locallib.conf && \
ldconfig

RUN apt-get update && \
apt-get -y --force-yes install \
xdg-utils xdg-desktop-portal-gtk nautilus eog gedit \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

WORKDIR /qtox
79 changes: 79 additions & 0 deletions .localrun/docker_it_deb12.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#! /bin/bash

_HOME2_=$(dirname $0)
export _HOME2_
_HOME_=$(cd $_HOME2_;pwd)
export _HOME_

echo $_HOME_
cd $_HOME_


if [ "$1""x" == "buildx" ]; then
cp -a ../buildscripts .
docker build -f Dockerfile_deb12 -t qtox_push_003_deb12 .
exit 0
fi

cp -a ../.ci-scripts/build-qtox-linux.sh .

build_for='
debian:12
'

for system_to_build_for in $build_for ; do

system_to_build_for_orig="$system_to_build_for"
system_to_build_for=$(echo "$system_to_build_for_orig" 2>/dev/null|tr ':' '_' 2>/dev/null)

cd $_HOME_/
mkdir -p $_HOME_/"$system_to_build_for"/

mkdir -p $_HOME_/"$system_to_build_for"/artefacts
mkdir -p $_HOME_/"$system_to_build_for"/script
mkdir -p $_HOME_/"$system_to_build_for"/workspace

ls -al $_HOME_/"$system_to_build_for"/

rsync -a ../ --exclude=.localrun $_HOME_/"$system_to_build_for"/workspace/build
chmod a+rwx -R $_HOME_/"$system_to_build_for"/workspace/build

echo '#! /bin/bash
cp -av /workspace/build/* /qtox/
cp -av /workspace/build/.??* /qtox/
cd /qtox/.ci-scripts/
# disable tests
sed -i -e "s#^include(Testing)##" /qtox/CMakeLists.txt
cat /qtox/CMakeLists.txt|grep -i test
./build-qtox-linux.sh --full --build-type Release
ls -hal /qtox/.ci-scripts/qtox
cp -av /qtox/.ci-scripts/qtox /artefacts/
cp -av /usr/lib/x86_64-linux-gnu/libsnore* /artefacts/
cp -av /usr/local/lib/libtoxcore* /artefacts/
chmod a+rwx /artefacts/*
' > $_HOME_/"$system_to_build_for"/script/run.sh

docker run -ti --rm \
-v $_HOME_/"$system_to_build_for"/artefacts:/artefacts \
-v $_HOME_/"$system_to_build_for"/script:/script \
-v $_HOME_/"$system_to_build_for"/workspace:/workspace \
--net=host \
"qtox_push_003_deb12" \
/bin/sh -c "apk add bash >/dev/null 2>/dev/null; /bin/bash /script/run.sh"
if [ $? -ne 0 ]; then
echo "** ERROR **:$system_to_build_for_orig"
exit 1
else
echo "--SUCCESS--:$system_to_build_for_orig"
fi

done


0 comments on commit 46bf1e6

Please sign in to comment.