Skip to content

Commit f7c8256

Browse files
committed
try to fix AUR build?
1 parent 16b1036 commit f7c8256

7 files changed

Lines changed: 213 additions & 115 deletions

File tree

.github/workflows/aur_publish.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Publish AUR Packages
2+
3+
on:
4+
release:
5+
types: [published]
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Release tag (e.g. onelauncher-1.0.3)'
10+
required: true
11+
12+
jobs:
13+
resolve:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
app: ${{ steps.parse.outputs.app }}
17+
version: ${{ steps.parse.outputs.version }}
18+
steps:
19+
- name: Parse release tag
20+
id: parse
21+
run: |
22+
TAG="${{ github.event.release.tag_name || inputs.tag }}"
23+
if [[ "$TAG" =~ ^onelauncher-(.+)$ ]]; then
24+
echo "app=onelauncher" >> "$GITHUB_OUTPUT"
25+
echo "version=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
26+
elif [[ "$TAG" =~ ^oneclient-(.+)$ ]]; then
27+
echo "app=oneclient" >> "$GITHUB_OUTPUT"
28+
echo "version=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
29+
else
30+
echo "::error::Tag '$TAG' does not match onelauncher-* or oneclient-*"
31+
exit 1
32+
fi
33+
34+
publish-source:
35+
needs: resolve
36+
runs-on: ubuntu-latest
37+
steps:
38+
- uses: actions/checkout@v4
39+
40+
- name: Compute source sha256
41+
id: hash
42+
env:
43+
APP: ${{ needs.resolve.outputs.app }}
44+
VERSION: ${{ needs.resolve.outputs.version }}
45+
run: |
46+
URL="https://github.com/${{ github.repository }}/archive/refs/tags/${APP}-${VERSION}.tar.gz"
47+
SHA=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
48+
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
49+
50+
- name: Prepare PKGBUILD
51+
env:
52+
APP: ${{ needs.resolve.outputs.app }}
53+
VERSION: ${{ needs.resolve.outputs.version }}
54+
SHA256: ${{ steps.hash.outputs.sha256 }}
55+
run: |
56+
PKGBUILD="apps/${APP}/distribution/aur/source/PKGBUILD"
57+
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD"
58+
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD"
59+
sed -i "s/^sha256sums=.*/sha256sums=('${SHA256}')/" "$PKGBUILD"
60+
61+
- name: Publish to AUR
62+
uses: KSXGitHub/github-actions-deploy-aur@v3
63+
with:
64+
pkgname: ${{ needs.resolve.outputs.app }}
65+
pkgbuild: apps/${{ needs.resolve.outputs.app }}/distribution/aur/source/PKGBUILD
66+
commit_username: ${{ secrets.AUR_USERNAME }}
67+
commit_email: ${{ secrets.AUR_EMAIL }}
68+
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
69+
70+
publish-bin:
71+
needs: resolve
72+
runs-on: ubuntu-latest
73+
steps:
74+
- uses: actions/checkout@v4
75+
76+
- name: Compute .deb sha256
77+
id: hash
78+
env:
79+
APP: ${{ needs.resolve.outputs.app }}
80+
VERSION: ${{ needs.resolve.outputs.version }}
81+
run: |
82+
URL="https://github.com/${{ github.repository }}/releases/download/${APP}-${VERSION}/${APP}_${VERSION}_amd64.deb"
83+
SHA=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
84+
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
85+
86+
- name: Prepare PKGBUILD
87+
env:
88+
APP: ${{ needs.resolve.outputs.app }}
89+
VERSION: ${{ needs.resolve.outputs.version }}
90+
SHA256: ${{ steps.hash.outputs.sha256 }}
91+
run: |
92+
PKGBUILD="apps/${APP}/distribution/aur/bin/PKGBUILD"
93+
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD"
94+
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD"
95+
sed -i "s/^sha256sums=.*/sha256sums=('${SHA256}')/" "$PKGBUILD"
96+
97+
- name: Publish to AUR
98+
uses: KSXGitHub/github-actions-deploy-aur@v3
99+
with:
100+
pkgname: ${{ needs.resolve.outputs.app }}-bin
101+
pkgbuild: apps/${{ needs.resolve.outputs.app }}/distribution/aur/bin/PKGBUILD
102+
commit_username: ${{ secrets.AUR_USERNAME }}
103+
commit_email: ${{ secrets.AUR_EMAIL }}
104+
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}

