Add Jammy and Noble builds of the generic embedded package

This commit is contained in:
Cameron Gutman
2024-10-16 02:14:02 +00:00
parent 0e57bb31a8
commit 2532b76429
14 changed files with 139 additions and 10 deletions

View File

@@ -5,9 +5,6 @@ ENV DISTRO=bullseye
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list && \
apt-get update && \
apt-get install -y --no-install-recommends linux-libc-dev/bullseye-backports && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*

22
Dockerfile.aarch64.jammy Normal file
View File

@@ -0,0 +1,22 @@
FROM arm64v8/ubuntu:jammy
ENV TARGET=embedded
ENV DISTRO=jammy
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY dav1d /opt/dav1d
COPY FFmpeg /opt/FFmpeg
COPY SDL2 /opt/SDL2
COPY SDL_ttf /opt/SDL_ttf
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh
COPY scripts/build-package.sh /opt/scripts/
VOLUME "/out"
ENTRYPOINT [ "/bin/bash", "-c", "/opt/scripts/build-package.sh" ]

22
Dockerfile.aarch64.noble Normal file
View File

@@ -0,0 +1,22 @@
FROM arm64v8/ubuntu:noble
ENV TARGET=embedded
ENV DISTRO=noble
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY dav1d /opt/dav1d
COPY FFmpeg /opt/FFmpeg
COPY SDL2 /opt/SDL2
COPY SDL_ttf /opt/SDL_ttf
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh
COPY scripts/build-package.sh /opt/scripts/
VOLUME "/out"
ENTRYPOINT [ "/bin/bash", "-c", "/opt/scripts/build-package.sh" ]

View File

@@ -5,9 +5,6 @@ ENV DISTRO=bullseye
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list && \
apt-get update && \
apt-get install -y --no-install-recommends linux-libc-dev/bullseye-backports && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*

22
Dockerfile.armhf.jammy Normal file
View File

@@ -0,0 +1,22 @@
FROM arm32v7/ubuntu:jammy
ENV TARGET=embedded
ENV DISTRO=jammy
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY dav1d /opt/dav1d
COPY FFmpeg /opt/FFmpeg
COPY SDL2 /opt/SDL2
COPY SDL_ttf /opt/SDL_ttf
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh
COPY scripts/build-package.sh /opt/scripts/
VOLUME "/out"
ENTRYPOINT [ "/bin/bash", "-c", "/opt/scripts/build-package.sh" ]

22
Dockerfile.armhf.noble Normal file
View File

@@ -0,0 +1,22 @@
FROM arm32v7/ubuntu:noble
ENV TARGET=embedded
ENV DISTRO=noble
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY dav1d /opt/dav1d
COPY FFmpeg /opt/FFmpeg
COPY SDL2 /opt/SDL2
COPY SDL_ttf /opt/SDL_ttf
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh
COPY scripts/build-package.sh /opt/scripts/
VOLUME "/out"
ENTRYPOINT [ "/bin/bash", "-c", "/opt/scripts/build-package.sh" ]

4
build-aarch64-jammy.sh Executable file
View File

@@ -0,0 +1,4 @@
TARGET_NAME="aarch64-jammy"
DOCKERFILE="Dockerfile.aarch64.jammy"
. ./build-common.sh

4
build-aarch64-noble.sh Executable file
View File

@@ -0,0 +1,4 @@
TARGET_NAME="aarch64-noble"
DOCKERFILE="Dockerfile.aarch64.noble"
. ./build-common.sh

4
build-armhf-jammy.sh Executable file
View File

@@ -0,0 +1,4 @@
TARGET_NAME="armhf-jammy"
DOCKERFILE="Dockerfile.armhf.jammy"
. ./build-common.sh

4
build-armhf-noble.sh Executable file
View File

@@ -0,0 +1,4 @@
TARGET_NAME="armhf-noble"
DOCKERFILE="Dockerfile.armhf.noble"
. ./build-common.sh

View File

@@ -16,8 +16,13 @@ set -e
./build-l4t-noble.sh $1 &
./build-rpi-buster.sh $1 &
./build-rpi64-buster.sh $1 &
./build-aarch64-jammy.sh $1 &
wait
./build-armhf-jammy.sh $1 &
./build-armhf-bullseye.sh $1 &
./build-aarch64-bullseye.sh $1 &
./build-armhf-noble.sh $1 &
./build-aarch64-noble.sh $1 &
wait
./build-rpi-bookworm.sh $1 &
./build-rpi64-bookworm.sh $1 &
@@ -42,6 +47,10 @@ cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bookworm out_ar
cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bullseye out_aarch64-bullseye/moonlight-qt_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bookworm out_aarch64-bookworm/moonlight-qt_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/sid out_riscv64-sid/moonlight-qt_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/jammy out_armhf-jammy/moonlight-qt_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/noble out_armhf-noble/moonlight-qt_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/jammy out_aarch64-jammy/moonlight-qt_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/noble out_aarch64-noble/moonlight-qt_*.deb
# Push the moonlight-qt-dbgsym packages to Cloudsmith repos
cloudsmith push deb moonlight-game-streaming/moonlight-l4t/ubuntu/bionic out_l4t-bionic/moonlight-qt-dbgsym_*.ddeb
@@ -58,3 +67,7 @@ cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bookworm out_ar
cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bullseye out_aarch64-bullseye/moonlight-qt-dbgsym_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bookworm out_aarch64-bookworm/moonlight-qt-dbgsym_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/sid out_riscv64-sid/moonlight-qt-dbgsym_*.deb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/jammy out_armhf-jammy/moonlight-qt-dbgsym_*.ddeb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/noble out_armhf-noble/moonlight-qt-dbgsym_*.ddeb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/jammy out_aarch64-jammy/moonlight-qt-dbgsym_*.ddeb
cloudsmith push deb moonlight-game-streaming/moonlight-qt/ubuntu/noble out_aarch64-noble/moonlight-qt-dbgsym_*.ddeb

