summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorso1ar2022-01-23 00:24:38 +0800
committerso1ar2022-01-23 00:24:38 +0800
commita7bf2f092b79efd0f0f919ff7fc019d9d014dd7a (patch)
treead7defc3ce3cb51f4fc45e2d0187eb9862506425
downloadaur-a7bf2f092b79efd0f0f919ff7fc019d9d014dd7a.tar.gz
init
-rw-r--r--.SRCINFO36
-rw-r--r--PKGBUILD96
-rw-r--r--craft_table.pngbin0 -> 12058 bytes
-rwxr-xr-xhmcl-launch-script9
-rw-r--r--hmcl-zulu-bin.install50
-rw-r--r--hmcl.desktop11
6 files changed, 202 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9f186c72440e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,36 @@
+pkgbase = hmcl-zulu-bin
+ pkgdesc = Hello Minecraft Launcher, with zulu openjdk included.
+ pkgver = 3.5.2.216.zulu.17.0.2
+ pkgrel = 1
+ url = https://github.com/huanghongxun/HMCL
+ install = hmcl-zulu-bin.install
+ arch = x86_64
+ license = custom
+ depends = java-runtime-common>=3
+ depends = ca-certificates-utils
+ provides = java-runtime-headless=17
+ provides = java-runtime-headless-openjdk=17
+ provides = java-runtime=17
+ provides = java-runtime-openjdk=17
+ provides = java-openjfx=17
+ provides = jre-openjdk=17
+ provides = hmcl
+ conflicts = hmcl
+ conflicts = zulu-jre-fx-bin
+ noextract = hmcl-zulu-bin-3.5.2.216.zulu.17.0.2-1.jar
+ source = hmcl.desktop
+ source = hmcl-launch-script
+ source = craft_table.png
+ source = LICENSE::https://raw.githubusercontent.com/huanghongxun/HMCL/javafx/LICENSE
+ source = hmcl-zulu-bin-3.5.2.216.zulu.17.0.2-1.jar::https://github.com/huanghongxun/HMCL/releases/download/v3.5.2.216/HMCL-3.5.2.216.jar
+ source = https://cdn.azul.com/zulu/bin/zulu17.32.13-ca-fx-jre17.0.2-linux_x64.tar.gz
+ source = hmcl-zulu-bin.install
+ sha256sums = 8f12b377b03124612da0127a95a6148bbc3e58894932d50408f4d3d179f0b9fb
+ sha256sums = 5f53d37fef37aa654e474a073f2457601c5fc607ba836f7b1404c89a07b196a3
+ sha256sums = 2989a1b5301b8c7b9afdae5696c6a4e5246afa2d4f1f3d3dad5c192f036a9b4c
+ sha256sums = 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986
+ sha256sums = 7f2840476c8cbbc55a7dd2eb87e830672e3c375c67cfd92206c87dca5cb9ebe0
+ sha256sums = 7e38850b05d89669a61b51f9df83674ac48e3f87839d6b702cb48f590b985497
+ sha256sums = b8d220e15b774407d9602d1e40dc896ecd9df26a3ff23a649367b5b566c7f930
+
+pkgname = hmcl-zulu-bin
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..a1b6466d2a7a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,96 @@
+# Contributor: Sam Guymer <sam at guymer dot me>
+# Maintainer: so1ar <so1ar114514@gmail.com>
+
+_java_ver=17
+_jdkname="zulu-jre-fx"
+_zulu_build="${_java_ver}.32.13-ca"
+_hmcl_ver=3.5.2
+_hmcl_build=216
+_jdk_ver=${_java_ver}.0.2
+pkgname=hmcl-zulu-bin
+pkgver=${_hmcl_ver}.${_hmcl_build}.zulu.${_jdk_ver}
+pkgrel=1
+pkgdesc="Hello Minecraft Launcher, with zulu openjdk included."
+arch=('x86_64')
+url='https://github.com/huanghongxun/HMCL'
+license=('custom')
+depends=(
+ 'java-runtime-common>=3'
+ 'ca-certificates-utils'
+)
+provides=(
+ "java-runtime-headless=$_java_ver"
+ "java-runtime-headless-openjdk=$_java_ver"
+ "java-runtime=$_java_ver"
+ "java-runtime-openjdk=$_java_ver"
+ "java-openjfx=$_java_ver"
+ "jre-openjdk=$_java_ver"
+ "hmcl"
+)
+conflicts=('hmcl' 'zulu-jre-fx-bin')
+
+install="$pkgname.install"
+_tarballname="zulu${_zulu_build}-fx-jre${_jdk_ver}-linux_x64"
+source=("hmcl.desktop"
+ "hmcl-launch-script"
+ "craft_table.png"
+ "LICENSE::https://raw.githubusercontent.com/huanghongxun/HMCL/javafx/LICENSE"
+ "${pkgname}-${pkgver}-${pkgrel}.jar::https://github.com/huanghongxun/HMCL/releases/download/v${_hmcl_ver}.${_hmcl_build}/HMCL-${_hmcl_ver}.${_hmcl_build}.jar"
+ "https://cdn.azul.com/zulu/bin/${_tarballname}.tar.gz"
+ "hmcl-zulu-bin.install")
+
+sha256sums=('8f12b377b03124612da0127a95a6148bbc3e58894932d50408f4d3d179f0b9fb'
+ '5f53d37fef37aa654e474a073f2457601c5fc607ba836f7b1404c89a07b196a3'
+ '2989a1b5301b8c7b9afdae5696c6a4e5246afa2d4f1f3d3dad5c192f036a9b4c'
+ '3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986'
+ '7f2840476c8cbbc55a7dd2eb87e830672e3c375c67cfd92206c87dca5cb9ebe0'
+ '7e38850b05d89669a61b51f9df83674ac48e3f87839d6b702cb48f590b985497'
+ 'b8d220e15b774407d9602d1e40dc896ecd9df26a3ff23a649367b5b566c7f930')
+
+noextract=("${pkgname}-${pkgver}-${pkgrel}.jar")
+
+
+_jvmdir="/usr/lib/jvm/${_jdkname}"
+
+package() {
+ # launcher
+ install -Dm755 "hmcl-launch-script" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm644 "hmcl.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -Dm644 "${pkgname}-${pkgver}-${pkgrel}.jar" "${pkgdir}/usr/share/java/${pkgname}/${pkgname}.jar"
+ install -Dm644 "craft_table.png" "${pkgdir}/usr/share/icons/hicolor/48x48/apps/${pkgname}.png"
+ install -Dm644 "LICENSE" "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ # jdk
+ cd "$srcdir/${_tarballname}"
+
+ install -dm 755 "${pkgdir}/${_jvmdir}"
+ cp -a . "${pkgdir}/${_jvmdir}/"
+
+ # based on java-openjdk package_jdk-openjdk
+ # https://github.com/archlinux/svntogit-packages/blob/3f6aa8ddd98f728a9b0701288a933d16f0e8bbaf/trunk/PKGBUILD
+
+ # Conf
+ install -dm 755 "${pkgdir}/etc"
+ cp -r conf "${pkgdir}/etc/${_jdkname}"
+ rm -r "${pkgdir}/${_jvmdir}/conf"
+ ln -s "/etc/${_jdkname}" "${pkgdir}/${_jvmdir}/conf"
+
+ # Legal
+ install -dm 755 "${pkgdir}/usr/share/licenses"
+ cp -r legal "${pkgdir}/usr/share/licenses/${_jdkname}"
+ rm -r "${pkgdir}/${_jvmdir}/legal"
+ ln -s "/usr/share/licenses/${_jdkname}" "${pkgdir}/${_jvmdir}/legal"
+
+# # Man pages
+# for f in bin/*; do
+# f=$(basename "${f}")
+# _man=man/man1/"${f}.1"
+# test -f "${_man}" && install -Dm 644 "${_man}" "${pkgdir}/usr/share/man/man1/${f}-${_jdkname}.1"
+# done
+# rm -r "${pkgdir}/${_jvmdir}/man"
+# ln -s /usr/share/man "${pkgdir}/${_jvmdir}/man"
+
+ # Link JKS keystore from ca-certificates-utils
+ rm -f "${pkgdir}/${_jvmdir}/lib/security/cacerts"
+ ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/lib/security/cacerts"
+}
diff --git a/craft_table.png b/craft_table.png
new file mode 100644
index 000000000000..45740510a49e
--- /dev/null
+++ b/craft_table.png
Binary files differ
diff --git a/hmcl-launch-script b/hmcl-launch-script
new file mode 100755
index 000000000000..232947f660ed
--- /dev/null
+++ b/hmcl-launch-script
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [[ "$1" != "-p" ]]; then
+ WORKDIR=${XDG_CONFIG_HOME:-$HOME/.config}/hmcl
+ mkdir -p $WORKDIR
+ cd $WORKDIR
+fi
+
+exec /usr/lib/jvm/zulu-jre-fx/bin/java -jar "/usr/share/java/hmcl-zulu-bin/hmcl-zulu-bin.jar" "$@"
diff --git a/hmcl-zulu-bin.install b/hmcl-zulu-bin.install
new file mode 100644
index 000000000000..6fa8cc65efb8
--- /dev/null
+++ b/hmcl-zulu-bin.install
@@ -0,0 +1,50 @@
+THIS_JDK='zulu-jre-fx'
+
+fix_default() {
+ if [ ! -x /usr/bin/java ]; then
+ /usr/bin/archlinux-java unset
+ echo ""
+ else
+ /usr/bin/archlinux-java get
+ fi
+}
+
+post_install() {
+ default=$(fix_default)
+ case ${default} in
+ "")
+ /usr/bin/archlinux-java set ${THIS_JDK}
+ ;;
+ ${THIS_JDK})
+ # Nothing
+ ;;
+ *)
+ echo "Default Java environment is already set to '${default}'"
+ echo "See 'archlinux-java help' to change it"
+ ;;
+ esac
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+post_upgrade() {
+ default=$(fix_default)
+ if [ -z "${default}" ]; then
+ /usr/bin/archlinux-java set ${THIS_JDK}
+ fi
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+pre_remove() {
+ if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then
+ # Check binary is still available
+ if [ -x /usr/lib/jvm/${THIS_JDK}/bin/java ]; then
+ /usr/bin/archlinux-java unset
+ fi
+ fi
+}
diff --git a/hmcl.desktop b/hmcl.desktop
new file mode 100644
index 000000000000..dcc50782251a
--- /dev/null
+++ b/hmcl.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=HMCL
+Comment=Hello Minecraft! Launcher, a powerful Minecraft launcher.
+Exec=hmcl-zulu-bin
+Icon=hmcl-zulu-bin
+Terminal=false
+StartupNotify=false
+Categories=Game;
+StartupWMClass=org.jackhuang.hmcl.Launcher