Files
moonlight-packaging/scripts/build-package.sh
2022-03-27 03:02:31 +00:00

64 lines
1.7 KiB
Bash
Executable File

set -e
# Check out the source without the Windows/Mac prebuilts
[[ ! -z "$COMMIT" ]] || COMMIT="master"
echo "Checking out $COMMIT"
git clone https://github.com/moonlight-stream/moonlight-qt.git
cd moonlight-qt
git checkout $COMMIT
git log -1
git -c submodule.libs.update=none submodule update --init --recursive
# Grab the verson metadata
VERSION=`cat app/version.txt`
# Determine extra target-specific dependencies
if [ "$TARGET" == "rpi" ]; then
EXTRA_BUILD_DEPS="libraspberrypi-dev | rbp-userland-dev-osmc"
EXTRA_DEPS="libraspberrypi0 | rbp-userland-osmc"
elif [ "$TARGET" == "rpi64" ]; then
EXTRA_BUILD_DEPS=""
EXTRA_DEPS=""
elif [ "$TARGET" == "l4t" ]; then
EXTRA_BUILD_DEPS=""
elif [ "$TARGET" == "desktop" ]; then
EXTRA_BUILD_DEPS="libwayland-dev, wayland-protocols, libva-dev, libvdpau-dev"
else
echo "Unrecognized target: $TARGET"
exit 1
fi
# Create a build directory
mkdir /opt/build
# Generate source tarball
scripts/generate-src.sh
# Move the tarball into the build directory
mv build/source/MoonlightSrc-$VERSION.tar.gz /opt/build/moonlight-qt_$VERSION.orig.tar.gz
# Extract the tarball into the appropriate directory
cd /opt/build
mkdir moonlight-qt-$VERSION
cd moonlight-qt-$VERSION
tar xvf ../moonlight-qt_$VERSION.orig.tar.gz
# Copy the debian directory into the build directory
cp -r /opt/debian .
# Patch the control file with target-specific dependencies
sed -i "s/EXTRA_BUILD_DEPS/$EXTRA_BUILD_DEPS/g" debian/control
sed -i "s/EXTRA_DEPS/$EXTRA_DEPS/g" debian/control
cat debian/control
# Build the package
debuild -us -uc
# Copy the output to the out directory
cd /opt/build
shopt -s extglob
cp -v -r !(moonlight-qt-$VERSION) /out
# Done!
echo "Build successful!"