try to fix AUR build?

This commit is contained in:
Wyvest 2026-03-04 01:23:23 -05:00
parent 16b1036ccb
commit f7c8256729
No known key found for this signature in database
7 changed files with 213 additions and 115 deletions

104
.github/workflows/aur_publish.yml vendored Normal file
View file

@ -0,0 +1,104 @@
name: Publish AUR Packages
on:
release:
types: [published]
workflow_dispatch:
inputs:
tag:
description: 'Release tag (e.g. onelauncher-1.0.3)'
required: true
jobs:
resolve:
runs-on: ubuntu-latest
outputs:
app: ${{ steps.parse.outputs.app }}
version: ${{ steps.parse.outputs.version }}
steps:
- name: Parse release tag
id: parse
run: |
TAG="${{ github.event.release.tag_name || inputs.tag }}"
if [[ "$TAG" =~ ^onelauncher-(.+)$ ]]; then
echo "app=onelauncher" >> "$GITHUB_OUTPUT"
echo "version=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
elif [[ "$TAG" =~ ^oneclient-(.+)$ ]]; then
echo "app=oneclient" >> "$GITHUB_OUTPUT"
echo "version=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
else
echo "::error::Tag '$TAG' does not match onelauncher-* or oneclient-*"
exit 1
fi
publish-source:
needs: resolve
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Compute source sha256
id: hash
env:
APP: ${{ needs.resolve.outputs.app }}
VERSION: ${{ needs.resolve.outputs.version }}
run: |
URL="https://github.com/${{ github.repository }}/archive/refs/tags/${APP}-${VERSION}.tar.gz"
SHA=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
- name: Prepare PKGBUILD
env:
APP: ${{ needs.resolve.outputs.app }}
VERSION: ${{ needs.resolve.outputs.version }}
SHA256: ${{ steps.hash.outputs.sha256 }}
run: |
PKGBUILD="apps/${APP}/distribution/aur/source/PKGBUILD"
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD"
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD"
sed -i "s/^sha256sums=.*/sha256sums=('${SHA256}')/" "$PKGBUILD"
- name: Publish to AUR
uses: KSXGitHub/github-actions-deploy-aur@v3
with:
pkgname: ${{ needs.resolve.outputs.app }}
pkgbuild: apps/${{ needs.resolve.outputs.app }}/distribution/aur/source/PKGBUILD
commit_username: ${{ secrets.AUR_USERNAME }}
commit_email: ${{ secrets.AUR_EMAIL }}
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
publish-bin:
needs: resolve
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Compute .deb sha256
id: hash
env:
APP: ${{ needs.resolve.outputs.app }}
VERSION: ${{ needs.resolve.outputs.version }}
run: |
URL="https://github.com/${{ github.repository }}/releases/download/${APP}-${VERSION}/${APP}_${VERSION}_amd64.deb"
SHA=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
- name: Prepare PKGBUILD
env:
APP: ${{ needs.resolve.outputs.app }}
VERSION: ${{ needs.resolve.outputs.version }}
SHA256: ${{ steps.hash.outputs.sha256 }}
run: |
PKGBUILD="apps/${APP}/distribution/aur/bin/PKGBUILD"
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD"
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD"
sed -i "s/^sha256sums=.*/sha256sums=('${SHA256}')/" "$PKGBUILD"
- name: Publish to AUR
uses: KSXGitHub/github-actions-deploy-aur@v3
with:
pkgname: ${{ needs.resolve.outputs.app }}-bin
pkgbuild: apps/${{ needs.resolve.outputs.app }}/distribution/aur/bin/PKGBUILD
commit_username: ${{ secrets.AUR_USERNAME }}
commit_email: ${{ secrets.AUR_EMAIL }}
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}

View file

