Replace buster, bullseye, and sid with trixie

This commit is contained in:
Cameron Gutman
2025-07-26 21:26:28 -05:00
parent cae741f91e
commit 9d924740b9
16 changed files with 46 additions and 131 deletions

View File

@@ -4,31 +4,8 @@ BASE_FFMPEG_ARGS="--fatal-warnings --enable-pic --enable-static --disable-shared
echo "Building dependencies for $TARGET"
if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then
# We have to build MMAL libraries for aarch64 on Buster
if [ "$TARGET" == "rpi64" ] && [ "$DISTRO" == "buster" ]; then
cd /opt/rpi-userland
mkdir build
cd build
cmake -DARM64=ON -DLIBRARY_TYPE=STATIC -DVCOS_PTHREADS_BUILD_SHARED=OFF ..
make -j$(nproc)
make install
# We also have to patch the FFmpeg configure script since it doesn't use pkg-config
sed -i 's|add_ldflags -L/opt/vc/lib/|add_ldflags -L/opt/vc/lib/ -pthread|g' /opt/FFmpeg/configure
sed -i 's|-lmmal_vc_client|-lmmal_vc_client -lbcm_host -lvcos -lvcsm -lvchostif -lvchiq_arm|g' /opt/FFmpeg/configure
fi
# 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
mkdir -p /usr/local/lib/pkgconfig
cp /opt/vc/lib/pkgconfig/* /usr/local/lib/pkgconfig/
# Enable MMAL on Buster
EXTRA_FFMPEG_ARGS="$EXTRA_FFMPEG_ARGS --enable-mmal --enable-decoder=h264_mmal"
fi
elif [ "$TARGET" == "l4t" ]; then
# Enable NVV4L2 decoders (and VP9 decoder to work around compilation error in NVV4L2 fallback code)
EXTRA_FFMPEG_ARGS="--enable-nvv4l2 --enable-decoder=h264_nvv4l2 --enable-decoder=hevc_nvv4l2 --enable-decoder=vp9"

View File

@@ -13,45 +13,18 @@ git -c submodule.libs.update=none submodule update --init --recursive
VERSION=`cat app/version.txt`
# Determine extra target-specific dependencies
if [ "$TARGET" == "rpi" ]; then
EXTRA_CONFIG="CONFIG+=gpuslow"
if [ "$DISTRO" = "buster" ]; then
EXTRA_BUILD_DEPS="libraspberrypi-dev | rbp-userland-dev-osmc"
EXTRA_DEPS="libraspberrypi0 | rbp-userland-osmc"
else
EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0"
EXTRA_CONFIG="$EXTRA_CONFIG CONFIG+=disable-mmal"
fi
elif [ "$TARGET" == "rpi64" ]; then
EXTRA_CONFIG="CONFIG+=gpuslow"
if [ "$DISTRO" != "buster" ]; then
EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0"
EXTRA_CONFIG="$EXTRA_CONFIG CONFIG+=disable-mmal"
fi
if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then
EXTRA_CONFIG="CONFIG+=gpuslow CONFIG+=disable-mmal"
elif [ "$TARGET" == "l4t" ]; then
EXTRA_BUILD_DEPS="libwayland-dev, wayland-protocols"
EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0"
elif [ "$TARGET" == "desktop" ]; then
EXTRA_BUILD_DEPS="libwayland-dev, wayland-protocols, libva-dev, libvdpau-dev"
EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0"
EXTRA_BUILD_DEPS="libva-dev, libvdpau-dev"
elif [ "$TARGET" == "embedded" ]; then
EXTRA_CONFIG="CONFIG+=gpuslow"
if [ "$DISTRO" != "bullseye" ]; then
EXTRA_BUILD_DEPS="libwayland-dev, wayland-protocols"
EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0"
fi
else
echo "Unrecognized target: $TARGET"
exit 1
fi
# Determine extra distro-specific dependencies
if [ "$DISTRO" != "buster" ]; then
EXTRA_BUILD_DEPS="$EXTRA_BUILD_DEPS, libfreetype-dev"
else
EXTRA_BUILD_DEPS="$EXTRA_BUILD_DEPS, libfreetype6-dev"
fi
# Create a build directory
mkdir /opt/build

View File

@@ -3,20 +3,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 libgl-dev meson
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 libgl-dev meson wayland-protocols libwayland-dev libdecor-0-dev libfreetype-dev libpipewire-0.3-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" ]; then
apt-get install -y libfreetype-dev libpipewire-0.3-dev
else
apt-get install -y libfreetype6-dev
fi
if [ "$DISTRO" != "buster" ] && [ "$DISTRO" != "bullseye" ]; then
apt-get install -y wayland-protocols libwayland-dev libdecor-0-dev
fi
if [ "$TARGET" == "embedded" ] && [ "$DISTRO" != "sid" ]; then
if [ "$TARGET" == "embedded" ] && [ "$DISTRO" != "sid" ] && [ "$DISTRO" != "trixie" ]; 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