apps/oneclient/distribution/aur/cli/PKGBUILD renamed to apps/oneclient/distribution/aur/bin/PKGBUILD

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
pkgname=oneclient-bin
2-
pkgver=0.1.0
3-
pkgrel=2
2+
pkgver=1.0.3
3+
pkgrel=1
44
pkgdesc='Next-generation open source Minecraft launcher'
55
url='https://polyfrost.org/projects/oneclient'
66
arch=('x86_64')
7-
license=('GPL3')
7+
license=('GPL-3.0-only')
88

9-
makedepends=('rust' 'pnpm')
109
depends=(
11-
'openssl-1.1' 'dbus' 'freetype2' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libsoup' 'webkit2gtk'
10+
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
1211
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
1312
)
1413
optdepends=(
1514
'xorg-xrandr: very legacy minecraft versions'
1615
)
1716
provides=('oneclient')
1817
conflicts=('oneclient')
19-
source=("https://oneclient.polyfrost.org/versions/${pkgver}/linux/OneClient_${pkgver}_amd64.deb")
20-
sha256sums=('')
18+
source=("https://github.com/Polyfrost/OneLauncher/releases/download/oneclient-${pkgver}/oneclient_${pkgver}_amd64.deb")
19+
sha256sums=('SKIP')
2120

