Publish Documentation / Build & publish docs to gitea-pages (push) Canceled after 0s
🏗️ Build and Test JellyTau / Run Tests (push) Failing after 17m49s
🏗️ Build and Test JellyTau / Android Compile Check (push) Skipped
Traceability Validation / Check Requirement Traces (push) Successful in 24s
pkgver sat at 0.0.18 while the tree was on 0.8.x, because the Arch package is built by makepkg rather than the tauri bundler and set-version.sh never touched it. makepkg produced a package whose version bore no relation to the source it was built from — the exact failure that script exists to prevent, in the one file it had missed. Dev versions are converted to a pkgver Arch accepts: a hyphen separates pkgver from pkgrel, so 0.9.0-3-gabc1234 becomes 0.9.0.r3.gabc1234. pkgrel resets to 1, since a new upstream version restarts its packaging revisions. Also installs LICENSE into /usr/share/licenses — MIT is not in Arch's common licences, so a package under it has to carry the text. Arch is not part of the automated release (build-release.yml covers linux, windows and android), so v0.9.0 is unaffected; this applies to anyone building the package by hand.
58 lines
2.1 KiB
Bash
58 lines
2.1 KiB
Bash
# Maintainer: Duncan Tourolle <duncan@tourolle.paris>
|
|
#
|
|
# JellyTau — a cross-platform Jellyfin client (Tauri + SvelteKit).
|
|
#
|
|
# This PKGBUILD builds from the local source tree by default (see the `dev`
|
|
# convenience below), which is what scripts/build-arch.sh uses inside the Arch
|
|
# Docker stage. For AUR distribution, replace the `source=()` line with a release
|
|
# tarball/VCS URL and drop the local-copy prepare() step.
|
|
|
|
pkgname=jellytau
|
|
pkgver=0.9.0
|
|
pkgrel=1
|
|
pkgdesc="A cross-platform Jellyfin client"
|
|
arch=('x86_64')
|
|
url="https://gitea.tourolle.paris/dtourolle/jellytau"
|
|
license=('MIT')
|
|
# Runtime: libmpv for audio, webkit2gtk for the webview + HTML5 transcoded video.
|
|
depends=('webkit2gtk-4.1' 'mpv' 'gtk3' 'libayatana-appindicator')
|
|
makedepends=('rust' 'cargo' 'bun' 'nodejs' 'pkgconf' 'libsoup3')
|
|
options=('!strip' '!lto')
|
|
|
|
# Populated from the working tree by scripts/build-arch.sh (SRC env var).
|
|
_srcdir="${JELLYTAU_SRC:-$startdir/../..}"
|
|
|
|
build() {
|
|
cd "$_srcdir"
|
|
export CARGO_HOME="${CARGO_HOME:-$srcdir/cargo-home}"
|
|
bun install --frozen-lockfile || bun install
|
|
bun run build
|
|
# Only the raw binary is needed; packaging is done in package() below so we
|
|
# control the Arch filesystem layout ourselves rather than via tauri-bundler.
|
|
(cd src-tauri && cargo build --release --locked)
|
|
}
|
|
|
|
package() {
|
|
cd "$_srcdir"
|
|
|
|
install -Dm755 "src-tauri/target/release/jellytau" \
|
|
"$pkgdir/usr/bin/jellytau"
|
|
|
|
# Desktop entry
|
|
install -Dm644 "packaging/arch/jellytau.desktop" \
|
|
"$pkgdir/usr/share/applications/jellytau.desktop"
|
|
|
|
# MIT is not in /usr/share/licenses/common, so Arch packaging requires the
|
|
# licence text to ship with the package.
|
|
install -Dm644 "LICENSE" \
|
|
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
|
|
|
# Icons (hicolor)
|
|
install -Dm644 "src-tauri/icons/32x32.png" \
|
|
"$pkgdir/usr/share/icons/hicolor/32x32/apps/jellytau.png"
|
|
install -Dm644 "src-tauri/icons/128x128.png" \
|
|
"$pkgdir/usr/share/icons/hicolor/128x128/apps/jellytau.png"
|
|
install -Dm644 "src-tauri/icons/128x128@2x.png" \
|
|
"$pkgdir/usr/share/icons/hicolor/256x256/apps/jellytau.png"
|
|
}
|