diff --git a/.localrun/Dockerfile_deb12 b/.localrun/Dockerfile_deb12 new file mode 100644 index 0000000000..5eef722021 --- /dev/null +++ b/.localrun/Dockerfile_deb12 @@ -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 diff --git a/.localrun/docker_it_deb12.sh b/.localrun/docker_it_deb12.sh new file mode 100755 index 0000000000..e833420682 --- /dev/null +++ b/.localrun/docker_it_deb12.sh @@ -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 + +