Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/PojavLauncher
Path: blob/v3_openjdk/scripts/patch_vulkanmod.sh
2126 views
1
#!/bin/bash
2
set -e
3
4
copy_libs() {
5
echo "# Copying libraries for $1"
6
7
# Extract natives
8
mkdir -p linux/$1/org/lwjgl/{shaderc,vma}
9
wget -q https://nightly.link/PojavLauncherTeam/lwjgl3/workflows/build-android/3.3.1/lwjgl3-android-natives-$1.zip
10
unzip lwjgl3-android-natives-$1.zip libshaderc.so liblwjgl_vma.so; rm lwjgl3-android-natives-$1.zip
11
mv libshaderc.so linux/$1/org/lwjgl/shaderc/
12
mv liblwjgl_vma.so linux/$1/org/lwjgl/vma/
13
14
# Overwrite natives
15
zip -gr META-INF/jars/lwjgl-shaderc-3.3.1-natives-linux.jar linux/$1/org/lwjgl/shaderc
16
zip -gr META-INF/jars/lwjgl-vma-3.3.1-natives-linux.jar linux/$1/org/lwjgl/vma
17
18
# Cleanup
19
rm -r linux
20
}
21
22
if [ -z "$1" ] || [ -z "$2" ] ; then
23
echo "Usage: $0 /path/to/VulkanMod.jar [architectures...]"
24
echo "Valid architectures: arm64 arm32 x64 x86"
25
exit 1
26
fi
27
28
export TMPDIR=$TMPDIR/vkmodpatch
29
rm -rf $TMPDIR; mkdir $TMPDIR; cd $TMPDIR
30
unzip $1 'META-INF/jars/lwjgl-*-3.3.1-natives-linux.jar' META-INF/jars/lwjgl-vulkan-3.3.1.jar
31
32
# Overwrite lwjgl-vulkan.jar
33
unzip META-INF/jars/lwjgl-vulkan-3.3.1.jar 'META-INF/*' fabric.mod.json -d lwjgl-vulkan
34
wget -q https://nightly.link/PojavLauncherTeam/lwjgl3/workflows/build-android/3.3.1/lwjgl3-android-modules.zip
35
unzip lwjgl3-android-modules.zip lwjgl-vulkan/lwjgl-vulkan.jar; rm lwjgl3-android-modules.zip
36
mv lwjgl-vulkan/lwjgl-vulkan.jar META-INF/jars/lwjgl-vulkan-3.3.1.jar
37
(cd lwjgl-vulkan && zip -r ../META-INF/jars/lwjgl-vulkan-3.3.1.jar META-INF fabric.mod.json)
38
rm -r lwjgl-vulkan
39
40
# Process every arch
41
for arg in "$@"; do
42
if [ "$arg" != "$1" ]; then
43
copy_libs $arg
44
fi
45
done
46
47
# Package everything back
48
zip -gr $1 META-INF
49
50
# Cleanup
51
rm -rf $TMPDIR
52
53
echo "Done"
54
55