View File

@@ -15,7 +15,12 @@ docker build --pull -f Dockerfile.rpi64.buster -t cgutman/moonlight-packaging:rp
docker build --pull -f Dockerfile.rpi.bookworm -t cgutman/moonlight-packaging:rpi-bookworm_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.rpi64.bookworm -t cgutman/moonlight-packaging:rpi64-bookworm_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.l4t.bionic -t cgutman/moonlight-packaging:l4t-bionic_$TAG_UNIQUE_ID . &
wait
docker build --pull -f Dockerfile.l4t.noble -t cgutman/moonlight-packaging:l4t-noble_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.aarch64.jammy -t cgutman/moonlight-packaging:aarch64-jammy_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.aarch64.noble -t cgutman/moonlight-packaging:aarch64-noble_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.armhf.jammy -t cgutman/moonlight-packaging:armhf-jammy_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.armhf.noble -t cgutman/moonlight-packaging:armhf-noble_$TAG_UNIQUE_ID . &
wait
docker build --pull -f Dockerfile.aarch64.bullseye -t cgutman/moonlight-packaging:aarch64-bullseye_$TAG_UNIQUE_ID . &
docker build --pull -f Dockerfile.aarch64.bookworm -t cgutman/moonlight-packaging:aarch64-bookworm_$TAG_UNIQUE_ID . &
@@ -36,4 +41,8 @@ docker push cgutman/moonlight-packaging:armhf-bullseye_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:armhf-bookworm_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:aarch64-bullseye_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:aarch64-bookworm_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:armhf-jammy_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:armhf-noble_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:aarch64-jammy_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:aarch64-noble_$TAG_UNIQUE_ID
docker push cgutman/moonlight-packaging:riscv64-sid_$TAG_UNIQUE_ID

View File

@@ -1,6 +1,6 @@
set -e
BASE_FFMPEG_ARGS="--enable-pic --enable-static --disable-shared --disable-all --disable-vulkan --enable-avcodec --enable-swscale --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=av1 --enable-libdav1d --enable-decoder=libdav1d --enable-libdrm --enable-decoder=h264_v4l2m2m --enable-decoder=hevc_v4l2m2m --extra-cflags=-I/usr/include/libdrm"
BASE_FFMPEG_ARGS="--fatal-warnings --enable-pic --enable-static --disable-shared --disable-all --disable-vulkan --enable-avcodec --enable-swscale --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=av1 --enable-libdav1d --enable-decoder=libdav1d --enable-libdrm --enable-decoder=h264_v4l2m2m --enable-decoder=hevc_v4l2m2m --extra-cflags=-I/usr/include/libdrm"
echo "Building dependencies for $TARGET"
if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then
@@ -18,8 +18,8 @@ if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then
sed -i 's|-lmmal_vc_client|-lmmal_vc_client -lbcm_host -lvcos -lvcsm -lvchostif -lvchiq_arm|g' /opt/FFmpeg/configure
fi
# Enable VL42 stateless decoders
EXTRA_FFMPEG_ARGS="--enable-sand --enable-libudev --enable-v4l2-request --enable-hwaccel=h264_v4l2request --enable-hwaccel=hevc_v4l2request"
# Enable HEVC VL42 stateless decoder (H.264 is stateful on Pi 4 and absent on Pi 5)
EXTRA_FFMPEG_ARGS="--enable-sand --enable-libudev --enable-v4l2-request --enable-hwaccel=hevc_v4l2request"
if [ "$DISTRO" == "buster" ]; then
# Copy libraspberrypi-dev pkgconfig files into the default location

View File

@@ -1,9 +1,10 @@
set -e
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y curl g++ make ninja-build devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev cmake
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libopus-dev
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libopus-dev gnupg
if [ "$DISTRO" != "buster" ] && [ "$DISTRO" != "bionic" ]; then
apt-get install -y libfreetype-dev libpipewire-0.3-dev
@@ -21,3 +22,11 @@ fi
if [ "$DISTRO" != "buster" ] && [ "$DISTRO" != "bullseye" ] && [ "$DISTRO" != "bionic" ]; then
apt-get install -y wayland-protocols libwayland-dev libdecor-0-dev
fi
if [ "$TARGET" == "embedded" ] && [ "$DISTRO" != "sid" ]; then
# Grab latest kernel headers from Bookworm to pick up the latest V4L2 defs
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6ED0E7B82643E131
echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list
apt-get update
apt-get install -y --no-install-recommends linux-libc-dev/bookworm-backports
fi