Amethyst-Android/scripts/patch_vulkanmod.sh
Duy Tran Khanh 4a8c1e4bc0
Feat[LWJGL]: update to 3.3.1 (#4326)
* Feat: update to LWJGL 3.3.1
Add nanovg module for OneConfig mod (untested)
Move most of jre_lwjgl3glfw source files to lwjgl3 repo

* Update lwjgl libraries

* Fix: fatal glfw callback cleanup

* Build: update lwjgl.jar (fix dlopen on 32bit)

https://github.com/PojavLauncherTeam/lwjgl3/commit/4c35777

* Feat: add support code for VulkanMod
Copied changes from v3_vulkanmod branch except libraries
Added patch script for VulkanMod

* Fix variable name

* Fix[oshi]: try to update to jna 5.13.0 and oshi 6.3.0

* fix compilation errors

* Fix NumberFormatException: For input string: "1-jre"

* Fix the brackets

* Fix: jna library path

* Fix OpenGL initialization

* Fix broken init of GL renderers

* Fixes[vulkanmod]: fix patcher script, set Vulkan libname

* Fix SHA1 mismatch of replaced libraries

* Build: update lwjgl-opengl.jar: reland fixPojavGLContext

29db8b5cc0

* Include libc++_shared in vulkanmod patcher

* Revert "Include libc++_shared in vulkanmod patcher"

This reverts commit cf3165e89c5de601ad9e7ffe7c6eee2573df7135.

* Fix java version detection for LabyMod4

* Fix lwjgl-openal missing wrapper

---------

Co-authored-by: khanhduytran0 <khanhduytran0@users.noreply.github.com>
2023-08-12 14:38:32 +07:00

54 lines
1.7 KiB
Bash

#!/bin/bash
set -e
copy_libs() {
echo "# Copying libraries for $1"
# Extract natives
mkdir -p linux/$1/org/lwjgl/{shaderc,vma}
wget -q https://nightly.link/PojavLauncherTeam/lwjgl3/workflows/build-android/3.3.1/lwjgl3-android-natives-$1.zip
unzip lwjgl3-android-natives-$1.zip libshaderc.so liblwjgl_vma.so; rm lwjgl3-android-natives-$1.zip
mv libshaderc.so linux/$1/org/lwjgl/shaderc/
mv liblwjgl_vma.so linux/$1/org/lwjgl/vma/
# Overwrite natives
zip -gr META-INF/jars/lwjgl-shaderc-3.3.1-natives-linux.jar linux/$1/org/lwjgl/shaderc
zip -gr META-INF/jars/lwjgl-vma-3.3.1-natives-linux.jar linux/$1/org/lwjgl/vma
# Cleanup
rm -r linux
}
if [ -z "$1" ] || [ -z "$2" ] ; then
echo "Usage: $0 /path/to/VulkanMod.jar [architectures...]"
echo "Valid architectures: arm64 arm32 x64 x86"
exit 1
fi
export TMPDIR=$TMPDIR/vkmodpatch
rm -rf $TMPDIR; mkdir $TMPDIR; cd $TMPDIR
unzip $1 'META-INF/jars/lwjgl-*-3.3.1-natives-linux.jar' META-INF/jars/lwjgl-vulkan-3.3.1.jar
# Overwrite lwjgl-vulkan.jar
unzip META-INF/jars/lwjgl-vulkan-3.3.1.jar 'META-INF/*' fabric.mod.json -d lwjgl-vulkan
wget -q https://nightly.link/PojavLauncherTeam/lwjgl3/workflows/build-android/3.3.1/lwjgl3-android-modules.zip
unzip lwjgl3-android-modules.zip lwjgl-vulkan/lwjgl-vulkan.jar; rm lwjgl3-android-modules.zip
mv lwjgl-vulkan/lwjgl-vulkan.jar META-INF/jars/lwjgl-vulkan-3.3.1.jar
(cd lwjgl-vulkan && zip -r ../META-INF/jars/lwjgl-vulkan-3.3.1.jar META-INF fabric.mod.json)
rm -r lwjgl-vulkan
# Process every arch
for arg in "$@"; do
if [ "$arg" != "$1" ]; then
copy_libs $arg
fi
done
# Package everything back
zip -gr $1 META-INF
# Cleanup
rm -rf $TMPDIR
echo "Done"