blob: 0874eb6011892805b68cab826e0efeb1fb5b1c6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# Maintainer: detiam <dehe_tian <at> outlook <dot> com>
# Contributor: AvianaCruz <gwencroft <at> proton <dot> me>
# Contributor: Rowisi < nomail <at> private <dot> com >
# Contributor: So1ar <so1ar114514 <at> gmail <dot> com>
pkgname=hmcl-java-run
_pkgname=HMCL
_ver=3.5
_build=9
_pkgver=release-$_ver.$_build
_java_version=17
_jar_path="/usr/share/java/$pkgname.jar"
pkgver=$_ver.$_build
pkgrel=1
pkgdesc='An unofficial build of HMCL that use aur/archlinux-java-run to select java version with javaFX (with aur/hmcl-new changes)'
arch=('any')
url='https://github.com/HMCL-dev/HMCL'
license=('GPL3')
depends=("java-runtime>=$_java_version" 'hicolor-icon-theme' 'archlinux-java-run')
makedepends=("java-environment>=$_java_version" 'gradle')
optdepends=("java-openjfx>=$_java_version: Require a Java version that support openjfx")
provides=('hmcl')
conflicts=('hmcl')
source=("${_pkgname}-${_pkgver}.tar.gz::${url}/archive/refs/tags/${_pkgver}.tar.gz"
"0001-Target-Java-17.patch::https://aur.archlinux.org/cgit/aur.git/plain/0001-Target-Java-17.patch?h=hmcl-new&id=2985a23c21591fba55119a03efc9bc8899472190"
"0002-Cleanup.patch::https://aur.archlinux.org/cgit/aur.git/plain/0002-Cleanup.patch?h=hmcl-new&id=2985a23c21591fba55119a03efc9bc8899472190")
sha256sums=('7db1eb0af29bc978c145b8786a50bf47ef18218fff0985fd594e399b04a21682'
'ff7e7aa8d3fb8bcd74051d09b97a62ae71c06f7a006b63e5b3bacf044679c786'
'28748583aad6b0eb6254fc0474d1f18a8680d4c6d787f13ce41bd5b0f7621cef')
prepare() {
for patch in "${source[@]%%::*}"; do
if [[ $patch == *.patch ]]; then
msg2 "applying $patch"
patch -d "$_pkgname-$_pkgver" -Np1 < "$patch"
fi
done
}
build() {
cd "$_pkgname-$_pkgver"
# shellcheck disable=SC2016
VERSION_TYPE=stable \
VERSION_ROOT="$_ver" BUILD_NUMBER="$_build" \
MICROSOFT_AUTH_ID='6a3728d6-27a3-4180-99bb-479895b8f88e' MICROSOFT_AUTH_SECRET='dR.50SWwVez4-PQOF2-e_2GHmC~4Xl-p4p' \
CURSEFORGE_API_KEY='$2a$10$o8pygPrhvKBHuuh5imL2W.LCNFhB15zBYAExXx/TqTx/Zp5px2lxu' \
gradle build -x test --no-daemon \
-D 'org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m'
}
check() {
cd "$_pkgname-$_pkgver"
gradle test --no-daemon \
-D 'org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m'
}
package() {
install -Dm644 "$_pkgname-$_pkgver/HMCL/build/libs/$_pkgname-$pkgver.jar" "$pkgdir/$_jar_path"
install -Dm644 "$_pkgname-$_pkgver/HMCL/image/hmcl.png" "$pkgdir/usr/share/icons/hicolor/48x48/apps/$pkgname.png"
install -Dm644 "$_pkgname-$_pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm755 <(cat <<- SCRIPT
#!/usr/bin/env sh
set -eu
print_usage() {
cat <<- EOF
usage: \$(basename "\$0") [-h/-p] [args passed to java]
Options:
-h --help:
Print this message
--hmcl-global:
Use "\${XDG_DATA_HOME:-\$HOME/.local/share}/hmcl" as working directory
EOF
exit 0
}
args=''
for arg in "\$@" ; do
case "\$arg" in
-h|--help)
print_usage
;;
--hmcl-global)
printf 'Global mode\n\n'
WORKDIR=\${XDG_DATA_HOME:-\$HOME/.local/share}/hmcl
mkdir -p "\$WORKDIR"
cd "\$WORKDIR" || exit 2
;;
*)
args="\$args \$arg"
;;
esac
done
env GDK_CORE_DEVICE_EVENTS=1 archlinux-java-run -f 'javafx' -a '$_java_version' -- -jar '$_jar_path' "\$args"
SCRIPT
) "$pkgdir/usr/bin/$pkgname"
install -Dm755 <(cat <<- DESKTOP
[Desktop Entry]
Version=1.0
Type=Application
Name=$_pkgname
Comment=$pkgdesc
Exec=$pkgname --hmcl-global %U
Icon=$pkgname
Terminal=false
StartupNotify=true
Categories=Game;
StartupWMClass=org.jackhuang.hmcl.Launcher
DESKTOP
) "$pkgdir/usr/share/applications/$pkgname.desktop"
}
|