Update dependencies and fix CI

* nanopb 0.4.6.4 with PB_C99_STATIC_ASSERT to avoid depending on C11
* OpenSSL 1.1.1q on windows
* Switched from docker to podman in CI
* Appdir in appimage build container is now in /build/appdir to fix
  "Invalid cross-device link" errors in linuxdeploy when appdir is in
  mount
* Use python protobuf==3.19.5 in bionic image, which still supports
  python 3.6, and on windows where nanopb otherwise has issues
* Purge nanopb_pb2.py to force regeneration of it for possibly different
  python protobuf versions in subsequent builds
* FreeBSD needs py39 packages now
This commit is contained in:
Florian Märkl 2022-09-11 14:00:59 +02:00
commit 4164255ef9
14 changed files with 48 additions and 23 deletions

View file

@ -26,7 +26,7 @@ ninja || exit 1
ninja install || exit 1
cd ../.. || exit 1
wget https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1n.zip && 7z x openssl-1.1.1n.zip || exit 1
wget https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1q.zip && 7z x openssl-1.1.1q.zip || exit 1
wget https://www.libsdl.org/release/SDL2-devel-2.0.10-VC.zip && 7z x SDL2-devel-2.0.10-VC.zip || exit 1
export SDL_ROOT="$APPVEYOR_BUILD_FOLDER/SDL2-2.0.10" || exit 1
@ -41,7 +41,7 @@ cd .. || exit 1
export PATH="$PWD/protoc/bin:$PATH" || exit 1
PYTHON="C:/Python37/python.exe"
"$PYTHON" -m pip install protobuf || exit 1
"$PYTHON" -m pip install protobuf==3.19.5 || exit 1
QT_PATH="C:/Qt/5.15/msvc2019_64"

View file

@ -2,9 +2,12 @@
set -xe
# sometimes there are errors in linuxdeploy in docker/podman when the appdir is on a mount
appdir=${1:-`pwd`/appimage/appdir}
mkdir appimage
pip3 install --user protobuf
pip3 install --user protobuf==3.19.5 # need support for python 3.6 for running on bionic
scripts/fetch-protoc.sh appimage
export PATH="`pwd`/appimage/protoc/bin:$PATH"
scripts/build-ffmpeg.sh appimage
@ -24,10 +27,14 @@ cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
..
cd ..
# purge leftover proto/nanopb_pb2.py which may have been created with another protobuf version
rm -fv third-party/nanopb/generator/proto/nanopb_pb2.py
ninja -C build_appimage
build_appimage/test/chiaki-unit
DESTDIR=`pwd`/appimage/appdir ninja -C build_appimage install
DESTDIR="${appdir}" ninja -C build_appimage install
cd appimage
curl -L -O https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
@ -41,5 +48,5 @@ set -e
export LD_LIBRARY_PATH="`pwd`/sdl2-prefix/lib:$LD_LIBRARY_PATH"
export EXTRA_QT_PLUGINS=opengl
./linuxdeploy-x86_64.AppImage --appdir=appdir -e appdir/usr/bin/chiaki -d appdir/usr/share/applications/chiaki.desktop --plugin qt --output appimage
./linuxdeploy-x86_64.AppImage --appdir="${appdir}" -e "${appdir}/usr/bin/chiaki" -d "${appdir}/usr/share/applications/chiaki.desktop" --plugin qt --output appimage
mv Chiaki-*-x86_64.AppImage Chiaki.AppImage

View file

@ -1,5 +1,8 @@
#!/bin/bash
# purge leftover proto/nanopb_pb2.py which may have been created with another protobuf version
rm -fv third-party/nanopb/generator/proto/nanopb_pb2.py
mkdir build && cd build || exit 1
cmake \
-DCMAKE_BUILD_TYPE=Release \

View file

@ -3,13 +3,13 @@
set -xe
cd "`dirname $(readlink -f ${0})`"
docker build -t chiaki-bionic . -f Dockerfile.bionic
podman build -t chiaki-bionic . -f Dockerfile.bionic
cd ..
docker run --rm \
podman run --rm \
-v "`pwd`:/build/chiaki" \
-w "/build/chiaki" \
--device /dev/fuse \
--cap-add SYS_ADMIN \
-t chiaki-bionic \
/bin/bash -c "scripts/build-appimage.sh"
/bin/bash -c "scripts/build-appimage.sh /build/appdir"

View file

@ -3,10 +3,11 @@
set -xe
cd "`dirname $(readlink -f ${0})`"
docker build -t chiaki-bullseye . -f Dockerfile.bullseye
podman build -t chiaki-bullseye . -f Dockerfile.bullseye
cd ..
docker run --rm -v "`pwd`:/build" chiaki-bullseye /bin/bash -c "
podman run --rm -v "`pwd`:/build" chiaki-bullseye /bin/bash -c "
cd /build &&
rm -fv third-party/nanopb/generator/proto/nanopb_pb2.py &&
mkdir build_bullseye &&
cmake -Bbuild_bullseye -GNinja -DCHIAKI_ENABLE_SETSU=ON -DCHIAKI_USE_SYSTEM_JERASURE=ON -DCHIAKI_USE_SYSTEM_NANOPB=ON &&
ninja -C build_bullseye &&

View file

@ -16,6 +16,9 @@ build_chiaki (){
pushd "${BASEDIR}"
#rm -rf ./build
# purge leftover proto/nanopb_pb2.py which may have been created with another protobuf version
rm -fv third-party/nanopb/generator/proto/nanopb_pb2.py
cmake -B "${build}" \
-GNinja \
-DCMAKE_TOOLCHAIN_FILE=${toolchain} \

View file

@ -2,7 +2,7 @@
cd "`dirname $(readlink -f ${0})`/../.."
docker run \
podman run \
-v "`pwd`:/build/chiaki" \
-w "/build/chiaki" \
-t \