Reduce duplicated code and build SDL_ttf

This commit is contained in:
Cameron Gutman
2020-02-11 21:01:38 -08:00
parent 0ccf234904
commit 8664097039
8 changed files with 38 additions and 21 deletions

3
.gitmodules vendored
View File

@@ -7,3 +7,6 @@
[submodule "SDL2"]
path = SDL2
url = https://github.com/spurious/SDL-mirror.git
[submodule "SDL_ttf"]
path = SDL_ttf
url = https://github.com/bminor/SDL_ttf.git

View File

@@ -1,16 +1,15 @@
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 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 && \
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
apt-get install -y --no-install-recommends libwayland-dev wayland-protocols 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 SDL_ttf /opt/SDL_ttf
COPY scripts/build-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/build-deps.sh

View File

@@ -1,18 +1,17 @@
FROM nvcr.io/nvidia/l4t-base:r32.3.1
RUN set -ex && \
export DEBIAN_FRONTEND=noninteractive && \
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
echo "deb https://dl.bintray.com/cgutman/moonlight-l4t bionic main" >> /etc/apt/sources.list && \
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 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 SDL_ttf /opt/SDL_ttf
COPY scripts/build-deps.sh /opt/scripts/
COPY scripts/build-package.sh /opt/scripts/

View File

@@ -1,19 +1,18 @@
FROM arm32v7/debian:buster
RUN set -ex && \
export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
COPY scripts/install-base-deps.sh /opt/scripts/
RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \
apt-get install -y --no-install-recommends gnupg && \
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 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 install -y --no-install-recommends libraspberrypi-dev && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
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

1
SDL_ttf Submodule

Submodule SDL_ttf added at 687150bb1a

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, libopus-dev, libsdl2-ttf-dev, wayland-protocols [amd64], libva-dev [amd64], libvdpau-dev [amd64], libraspberrypi-dev [armhf] | rbp-userland-dev-osmc [armhf]
Build-Depends: debhelper (>= 10), libssl-dev, qtbase5-dev, qtquickcontrols2-5-dev, qtdeclarative5-dev, libqt5svg5-dev, libxkbcommon-dev, libopus-dev, libgbm-dev, libdrm-dev, libfreetype6-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, libxrandr-dev, libxss-dev, libxt-dev, libxv-dev, libxxf86vm-dev, libwayland-dev [amd64], wayland-protocols [amd64], libva-dev [amd64], libvdpau-dev [amd64], libraspberrypi-dev [armhf] | rbp-userland-dev-osmc [armhf], libnvmpi1.0.0 [arm64]
Package: moonlight
Architecture: any

View File

@@ -26,15 +26,26 @@ else
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
# Build and install our SDL2 build
# Since we'll be linking statically, we need to use Libs.private instead of Libs, but
# there's no way to tell QMake to use the Libs.private section, so we have to replace
# Libs with Libs.private ourselves prior to installation.
cd /opt/SDL2
./configure --enable-static --disable-shared --enable-video-kmsdrm
make -j$(nproc)
sed -i '/^Libs:/d' sdl2.pc
sed -i 's/Libs.private:/Libs:/g' sdl2.pc
cat sdl2.pc
make install
# Build and install SDL_ttf
# For similar reasons to SDL2 above, we have to patch the pkgconfig file in order to
# link with a static library.
cd /opt/SDL_ttf
./configure --enable-static --disable-shared
make -j$(nproc)
sed -i 's/-lSDL2_ttf/-lSDL2_ttf -lfreetype/g' SDL2_ttf.pc
cat SDL2_ttf.pc
make install
cd /opt/FFmpeg

5
scripts/install-base-deps.sh Executable file
View File

@@ -0,0 +1,5 @@
set -e
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y g++ make devscripts fakeroot debhelper git nasm libgbm-dev libdrm-dev libfreetype6-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
apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libopus-dev