2221
build() {
2322
cd "$srcdir/"

apps/oneclient/distribution/aur/gui/PKGBUILD

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
pkgname=oneclient
2+
pkgver=1.0.3
3+
pkgrel=1
4+
pkgdesc='Next-generation open source Minecraft launcher'
5+
url='https://polyfrost.org/projects/oneclient'
6+
arch=('x86_64')
7+
license=('GPL-3.0-only')
8+
9+
makedepends=('rust' 'pnpm' 'nodejs' 'clang' 'nasm' 'perl')
10+
depends=(
11+
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
12+
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
13+
)
14+
optdepends=(
15+
'xorg-xrandr: very legacy minecraft versions'
16+
)
17+
conflicts=('oneclient-bin')
18+
source=("$pkgname-$pkgver.tar.gz::https://github.com/Polyfrost/OneLauncher/archive/refs/tags/oneclient-${pkgver}.tar.gz")
19+
sha256sums=('SKIP')
20+
options=('!lto')
21+
22+
prepare() {
23+
cd "OneLauncher-oneclient-${pkgver}"
24+
export RUSTUP_TOOLCHAIN=stable
25+
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
26+
pnpm install --frozen-lockfile
27+
}
28+
29+
build() {
30+
cd "OneLauncher-oneclient-${pkgver}"
31+
export RUSTUP_TOOLCHAIN=stable
32+
pnpm --filter @oneclient/frontend build
33+
cargo build --frozen --release -p oneclient_gui
34+
}
35+
36+
check() {
37+
cd "OneLauncher-oneclient-${pkgver}"
38+
export RUSTUP_TOOLCHAIN=stable
39+
cargo test --frozen -p oneclient_gui
40+
}
41+
42+
package() {
43+
cd "OneLauncher-oneclient-${pkgver}"
44+
install -Dm755 "target/release/oneclient_gui" "$pkgdir/usr/bin/oneclient"
45+
install -Dm644 "apps/oneclient/distribution/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/org.polyfrost.oneclient.png"
46+
install -Dm644 "apps/oneclient/distribution/icons/512x512.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/org.polyfrost.oneclient.png"
47+
install -Dm644 "apps/oneclient/distribution/flatpak/org.polyfrost.oneclient" "$pkgdir/usr/share/applications/org.polyfrost.oneclient.desktop"
48+
}

apps/onelauncher/distribution/aur/cli/PKGBUILD renamed to apps/onelauncher/distribution/aur/bin/PKGBUILD

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
pkgname=onelauncher-bin
2-
pkgver=0.1.0
3-
pkgrel=2
2+
pkgver=1.0.3
3+
pkgrel=1
44
pkgdesc='Next-generation open source Minecraft launcher'
5-
url='https://polyfrost.org/launcher'
5+
url='https://polyfrost.org/projects/onelauncher'
66
arch=('x86_64')
7-
license=('GPL3')
7+
license=('GPL-3.0-only')
88

9-
makedepends=('rust' 'pnpm')
109
depends=(
11-
'openssl-1.1' 'dbus' 'freetype2' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libsoup' 'webkit2gtk'
10+
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
1211
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
1312
)
1413
optdepends=(
1514
'xorg-xrandr: very legacy minecraft versions'
1615
)
1716
provides=('onelauncher')
1817
conflicts=('onelauncher')
19-
source=("https://launcher.polyfrost.org/versions/${pkgver}/linux/onelauncher_${pkgver}_amd64.deb")
20-
sha256sums=('')
18+
source=("https://github.com/Polyfrost/OneLauncher/releases/download/onelauncher-${pkgver}/onelauncher_${pkgver}_amd64.deb")
19+
sha256sums=('SKIP')
2120

2221
build() {
2322
cd "$srcdir/"

apps/onelauncher/distribution/aur/gui/PKGBUILD

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
pkgname=onelauncher
2+
pkgver=1.0.3
3+
pkgrel=1
4+
pkgdesc='Next-generation open source Minecraft launcher'
5+
url='https://polyfrost.org/projects/onelauncher'
6+
arch=('x86_64')
7+
license=('GPL-3.0-only')
8+
9+
makedepends=('rust' 'pnpm' 'nodejs' 'clang' 'nasm' 'perl')
10+
depends=(
11+
'openssl' 'dbus' 'gtk3' 'libayatana-appindicator' 'librsvg' 'webkit2gtk-4.1'
12+
'libgl' 'libpulse' 'libx11' 'libxcursor' 'libxext' 'libxxf86vm'
13+
)
14+
optdepends=(
15+
'xorg-xrandr: very legacy minecraft versions'
16+
)
17+
conflicts=('onelauncher-bin')
18+
source=("$pkgname-$pkgver.tar.gz::https://github.com/Polyfrost/OneLauncher/archive/refs/tags/onelauncher-${pkgver}.tar.gz")
19+
sha256sums=('SKIP')
20+
options=('!lto')
21+
22+
prepare() {
23+
cd "OneLauncher-onelauncher-${pkgver}"
24+
export RUSTUP_TOOLCHAIN=stable
25+
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
26+
pnpm install --frozen-lockfile
27+
}
28+
29+
build() {
30+
cd "OneLauncher-onelauncher-${pkgver}"
31+
export RUSTUP_TOOLCHAIN=stable
32+
pnpm --filter @onelauncher/frontend build
33+
cargo build --frozen --release -p onelauncher_gui
34+
}
35+
36+
check() {
37+
cd "OneLauncher-onelauncher-${pkgver}"
38+
export RUSTUP_TOOLCHAIN=stable
39+
cargo test --frozen -p onelauncher_gui
40+
}
41+
42+
package() {
43+
cd "OneLauncher-onelauncher-${pkgver}"
44+
install -Dm755 "target/release/onelauncher_gui" "$pkgdir/usr/bin/onelauncher"
45+
install -Dm644 "apps/onelauncher/distribution/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/org.polyfrost.launcher.png"
46+
install -Dm644 "apps/onelauncher/distribution/icons/512x512.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/org.polyfrost.launcher.png"
47+
install -Dm644 "apps/onelauncher/distribution/flatpak/org.polyfrost.launcher.desktop" "$pkgdir/usr/share/applications/org.polyfrost.launcher.desktop"
48+
}

0 commit comments

Comments
 (0)