#!/bin/bash enable_postgres="false" enable_redis="false" if [ "$1" = "redis" ]; then enable_redis="true"; fi if [ "$2" = "redis" ]; then enable_redis="true"; fi if [ "$3" = "redis" ]; then enable_redis="true"; fi if [ "$1" = "postgres" ]; then enable_postgres="true"; fi if [ "$2" = "postgres" ]; then enable_postgres="true"; fi if [ "$3" = "postgres" ]; then enable_postgres="true"; fi #if [ -f "`command -v minetest`" ]; then #echo "* trying to remove any non-git (packaged) version first (Press Ctrl C to cancel)..." luajit_path="/usr/include/luajit-2.1" ext_lua="" #fi sleep 1 echo "3..." sleep 1 echo "2..." sleep 1 echo "1..." sleep 1 echo this_dnf="" if [ -f "`command -v dnf`" ]; then this_dnf = "dnf" else if [ -f "`command -v yum`" ]; then this_dnf = "yum" echo "WARNING: dnf not found, reverting to yum." fi fi this_apt="" if [ -f "`command -v apt`" ]; then this_apt = "apt" else if [ -f "`command -v apt-get`" ]; then this_apt = "apt-get" echo "WARNING: apt not found, reverting to apt-get." fi fi if [ ! -z "$this_apt" ]; then # sudo $this_apt -y remove minetest-server # sudo $this_apt -y remove minetest sudo $this_apt update sudo $this_apt -y install \ autoconf automake autopoint autotools-dev \ bash binutils bison bzip2 \ cmake coreutils e2fsprogs expat \ flex fontconfig g++ gawk \ gcc gettext git g++-multilib \ gperf grep gzip htop \ icu-devtools intltool joe less \ libbz2-dev libc6-dev-i386 libedit-dev libexpat1-dev \ libgmp-dev libjpeg-dev libltdl-dev libncurses5-dev \ libogg-dev libopenal-dev libpng-dev libreadline-dev \ libsqlite3-dev libssl-dev libtool libtool-bin \ libvorbis-dev libx11-dev libxxf86vm-dev lynx \ nano nettle-dev p7zip-full patch \ perl pkg-config python3 python3-dev \ python-dev rake ruby sed \ tar tcl unzip util-linux \ wget xz-utils zip \ \ libcurl4-openssl-dev \ libfreetype6-dev \ libgdk-pixbuf2.0-dev \ libglu1-mesa-dev \ libxml-parser-perl \ xserver-xorg-dev if [ "$enable_redis" = "true" ]; then sudo $this_apt -y install libhiredis-dev fi if [ "$enable_postgres" = "true" ]; then sudo $this_apt -y install libpq-dev postgresql-server-dev-all fi # Some issues on Fedora ~27: # sudo apt -y install libncurses5-dev libgettextpo-dev doxygen libspatialindex-dev libpq-dev postgresql-server-dev-all # if you skip the above, the next step says missing: GetText, Curses, ncurses, Redis, SpatialIndex, Doxygen elif [ -f "`command -v pacman`" ]; then # sudo pacman -R --noconfirm minetest-server # sudo pacman -R --noconfirm minetest sudo pacman -Syu --noconfirm \ autoconf automake bzip2 cmake \ curl expat flex freetype2 \ gcc git gmp libedit \ libgccjit libjpeg-turbo libogg libpng \ libstdc++5 libtool libvorbis make \ ncurses openal openssl patch \ pkgconf python python2 readline \ ruby tcl which xorg-server \ xz zlib # The above should work since taken from the build kit instructions # (When writing my old script, I somehow couldn't find equivalents of: # libjpeg8-dev libxxf86vm-dev mesa sqlite libogg vorbis -poikilos) if [ "$enable_redis" = "true" ]; then sudo pacman -Syu --noconfirm hiredis redis fi if [ "$enable_postgres" = "true" ]; then sudo pacman -Syu --noconfirm postgresql-libs fi elif [ ! -z "$this_dnf" ]; then # sudo $this_dnf -y remove minetest-server # sudo $this_dnf -y remove minetest sudo $this_dnf -y install \ autoconf automake bzip2 \ bzip2-devel cmake expat-devel \ flex fontconfig-devel freetype-devel \ gcc gcc-c++ git \ glibc-devel gmp-devel libcurl-devel \ libedit-devel libgcc libjpeg-devel \ libogg-devel libpng-devel libstdc++-devel \ libtool libvorbis-devel libX11-devel \ lzo-devel make ncurses-devel \ openal-soft-devel openssl-devel patch \ pkgconf readline-devel ruby \ tcl which xz \ zlib-devel xorg-x11-server-devel if [ "$enable_redis" = "true" ]; then sudo $this_dnf -y install redis hiredis-devel fi if [ "$enable_postgres" = "true" ]; then sudo $this_dnf -y install postgresql-devel fi else # echo "WARNING: cannot remove packaged version, because your package manager is not known by this script." echo "WARNING: cannot Install dependencies, because your package manager is not known by this script." exit 1 fi