Update Dependency Installation

This commit is contained in:
TheBrokenRail 2022-06-09 23:10:05 -04:00
parent daccf65361
commit a8ff58f0c4
5 changed files with 91 additions and 113 deletions

1
.gitignore vendored
View File

@ -9,5 +9,6 @@ appimage-builder-cache
appimage-build appimage-build
AppDir AppDir
*.zsync *.zsync
*.AppImage
core* core*
qemu_* qemu_*

@ -1 +1 @@
Subproject commit 62e175ef9fae75335575964c845a302447c012c7 Subproject commit d3ede7b6847b66cf30b067214b2b4b126d4c729b

View File

@ -8,5 +8,5 @@ ADD ./scripts/install-dependencies.sh /
RUN \ RUN \
apt-get update && \ apt-get update && \
apt-get install --no-install-recommends -y sudo && \ apt-get install --no-install-recommends -y sudo && \
/install-dependencies.sh && \ /install-dependencies.sh amd64 armhf arm64 && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*

View File

@ -2,91 +2,73 @@
set -e set -e
# This Script Assumes An x86_64 Host # Main Script
if [ "$(uname -m)" != "x86_64" ]; then run() {
echo 'Invalid Build Architecture' # Add ARM Repository
exit 1 for arch in "$@"; do
fi sudo dpkg --add-architecture "${arch}"
done
# Add ARM Repository # Update APT
if [ ! -z "${ARM_PACKAGES_SUPPORTED}" ]; then sudo apt-get update
sudo dpkg --add-architecture armhf sudo apt-get dist-upgrade -y
sudo dpkg --add-architecture arm64
fi
# Update APT # Install Everything In One Go
sudo apt-get update PKG_QUEUE=''
sudo apt-get dist-upgrade -y queue_pkg() {
# Install Everything In One Go
PKG_QUEUE=''
queue_pkg() {
PKG_QUEUE="${PKG_QUEUE} $@" PKG_QUEUE="${PKG_QUEUE} $@"
} }
# Build Tools # Build System
queue_pkg \ queue_pkg \
git \ git \
cmake \ cmake \
ninja-build \ ninja-build \
crossbuild-essential-armhf \
gcc g++ \
nodejs nodejs
# Dependencies # Host Dependencies Needed For Compile
queue_pkg \ queue_pkg \
libfreeimage3 libfreeimage-dev \ libwayland-bin \
libopenal-dev \ libfreeimage-dev
# Host Dependencies Needed For Running
queue_pkg \
qemu-user \ qemu-user \
patchelf patchelf
# GLFW Dependencies # Architecture-Specific Dependencies
queue_pkg \ architecture_specific_pkg() {
libwayland-dev \ # Compiler
libxkbcommon-dev \
wayland-protocols \
libx11-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev \
libxext-dev
# Zenity Dependencies
queue_pkg \
libgtk-3-dev \
libglib2.0-dev
# ARM Packages
if [ ! -z "${ARM_PACKAGES_SUPPORTED}" ]; then
# Build Tools
queue_pkg \ queue_pkg \
crossbuild-essential-arm64 crossbuild-essential-$1
# Dependencies # Dependencies
queue_pkg \ queue_pkg \
libfreeimage3:armhf libfreeimage3:arm64 \ libfreeimage3:$1 \
libopenal-dev:armhf libopenal-dev:arm64 libopenal-dev:$1
# GLFW Dependencies # GLFW Dependencies
queue_pkg \ queue_pkg \
libwayland-dev:armhf libwayland-dev:arm64 \ libwayland-dev:$1 \
libxkbcommon-dev:armhf libxkbcommon-dev:arm64 \ libxkbcommon-dev:$1 \
libx11-dev:armhf libx11-dev:arm64 \ libx11-dev:$1 \
libxcursor-dev:armhf libxcursor-dev:arm64 \ libxcursor-dev:$1 \
libxi-dev:armhf libxi-dev:arm64 \ libxi-dev:$1 \
libxinerama-dev:armhf libxinerama-dev:arm64 \ libxinerama-dev:$1 \
libxrandr-dev:armhf libxrandr-dev:arm64 \ libxrandr-dev:$1 \
libxext-dev:armhf libxext-dev:arm64 libxext-dev:$1
# Zenity Dependencies # Zenity Dependencies
queue_pkg \ queue_pkg \
libgtk-3-dev:armhf libgtk-3-dev:arm64 \ libgtk-3-dev:$1 \
libglib2.0-dev:armhf libglib2.0-dev:arm64 libglib2.0-dev:$1
fi }
for arch in "$@"; do
architecture_specific_pkg "${arch}"
done
# Install appimagetool & appimage-builder Dependencies # Install appimagetool & appimage-builder Dependencies
queue_pkg \ queue_pkg \
python3-pip \ python3-pip \
python3-setuptools \ python3-setuptools \
python3-wheel \ python3-wheel \
@ -100,22 +82,16 @@ queue_pkg \
shared-mime-info \ shared-mime-info \
sed sed
# Install Queue # Install Queue
sudo apt-get install --no-install-recommends -y ${PKG_QUEUE} sudo apt-get install --no-install-recommends -y ${PKG_QUEUE}
# Download appimagetool # Install appimage-builder
sudo mkdir -p /opt sudo pip3 install 'git+https://github.com/AppImageCrafters/appimage-builder.git'
sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /opt/appimagetool }
sudo chmod +x /opt/appimagetool
# Workaround AppImage Issues With Docker
cd /opt
sudo sed -i '0,/AI\x02/{s|AI\x02|\x00\x00\x00|}' ./appimagetool
sudo rm -rf /opt/squashfs-root /opt/appimagetool.AppDir
sudo ./appimagetool --appimage-extract
sudo rm -f ./appimagetool
sudo mv /opt/squashfs-root /opt/appimagetool.AppDir
sudo rm -f /usr/local/bin/appimagetool
sudo ln -s /opt/appimagetool.AppDir/AppRun /usr/local/bin/appimagetool
# Install appimage-builder # Run
sudo pip3 install 'git+https://github.com/AppImageCrafters/appimage-builder.git' if [ "$#" -lt 1 ]; then
run "$(dpkg-architecture -qDEB_BUILD_ARCH)"
else
run "$@"
fi

View File

@ -9,4 +9,5 @@ set -e
appimage-builder --recipe AppImageBuilder.yml appimage-builder --recipe AppImageBuilder.yml
# Move ZSync # Move ZSync
rm -f "./out/minecraft-pi-reborn-$1-latest-$2.AppImage.zsync"
mv "./minecraft-pi-reborn-$1-$(cat VERSION)-$2.AppImage.zsync" "./out/minecraft-pi-reborn-$1-latest-$2.AppImage.zsync" mv "./minecraft-pi-reborn-$1-$(cat VERSION)-$2.AppImage.zsync" "./out/minecraft-pi-reborn-$1-latest-$2.AppImage.zsync"