50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
pkgname=oneclient
|
|
pkgver=0.1.0
|
|
pkgrel=2
|
|
pkgdesc='Next-generation open source Minecraft launcher'
|
|
url='https://polyfrost.org/projects/oneclient'
|
|
arch=('x86_64')
|
|
license=('GPL3')
|
|
|
|
makedepends=('rust' 'pnpm')
|
|
depends=(
|
|
'openssl-1.1' 'dbus' 'freetype2' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libsoup' 'webkit2gtk'
|
|
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
|
|
)
|
|
optdepends=(
|
|
'xorg-xrandr: very legacy minecraft versions'
|
|
)
|
|
conflicts=('oneclient-bin')
|
|
source=(
|
|
"$pkgname-$pkgver.tar.gz:https://github.com/polyfrost/oneclient/archive/refs/tags/v${pkgver}.tar.gz"
|
|
"oneclient.desktop"
|
|
)
|
|
sha256sums=('')
|
|
options=('!lto')
|
|
|
|
prepare() {
|
|
cd "oneclient-${pkgver}"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
|
|
pnpm install --frozen-lockfile --no-optional
|
|
}
|
|
|
|
build() {
|
|
cd "oneclient-${pkgver}"
|
|
pnpm --filter @oneclient/gui build
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
cargo build --frozen --release --all-features
|
|
}
|
|
|
|
check() {
|
|
cd "oneclient-${pkgver}"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
cargo test --frozen --all-features
|
|
}
|
|
|
|
package() {
|
|
install -Dm755 "$srcdir"/oneclient-"$pkgver"/target/release/oneclient_gui "$pkgdir"/usr/bin/oneclient
|
|
install -Dm644 "$srcdir"/oneclient-"$pkgver"/packages/distribution/icons/128x128.png "$pkgdir"/usr/share/icons/hicolor/128x128/apps/OneClient.png
|
|
install -Dm644 "$srcdir"/oneclient-"$pkgver"/packages/distribution/icons/icon.png "$pkgdir"/usr/share/icons/hicolor/256x256@2/apps/OneClient.png
|
|
install -Dm644 OneClient.desktop "$pkgdir"/usr/share/applications/OneClient.desktop
|
|
}
|