@ -1,14 +1,13 @@
pkgname=oneclient-bin
pkgver=0.1.0
pkgrel=2
pkgver=1.0.3
pkgrel=1
pkgdesc='Next-generation open source Minecraft launcher'
url='https://polyfrost.org/projects/oneclient'
arch=('x86_64')
license=('GPL3')
license=('GPL-3.0-only')
makedepends=('rust' 'pnpm')
depends=(
'openssl-1.1' 'dbus' 'freetype2' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libsoup' 'webkit2gtk'
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
)
optdepends=(
@ -16,8 +15,8 @@ optdepends=(
)
provides=('oneclient')
conflicts=('oneclient')
source=("https://oneclient.polyfrost.org/versions/${pkgver}/linux/OneClient_${pkgver}_amd64.deb")
sha256sums=('')
source=("https://github.com/Polyfrost/OneLauncher/releases/download/oneclient-${pkgver}/oneclient_${pkgver}_amd64.deb")
sha256sums=('SKIP')
build() {
cd "$srcdir/"

View file

@ -1,50 +0,0 @@
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
}

View file

@ -0,0 +1,48 @@
pkgname=oneclient
pkgver=1.0.3
pkgrel=1
pkgdesc='Next-generation open source Minecraft launcher'
url='https://polyfrost.org/projects/oneclient'
arch=('x86_64')
license=('GPL-3.0-only')
makedepends=('rust' 'pnpm' 'nodejs' 'clang' 'nasm' 'perl')
depends=(
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
'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/OneLauncher/archive/refs/tags/oneclient-${pkgver}.tar.gz")
sha256sums=('SKIP')
options=('!lto')
prepare() {
cd "OneLauncher-oneclient-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
pnpm install --frozen-lockfile
}
build() {
cd "OneLauncher-oneclient-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
pnpm --filter @oneclient/frontend build
cargo build --frozen --release -p oneclient_gui
}
check() {
cd "OneLauncher-oneclient-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
cargo test --frozen -p oneclient_gui
}
package() {
cd "OneLauncher-oneclient-${pkgver}"
install -Dm755 "target/release/oneclient_gui" "$pkgdir/usr/bin/oneclient"
install -Dm644 "apps/oneclient/distribution/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/org.polyfrost.oneclient.png"
install -Dm644 "apps/oneclient/distribution/icons/512x512.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/org.polyfrost.oneclient.png"
install -Dm644 "apps/oneclient/distribution/flatpak/org.polyfrost.oneclient" "$pkgdir/usr/share/applications/org.polyfrost.oneclient.desktop"
}

View file

@ -1,14 +1,13 @@
pkgname=onelauncher-bin
pkgver=0.1.0
pkgrel=2
pkgver=1.0.3
pkgrel=1
pkgdesc='Next-generation open source Minecraft launcher'
url='https://polyfrost.org/launcher'
url='https://polyfrost.org/projects/onelauncher'
arch=('x86_64')
license=('GPL3')
license=('GPL-3.0-only')
makedepends=('rust' 'pnpm')
depends=(
'openssl-1.1' 'dbus' 'freetype2' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libsoup' 'webkit2gtk'
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
)
optdepends=(
@ -16,8 +15,8 @@ optdepends=(
)
provides=('onelauncher')
conflicts=('onelauncher')
source=("https://launcher.polyfrost.org/versions/${pkgver}/linux/onelauncher_${pkgver}_amd64.deb")
sha256sums=('')
source=("https://github.com/Polyfrost/OneLauncher/releases/download/onelauncher-${pkgver}/onelauncher_${pkgver}_amd64.deb")
sha256sums=('SKIP')
build() {
cd "$srcdir/"

View file

@ -1,50 +0,0 @@
pkgname=onelauncher
pkgver=0.1.0
pkgrel=2
pkgdesc='Next-generation open source Minecraft launcher'
url='https://polyfrost.org/launcher'
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=('onelauncher-bin')
source=(
"$pkgname-$pkgver.tar.gz:https://github.com/polyfrost/onelauncher/archive/refs/tags/v${pkgver}.tar.gz"
"onelauncher.desktop"
)
sha256sums=('')
options=('!lto')
prepare() {
cd "onelauncher-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
pnpm install --frozen-lockfile --no-optional
}
build() {
cd "onelauncher-${pkgver}"
pnpm --filter @onelauncher/gui build
export RUSTUP_TOOLCHAIN=stable
cargo build --frozen --release --all-features
}
check() {
cd "onelauncher-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
cargo test --frozen --all-features
}
package() {
install -Dm755 "$srcdir"/onelauncher-"$pkgver"/target/release/onelauncher_gui "$pkgdir"/usr/bin/onelauncher
install -Dm644 "$srcdir"/onelauncher-"$pkgver"/packages/distribution/icons/128x128.png "$pkgdir"/usr/share/icons/hicolor/128x128/apps/OneLauncher.png
install -Dm644 "$srcdir"/onelauncher-"$pkgver"/packages/distribution/icons/icon.png "$pkgdir"/usr/share/icons/hicolor/256x256@2/apps/OneLauncher.png
install -Dm644 OneLauncher.desktop "$pkgdir"/usr/share/applications/OneLauncher.desktop
}

View file

@ -0,0 +1,48 @@
pkgname=onelauncher
pkgver=1.0.3
pkgrel=1
pkgdesc='Next-generation open source Minecraft launcher'
url='https://polyfrost.org/projects/onelauncher'
arch=('x86_64')
license=('GPL-3.0-only')
makedepends=('rust' 'pnpm' 'nodejs' 'clang' 'nasm' 'perl')
depends=(
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
)
optdepends=(
'xorg-xrandr: very legacy minecraft versions'
)
conflicts=('onelauncher-bin')
source=("$pkgname-$pkgver.tar.gz::https://github.com/Polyfrost/OneLauncher/archive/refs/tags/onelauncher-${pkgver}.tar.gz")
sha256sums=('SKIP')
options=('!lto')
prepare() {
cd "OneLauncher-onelauncher-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
pnpm install --frozen-lockfile
}
build() {
cd "OneLauncher-onelauncher-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
pnpm --filter @onelauncher/frontend build
cargo build --frozen --release -p onelauncher_gui
}
check() {
cd "OneLauncher-onelauncher-${pkgver}"
export RUSTUP_TOOLCHAIN=stable
cargo test --frozen -p onelauncher_gui
}
package() {
cd "OneLauncher-onelauncher-${pkgver}"
install -Dm755 "target/release/onelauncher_gui" "$pkgdir/usr/bin/onelauncher"
install -Dm644 "apps/onelauncher/distribution/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/org.polyfrost.launcher.png"
install -Dm644 "apps/onelauncher/distribution/icons/512x512.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/org.polyfrost.launcher.png"
install -Dm644 "apps/onelauncher/distribution/flatpak/org.polyfrost.launcher.desktop" "$pkgdir/usr/share/applications/org.polyfrost.launcher.desktop"
}