Browse Source

Update Minetest

master
TheBrokenRail 5 months ago
parent
commit
4f4e5d8c4c
  1. 2
      Dockerfile
  2. 2
      build/DEBIAN/control
  3. 27
      build/build-irrlicht.sh
  4. 53
      build/build-minetest.sh
  5. 71
      build/build.sh
  6. 3
      build/install-dependencies.sh

2
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

2
build/DEBIAN/control

@ -4,5 +4,5 @@ Maintainer: TheBrokenRail <connor24nolan@live.com>
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

27
build/build-irrlicht.sh

@ -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)

53
build/build-minetest.sh

@ -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

71
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

3
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

Loading…
Cancel
Save