From 4f4e5d8c4c45e6f75da145e4519b9e3749899b4c Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Tue, 6 Jul 2021 21:31:29 -0400 Subject: [PATCH] Update Minetest --- Dockerfile | 2 +- build/DEBIAN/control | 2 +- build/build-irrlicht.sh | 27 ------------- build/build-minetest.sh | 53 -------------------------- build/build.sh | 71 ++++++++++++++++++++++++++++++++++- build/install-dependencies.sh | 3 +- 6 files changed, 73 insertions(+), 85 deletions(-) delete mode 100755 build/build-irrlicht.sh delete mode 100755 build/build-minetest.sh diff --git a/Dockerfile b/Dockerfile index b64c00d..fdd4f6b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,5 +8,5 @@ WORKDIR /app ADD build/install-dependencies.sh /app/ RUN ./install-dependencies.sh -ADD build/build.sh build/build-irrlicht.sh build/build-minetest.sh /app/ +ADD build/build.sh /app/ ADD build/DEBIAN /app/DEBIAN diff --git a/build/DEBIAN/control b/build/DEBIAN/control index b1c01ae..422d35e 100644 --- a/build/DEBIAN/control +++ b/build/DEBIAN/control @@ -4,5 +4,5 @@ Maintainer: TheBrokenRail Description: A free open-source voxel game engine with easy modding and game creation. Homepage: https://www.minetest.net Architecture: amd64 -Depends: libc6, libstdc++6, libxxf86vm1, libgles1, libegl1, libsqlite3-0, libogg0, libvorbis0a, libopenal1, libcurl3-gnutls, libfreetype6, zlib1g, libgmp10, libxi6, libluajit-5.1-2, libleveldb1d, libncursesw6, libpq5, libspatialindex6, libhiredis0.14 +Depends: libc6, libstdc++6, libxxf86vm1, libgles2, libegl1, libsqlite3-0, libogg0, libvorbis0a, libopenal1, libcurl3-gnutls, libfreetype6, zlib1g, libgmp10, libxi6, libluajit-5.1-2, libleveldb1d, libncursesw6, libpq5, libspatialindex6, libhiredis0.14 Conflicts: minetestc55, minetest, minetest-data, minetest-staging diff --git a/build/build-irrlicht.sh b/build/build-irrlicht.sh deleted file mode 100755 index 752030d..0000000 --- a/build/build-irrlicht.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -IRRLICHT_VERSION='6186' - -set -e - -svn export -r "${IRRLICHT_VERSION}" svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es irrlicht -cd irrlicht - -disable_feature() { - sed -i "s/^#define $1.*\$//g" include/IrrCompileConfig.h -} -enable_feature() { - sed -i "s/^#ifdef NO$1.*\$/#ifndef $1\n#define $1\n#endif\n#if 0/g" include/IrrCompileConfig.h -} - -disable_feature _IRR_COMPILE_WITH_OPENGL_ -disable_feature _IRR_COMPILE_WITH_OGLES2_ -disable_feature _IRR_COMPILE_WITH_WEBGL1_ -disable_feature _IRR_COMPILE_WITH_SOFTWARE_ -disable_feature _IRR_COMPILE_WITH_BURNINGSVIDEO_ -enable_feature _IRR_COMPILE_WITH_OGLES1_ -enable_feature _IRR_LINUX_X11_XINPUT2_ - -cd source/Irrlicht - -make NDEBUG=1 CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ -j$(nproc) diff --git a/build/build-minetest.sh b/build/build-minetest.sh deleted file mode 100755 index a39b842..0000000 --- a/build/build-minetest.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -set -e - -git clone https://github.com/TheBrokenRail/minetest.git -b desktop-touch -cd minetest - -DEB_VERSION="$(git describe --tags --dirty)" - -git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game - -mkdir build-dir -cd build-dir - -# Prepare Build -cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_SYSTEM_PROCESSOR=aarch64 \ - -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ - -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ - -DENABLE_GLES=TRUE \ - -DDISPLAY_DENSITY_FACTOR=0.7 \ - -DGLES_VERSION=1 \ - -DENABLE_TOUCH=TRUE \ - -DRUN_IN_PLACE=FALSE \ - -DBUILD_UNITTESTS=FALSE \ - -DIRRLICHT_LIBRARY=../../irrlicht/lib/Linux/libIrrlicht.a \ - -DIRRLICHT_INCLUDE_DIR=../../irrlicht/include \ - -DVERSION_EXTRA=mobile \ - .. - -# Build -make -j$(nproc) - -# Clean Up -rm -rf tmp -mkdir tmp -rm -rf /out/* -mkdir -p /out - -# Install Files -make install DESTDIR="$(pwd)/tmp" - -# Prepare Debian -cp -r ../../DEBIAN tmp/DEBIAN -sed -i 's/${VERSION}/'"${DEB_VERSION}"'/g' tmp/DEBIAN/control - -# Make DEB -dpkg -b tmp /out - -# Clean Up -rm -rf tmp diff --git a/build/build.sh b/build/build.sh index 827a414..ad7fc43 100755 --- a/build/build.sh +++ b/build/build.sh @@ -2,5 +2,72 @@ set -e -./build-irrlicht.sh -./build-minetest.sh +# Clone Minetest +rm -rf minetest +git clone https://github.com/TheBrokenRail/minetest.git -b desktop-touch +cd minetest +git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game + +# Get Version +DEB_VERSION="$(git describe --tags --dirty)" + +# Clone Irrlicht +git clone --depth 1 https://github.com/minetest/irrlicht.git lib/irrlichtmt + +# Configure Irrlicht +cd lib/irrlichtmt + +disable_feature() { + sed -i "s/^#define $1.*\$//g" include/IrrCompileConfig.h +} +enable_feature() { + sed -i "s/^#ifdef NO$1.*\$/#ifndef $1\n#define $1\n#endif\n#if 0/g" include/IrrCompileConfig.h +} + +disable_feature _IRR_COMPILE_WITH_OPENGL_ +disable_feature _IRR_COMPILE_WITH_OGLES2_ +disable_feature _IRR_COMPILE_WITH_WEBGL1_ +disable_feature _IRR_COMPILE_WITH_SOFTWARE_ +disable_feature _IRR_COMPILE_WITH_BURNINGSVIDEO_ +enable_feature _IRR_COMPILE_WITH_OGLES1_ +enable_feature _IRR_LINUX_X11_XINPUT2_ + +cd ../../ + +# Configure Minetest +mkdir build +cd build +cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SYSTEM_PROCESSOR=aarch64 \ + -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \ + -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \ + -DENABLE_GLES=TRUE \ + -DENABLE_TOUCH=TRUE \ + -DRUN_IN_PLACE=FALSE \ + -DBUILD_UNITTESTS=FALSE \ + -DVERSION_EXTRA=mobile \ + .. + +# Build +make -j$(nproc) + +# Prepare +rm -rf tmp +mkdir tmp +rm -rf /out/* +mkdir -p /out + +# Install Files +make install DESTDIR="$(pwd)/tmp" + +# Prepare Debian +cp -r ../../DEBIAN tmp/DEBIAN +sed -i 's/${VERSION}/'"${DEB_VERSION}"'/g' tmp/DEBIAN/control + +# Make DEB +dpkg -b tmp /out + +# Clean Up +rm -rf tmp diff --git a/build/install-dependencies.sh b/build/install-dependencies.sh index b5b57c1..989cadd 100755 --- a/build/install-dependencies.sh +++ b/build/install-dependencies.sh @@ -36,4 +36,5 @@ apt-get install -y \ libleveldb-dev:arm64 \ libncurses-dev:arm64 \ libspatialindex-dev:arm64 \ - libhiredis-dev:arm64 + libhiredis-dev:arm64 \ + libgles2:arm64