summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorGiovanni Santini2023-02-07 10:46:30 +0100
committerGiovanni Santini2023-02-07 10:46:30 +0100
commit9606ee4397fc27e22917dd70ba1d2572acfa8bbc (patch)
tree57c0bc7cdf3a31c60ed1021902a080b4aa1a53fd /PKGBUILD
parenta427839a01b08041bddb50f5ae408c9d3627b642 (diff)
downloadaur-9606ee4397fc27e22917dd70ba1d2572acfa8bbc.tar.gz
upgpkg: crystal-launcher 20230116-1
- Version bump. - Major package analysis to make this to work.
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD48
1 files changed, 29 insertions, 19 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 258047220c66..72d1e2ba992c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,35 +1,47 @@
# Maintainer: Giovanni Santini <giovannisantini93@yahoo.it>
pkgname=crystal-launcher
-pkgver=20210809
+pkgver=20230116
pkgrel=1
pkgdesc="A custom Minecraft launcher with its own package system"
arch=(any)
url="https://crystal-launcher.net/"
license=('unknown')
+
+# Current reverse engineering for figuring out the jar:
+# 1. curl the current script:
+# https://bit.ly/cl4lx
+# ->
+# https://launcher.crystal-launcher.net/linux/install.sh
+# Here we can find the launcher icon.
+# 2. Fetch the launcher.tar.xz mentioned there
+# 3. The 'launcher' binary inside is a PyInstaller package.
+# It can be unpacked via:
+# https://github.com/extremecoders-re/pyinstxtractor
+# There is the web version here:
+# https://pyinstxtractor-web.netlify.app/
+# 4. Unpack the .zip file, it has a bunch of .pyc files.
+# You can decompile it via pycdc.
+# Focus on the Crystal*.pyc.
+# The main manifest is available here:
+# https://launcher.crystal-launcher.net/bootstrapNX/data/bootstrapManifest.json
+# It also stores the Java version to use
+# 5. We have the proper JAR and command line path for the launcher.
+
+_java_version="17"
depends=(
- # For Minecraft >= 1.17
- "java-runtime=8"
- # For Minecraft < 1.17
- "java-runtime>=16"
- # For client GUI
- java8-openjfx
+ "java-runtime=${_java_version}"
+ "java${_java_version}-openjfx"
)
install="$pkgname.install"
-source=("$pkgname.jar::http://main.crystal-launcher.pl/releases/other/CrystalLauncher.jar"
- "$pkgname.png::http://main.crystal-launcher.pl/releases/icon.png"
+source=("$pkgname.jar::https://launcher.crystal-launcher.net/bootstrapNX/data/crystal-wrapper.jar"
+ "$pkgname.png::https://launcher.crystal-launcher.net/linux/icon.png"
"$pkgname.sh"
"$pkgname.desktop")
-noextract=()
-sha256sums=('cb495e726512a039df6f6d297ba7cfd9ce0b1fe368bad5ba20abe7852d65527a'
+sha256sums=('e9eacb799ed31b66854eb9266e126719b83afcb11e586181e9ddc19ded6c10e3'
'214f4f12eb772d2ce945723ab7b126b1fb3e78c009f4132d6b0f98ea2270ab0c'
- '6aec5cf9f6ed8a20e138104e0cb9f33c1cbb0798ca00981158b9dbd3c4cc437a'
+ '68a357836068f9382f96d8a858f664908d3e6dceb5246d4c34dcfb9b3495bdb6'
'ff160d4a4cfe366f0ec806d7eeeac4bfd5e83c3d01afbc22ecc5caa1adb247ef')
-# Adjust this based on the runtimes you will use.
-# The defaults are the one available in the official repositories.
-_jre_16="jre-openjdk"
-_jre_8="jre8-openjdk"
-
package() {
cd "$srcdir"
@@ -37,8 +49,6 @@ package() {
cp -v "$pkgname.jar" "$pkgdir/usr/share/java"
mkdir -p "$pkgdir/usr/bin"
- # Adjust the JVMs in the script
- sed -i "$pkgname.sh" -e "s|%JAVA_8%|$_jre_8|" -e "s|%JAVA_16%|$_jre_16|"
cp -v "$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
mkdir -p "$pkgdir/usr/share/applications"