1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-30 19:22:14 +00:00
luanti/util/ci/common.sh
2025-09-07 20:24:09 +02:00

73 lines
2.2 KiB
Bash

#!/bin/bash -e
# Linux build only
install_linux_deps() {
local graphics=1
if [[ "$1" == "--headless" ]]; then
graphics=
shift
fi
local pkgs=(
cmake gettext postgresql
libsqlite3-dev libhiredis-dev libogg-dev libgmp-dev libpq-dev
libleveldb-dev libcurl4-openssl-dev libzstd-dev libssl-dev
)
[ -n "$graphics" ] && pkgs+=(
libpng-dev libjpeg-dev libgl1-mesa-dev libsdl2-dev libfreetype-dev
libogg-dev libvorbis-dev libopenal-dev
)
sudo apt-get update
sudo apt-get install -y --no-install-recommends "${pkgs[@]}" "$@"
# set up Postgres for unit tests
if [ -n "$MINETEST_POSTGRESQL_CONNECT_STRING" ]; then
sudo systemctl start postgresql.service
sudo -u postgres psql <<<"
CREATE USER minetest WITH PASSWORD 'minetest';
CREATE DATABASE minetest;
\c minetest
GRANT ALL ON SCHEMA public TO minetest;
"
fi
}
# macOS build only
install_macos_deps() {
# Uninstall the bundled cmake, it is outdated, and brew does not want to install the newest version with this one present since they are from different taps.
brew uninstall cmake || :
local pkgs=(
cmake gettext freetype gmp jpeg-turbo jsoncpp leveldb
libogg libpng libvorbis luajit zstd sdl2
)
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
# contrary to how it may look --auto-update makes brew do *less*
brew update --auto-update
brew install --display-times "${pkgs[@]}"
brew unlink $(brew ls --formula)
brew link "${pkgs[@]}"
}
# iOS build only
install_ios_deps() {
osver=$1
# Uninstall the bundled cmake, it is outdated, and brew does not want to install the newest version with this one present since they are from different taps.
brew uninstall cmake || :
local pkgs=(
cmake gettext wget
)
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
# contrary to how it may look --auto-update makes brew do *less*
brew update --auto-update
brew install --display-times "${pkgs[@]}"
brew unlink $(brew ls --formula)
brew link "${pkgs[@]}"
wget ios${osver}_deps.tar.gz https://github.com/luanti-org/luanti_ios_deps/releases/download/latest/ios${osver}_deps.tar.gz || echo "Ignore stupid error number 4: $?"
tar -xf ios${osver}_deps.tar.gz
}