Link against SDL 2.0.10 and reduce dependencies

This commit is contained in:
Cameron Gutman
2020-02-11 00:21:39 -08:00
parent 6a317b7cfc
commit 0ccf234904
7 changed files with 28 additions and 10 deletions

3
.gitmodules vendored
View File

@@ -4,3 +4,6 @@
[submodule "nv-codec-headers"]
path = nv-codec-headers
url = https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
[submodule "SDL2"]
path = SDL2
url = https://github.com/spurious/SDL-mirror.git

View File

@@ -3,13 +3,14 @@ FROM amd64/debian:buster
RUN set -ex && \
export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y g++ make devscripts fakeroot debhelper git nasm && \
apt-get install -y libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libgl1-mesa-dev libegl1-mesa-dev libxkbcommon-dev wayland-protocols libopus-dev libva-dev libvdpau-dev libsdl2-dev libsdl2-ttf-dev && \
apt-get install -y g++ make devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libsdl2-ttf-dev && \
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libgl1-mesa-dev libegl1-mesa-dev libxkbcommon-dev wayland-protocols libopus-dev libva-dev libvdpau-dev && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY FFmpeg /opt/FFmpeg
COPY nv-codec-headers /opt/nv-codec-headers
COPY SDL2 /opt/SDL2
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh

View File

@@ -6,12 +6,13 @@ RUN set -ex && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 && \
apt-get update && \
apt-get install -y libnvmpi1.0.0 && \
apt-get install -y g++ make devscripts debhelper git nasm && \
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libgl1-mesa-dev libegl1-mesa-dev libxkbcommon-dev wayland-protocols libopus-dev libva-dev libvdpau-dev libsdl2-dev libsdl2-ttf-dev && \
apt-get install -y g++ make devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libsdl2-ttf-dev && \
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libgl1-mesa-dev libegl1-mesa-dev libxkbcommon-dev libopus-dev && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY FFmpeg /opt/FFmpeg
COPY SDL2 /opt/SDL2
COPY scripts/build-deps.sh /opt/scripts/
COPY scripts/build-package.sh /opt/scripts/

View File

@@ -7,12 +7,13 @@ RUN set -ex && \
echo "deb http://archive.raspberrypi.org/debian/ buster main" >> /etc/apt/sources.list && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 82B129927FA3303E && \
apt-get update && \
apt-get install -y g++ make devscripts fakeroot debhelper git nasm && \
apt-get install -y --no-install-recommends libraspberrypi-dev libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libgl1-mesa-dev libegl1-mesa-dev libxkbcommon-dev wayland-protocols libopus-dev libva-dev libvdpau-dev libsdl2-dev libsdl2-ttf-dev && \
apt-get install -y g++ make devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libsdl2-ttf-dev && \
apt-get install -y --no-install-recommends libraspberrypi-dev libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libgl1-mesa-dev libegl1-mesa-dev libxkbcommon-dev libopus-dev && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY FFmpeg /opt/FFmpeg
COPY SDL2 /opt/SDL2
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh

1
SDL2 Submodule

Submodule SDL2 added at b71dec57ab

2
debian/control vendored
View File

@@ -3,7 +3,7 @@ Maintainer: Cameron Gutman <aicommander@gmail.com>
Section: misc
Priority: optional
Standards-Version: 4.3.0
Build-Depends: debhelper (>= 10), libssl-dev, qtbase5-dev, qtquickcontrols2-5-dev, qtdeclarative5-dev, libqt5svg5-dev, libgl1-mesa-dev, libegl1-mesa-dev, libxkbcommon-dev, wayland-protocols, libopus-dev, libva-dev, libvdpau-dev, libsdl2-dev, libsdl2-ttf-dev, libraspberrypi-dev [armhf] | rbp-userland-dev-osmc [armhf]
Build-Depends: debhelper (>= 10), libssl-dev, qtbase5-dev, qtquickcontrols2-5-dev, qtdeclarative5-dev, libqt5svg5-dev, libgl1-mesa-dev, libegl1-mesa-dev, libxkbcommon-dev, libopus-dev, libsdl2-ttf-dev, wayland-protocols [amd64], libva-dev [amd64], libvdpau-dev [amd64], libraspberrypi-dev [armhf] | rbp-userland-dev-osmc [armhf]
Package: moonlight
Architecture: any

View File

@@ -1,6 +1,6 @@
set -e
BASE_FFMPEG_ARGS="--enable-pic --enable-static --disable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-hwaccel=h264_vdpau --enable-hwaccel=hevc_vdpau"
BASE_FFMPEG_ARGS="--enable-pic --enable-static --disable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-decoder=hevc"
ARCH=`uname -m`
echo "Building dependencies for $ARCH"
@@ -19,13 +19,24 @@ elif [ "$ARCH" == "x86_64" ]; then
cd /opt/nv-codec-headers
make install
# Enable NVDEC decoders
EXTRA_FFMPEG_ARGS="--enable-nvdec --enable-hwaccel=h264_nvdec --enable-hwaccel=hevc_nvdec"
# Enable VAAPI, VDPAU, and NVDEC decoders
EXTRA_FFMPEG_ARGS="--enable-nvdec --enable-hwaccel=h264_nvdec --enable-hwaccel=hevc_nvdec --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-hwaccel=h264_vdpau --enable-hwaccel=hevc_vdpau"
else
echo "Unrecognized architecture: $ARCH"
exit 1
fi
# Remove the existing SDL2 library (but not SDL_ttf)
find /usr/include/SDL2 -type f -not -name 'SDL_ttf.h' -delete
rm -fv /usr/lib/*-linux-*/libSDL2-*
rm -fv /usr/lib/*-linux-*/libSDL2.*
rm -fv /usr/lib/*-linux-*/pkgconfig/sdl2.pc
cd /opt/SDL2
./configure --enable-static --disable-shared --enable-video-kmsdrm
make -j$(nproc)
make install
cd /opt/FFmpeg
./configure $BASE_FFMPEG_ARGS $EXTRA_FFMPEG_ARGS
make -j$(nproc)