diff --git a/build-aarch64.sh b/build-aarch64.sh old mode 100755 new mode 100644 index e5aa865..7ae6cf7 --- a/build-aarch64.sh +++ b/build-aarch64.sh @@ -3,16 +3,13 @@ # this script is intended to be run on debian 13 aarch64 -VERSION="5.16.1" -SDL_VERSION="2.32.10" +VERSION="5.15.2" BOLD="\x1b[1m" RED="\x1b[31m" GREEN="\x1b[32m" RESET="\x1b[0m" -SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" - # make sure we are root if [ "$(id -u)" != "0" ]; then echo -e "${BOLD}${RED}This script must be run as root!${RESET}" @@ -21,7 +18,6 @@ fi # install deps echo -e "${BOLD}Downloading deps...${RESET}" - apt-get install -y --no-install-recommends \ git \ g++ \ @@ -50,23 +46,33 @@ apt-get install -y --no-install-recommends \ ca-certificates \ file -# download luajit, SDL2, and luanti source code -echo -e "${BOLD}Downloading LuaJIT, SDL2, and Luanti source code...${RESET}" +# download luajit and luanti source code +echo -e "${BOLD}Downloading LuaJIT and Luanti source code...${RESET}" git clone --depth=1 https://github.com/LuaJIT/LuaJIT.git luajit curl -Lo luanti.zip https://github.com/luanti-org/luanti/archive/refs/tags/${VERSION}.zip -curl -Lo sdl2.zip https://github.com/libsdl-org/SDL/releases/download/release-${SDL_VERSION}/SDL2-${SDL_VERSION}.zip - unzip luanti.zip mv luanti-${VERSION} luanti/ -rm luanti.zip -unzip sdl2.zip -mv SDL2-${SDL_VERSION} sdl2 -rm sdl2.zip +# create patch files +cat > patch-1.patch <<'EOF' +3713c3713 +< m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.16f, 2.0f); +--- +> m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.001f, 2.0f); +EOF -# apply external patch files -patch luanti/src/client/game.cpp "$SCRIPT_DIR"/patches/patch-1.patch -patch luanti/builtin/settingtypes.txt "$SCRIPT_DIR"/patches/patch-2.patch +cat > patch-2.patch <<'EOF' +151c151 +< repeat_place_time (Place repetition interval) float 0.25 0.16 2.0 +--- +> repeat_place_time (Place repetition interval) float 0.25 0.001 2.0 +EOF + +# apply patches +patch luanti/src/client/game.cpp patch-1.patch +patch luanti/builtin/settingtypes.txt patch-2.patch + +rm patch-[1-2].patch # compile luajit echo -e "${BOLD}Compiling LuaJIT...${RESET}" @@ -74,26 +80,6 @@ cd luajit make amalg -j$(nproc) cd .. -# compile sdl2 -echo -e "${BOLD}Compiling SDL2...${RESET}" -cd sdl2 - -mkdir build -cd build - -cmake .. -G Ninja \ - -DSDL_INSTALL_CMAKEDIR=usr/lib/cmake/SDL2 \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/ \ - -DCMAKE_C_FLAGS="-DSDL_LEAN_AND_MEAN=1" \ - -DSDL_{AUDIO,RENDER,VULKAN,TEST,STATIC}=OFF - -ninja -j$(nproc) -strip -s *.so -DESTDIR="../../" ninja install -j$(nproc) - -cd ../.. - # prepare to compile luanti cd luanti mkdir -p build @@ -140,6 +126,7 @@ chmod +x AppRun # bundle the libraries INCLUDE_LIBS=( libopenal.so.1 + libSDL2-2.0.so.0 libsndio.so.7.0 libbsd.so.0 libmd.so.0 @@ -159,9 +146,6 @@ for i in "${INCLUDE_LIBS[@]}"; do cp /usr/lib/aarch64-linux-gnu/${i} usr/lib/ done -# copy our SDL2 into place -cp ../../../usr/lib/libSDL2-2.0.so.0 usr/lib/ - # finally make the appimage cd .. ARCH=aarch64 ./appimagetool --appimage-extract-and-run AppDir/ @@ -172,10 +156,9 @@ mv Luanti-aarch64.AppImage ../../luanti-${VERSION}-aarch64.AppImage # clean up cd ../.. -rm -rf luanti/ -rm -rf sdl2/ -rm -rf usr/ +rm -rf luanti{,.zip} rm -rf luajit/ # done :D echo -e "${BOLD}${GREEN}Done!${RESET}" + diff --git a/build-win64.sh b/build-win64.sh old mode 100755 new mode 100644 index 7e80d4f..187970f --- a/build-win64.sh +++ b/build-win64.sh @@ -1,14 +1,12 @@ #!/bin/bash # this script is intended to be run in MSYS2 CLANG64 -VERSION="5.16.1" +VERSION="5.15.2" BOLD="\x1b[1m" GREEN="\x1b[32m" RESET="\x1b[0m" -SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" - # system update (skip this most of the time) echo -e "${BOLD}Updating system...${RESET}" pacman -Syu @@ -26,9 +24,25 @@ tar -xf luanti.tar cd luanti-${VERSION}/ -# apply external patch files -patch src/client/game.cpp "${SCRIPT_DIR}/patches/patch-1.patch" -patch builtin/settingtypes.txt "${SCRIPT_DIR}/patches/patch-2.patch" +# create and apply patches +cat > patch-1.patch <<'EOF' +3713c3713 +< m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.16f, 2.0f); +--- +> m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.001f, 2.0f); +EOF + +cat > patch-2.patch <<'EOF' +151c151 +< repeat_place_time (Place repetition interval) float 0.25 0.16 2.0 +--- +> repeat_place_time (Place repetition interval) float 0.25 0.001 2.0 +EOF + +patch src/client/game.cpp patch-1.patch +patch builtin/settingtypes.txt patch-2.patch + +rm patch-[1-2].patch # configure echo -e "${BOLD}Preparing to compile...${RESET}" diff --git a/build-x86_64.sh b/build-x86_64.sh old mode 100755 new mode 100644 index 5111e3f..47188ed --- a/build-x86_64.sh +++ b/build-x86_64.sh @@ -3,16 +3,13 @@ # this script is intended to be run on debian 13 x86_64 -VERSION="5.16.1" -SDL_VERSION="2.32.10" +VERSION="5.15.2" BOLD="\x1b[1m" RED="\x1b[31m" GREEN="\x1b[32m" RESET="\x1b[0m" -SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" - # make sure we are root if [ "$(id -u)" != "0" ]; then echo -e "${BOLD}${RED}This script must be run as root!${RESET}" @@ -21,7 +18,6 @@ fi # install deps echo -e "${BOLD}Downloading deps...${RESET}" - apt-get install -y --no-install-recommends \ git \ g++ \ @@ -50,23 +46,33 @@ apt-get install -y --no-install-recommends \ ca-certificates \ file -# download luajit, SDL2, and luanti source code -echo -e "${BOLD}Downloading LuaJIT, SDL2, and Luanti source code...${RESET}" +# download luajit and luanti source code +echo -e "${BOLD}Downloading LuaJIT and Luanti source code...${RESET}" git clone --depth=1 https://github.com/LuaJIT/LuaJIT.git luajit curl -Lo luanti.zip https://github.com/luanti-org/luanti/archive/refs/tags/${VERSION}.zip -curl -Lo sdl2.zip https://github.com/libsdl-org/SDL/releases/download/release-${SDL_VERSION}/SDL2-${SDL_VERSION}.zip - unzip luanti.zip mv luanti-${VERSION} luanti/ -rm luanti.zip -unzip sdl2.zip -mv SDL2-${SDL_VERSION} sdl2 -rm sdl2.zip +# create patch files +cat > patch-1.patch <<'EOF' +3713c3713 +< m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.16f, 2.0f); +--- +> m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.001f, 2.0f); +EOF -# apply external patch files -patch luanti/src/client/game.cpp "${SCRIPT_DIR}/patches/patch-1.patch" -patch luanti/builtin/settingtypes.txt "${SCRIPT_DIR}/patches/patch-2.patch" +cat > patch-2.patch <<'EOF' +151c151 +< repeat_place_time (Place repetition interval) float 0.25 0.16 2.0 +--- +> repeat_place_time (Place repetition interval) float 0.25 0.001 2.0 +EOF + +# apply patches +patch luanti/src/client/game.cpp patch-1.patch +patch luanti/builtin/settingtypes.txt patch-2.patch + +rm patch-[1-2].patch # compile luajit echo -e "${BOLD}Compiling LuaJIT...${RESET}" @@ -74,26 +80,6 @@ cd luajit make amalg -j$(nproc) cd .. -# compile sdl2 -echo -e "${BOLD}Compiling SDL2...${RESET}" -cd sdl2 - -mkdir build -cd build - -cmake .. -G Ninja \ - -DSDL_INSTALL_CMAKEDIR=usr/lib/cmake/SDL2 \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/ \ - -DCMAKE_C_FLAGS="-DSDL_LEAN_AND_MEAN=1" \ - -DSDL_{AUDIO,RENDER,VULKAN,TEST,STATIC}=OFF - -ninja -j$(nproc) -strip -s *.so -DESTDIR="../../" ninja install -j$(nproc) - -cd ../.. - # prepare to compile luanti cd luanti mkdir -p build @@ -140,6 +126,7 @@ chmod +x AppRun # bundle the libraries INCLUDE_LIBS=( libopenal.so.1 + libSDL2-2.0.so.0 libsndio.so.7.0 libbsd.so.0 libmd.so.0 @@ -159,9 +146,6 @@ for i in "${INCLUDE_LIBS[@]}"; do cp /usr/lib/x86_64-linux-gnu/${i} usr/lib/ done -# copy our SDL2 into place -cp ../../../usr/lib/libSDL2-2.0.so.0 usr/lib/ - # finally make the appimage cd .. ARCH=x86_64 ./appimagetool --appimage-extract-and-run AppDir/ @@ -172,9 +156,7 @@ mv Luanti-x86_64.AppImage ../../luanti-${VERSION}-x86_64.AppImage # clean up cd ../.. -rm -rf luanti/ -rm -rf sdl2/ -rm -rf usr/ +rm -rf luanti{,.zip} rm -rf luajit/ # done :D diff --git a/bundle_dlls.sh b/bundle_dlls.sh old mode 100755 new mode 100644 diff --git a/patches/patch-1.patch b/patches/patch-1.patch deleted file mode 100644 index 59ca4db..0000000 --- a/patches/patch-1.patch +++ /dev/null @@ -1,4 +0,0 @@ -3753c3753 -< m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.16f, 2.0f); ---- -> m_repeat_place_time = g_settings->getFloat("repeat_place_time", 0.001f, 2.0f); diff --git a/patches/patch-2.patch b/patches/patch-2.patch deleted file mode 100644 index 673bc5a..0000000 --- a/patches/patch-2.patch +++ /dev/null @@ -1,4 +0,0 @@ -151c151 -< repeat_place_time (Place repetition interval) float 0.25 0.16 2.0 ---- -> repeat_place_time (Place repetition interval) float 0.25 0.001 2.0