try to fix AUR build?
This commit is contained in:
parent
16b1036ccb
commit
f7c8256729
7 changed files with 213 additions and 115 deletions
104
.github/workflows/aur_publish.yml
vendored
Normal file
104
.github/workflows/aur_publish.yml
vendored
Normal 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 }}
|
||||
|
|
@ -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/"
|
||||
|
|
@ -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
|
||||
}
|
||||
48
apps/oneclient/distribution/aur/source/PKGBUILD
Normal file
48
apps/oneclient/distribution/aur/source/PKGBUILD
Normal 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"
|
||||
}
|
||||
|
|
@ -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/"
|
||||
|
|
@ -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
|
||||
}
|
||||
48
apps/onelauncher/distribution/aur/source/PKGBUILD
Normal file
48
apps/onelauncher/distribution/aur/source/PKGBUILD
Normal 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"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue