|
| 1 | +# Maintainer: Dee.H.Y <dongfengweixiao at hotmail dot com> |
| 2 | + |
| 3 | +pkgname="sylvakru" |
| 4 | +pkgver=3.0.0 |
| 5 | +pkgrel=1 |
| 6 | +pkgdesc="A cross-platform music player for local and self-hosted libraries, built with Flutter." |
| 7 | +url="https://github.com/AfalpHy/sylvakru" |
| 8 | +license=('Apache-2.0') |
| 9 | +arch=('x86_64' 'aarch64') |
| 10 | +_flutterver=3.41.7 |
| 11 | +depends=( |
| 12 | + 'at-spi2-core' |
| 13 | + 'cairo' |
| 14 | + 'fontconfig' |
| 15 | + 'glib2' |
| 16 | + 'glibc' |
| 17 | + 'gtk3' |
| 18 | + 'libayatana-appindicator' |
| 19 | + 'libepoxy' |
| 20 | + 'libgcc' |
| 21 | + 'libstdc++' |
| 22 | + 'pango' |
| 23 | +) |
| 24 | +makedepends=( |
| 25 | + 'clang' |
| 26 | + 'cmake' |
| 27 | + 'fvm' |
| 28 | + 'lld' |
| 29 | + 'llvm' |
| 30 | + 'ninja' |
| 31 | + 'patchelf' |
| 32 | + 'rustup' |
| 33 | +) |
| 34 | + |
| 35 | +_pkgsrc="$pkgname-$pkgver" |
| 36 | +_pkgext="tar.gz" |
| 37 | +source=( |
| 38 | + "$_pkgsrc.$_pkgext"::"$url/archive/refs/tags/v$pkgver.$_pkgext" |
| 39 | + "com.afalphy.sylvakru.desktop" |
| 40 | + "0001-fix-build-error.patch" |
| 41 | +) |
| 42 | +sha256sums=( |
| 43 | + '1f568f2d4bf0d60a7c9350f6f60e06dd9c0c2761c68a67f6f359a8f8a58475f0' |
| 44 | + 'd3c495fb546e70d6b809ef61e57b45b8e87e8c123c9d8cf0306a05b8c1cf2b64' |
| 45 | + '95d19cfe5055e70df99559bc0a79df399abd615be8de7ef599d3a19904edb1e8' |
| 46 | +) |
| 47 | + |
| 48 | +prepare() { |
| 49 | + cd "$_pkgsrc" |
| 50 | + patch -p1 -i "${srcdir}/0001-fix-build-error.patch" |
| 51 | +} |
| 52 | + |
| 53 | +build() { |
| 54 | + export FVM_CACHE_PATH="$SRCDEST/fvm-cache" |
| 55 | + |
| 56 | + cd "$_pkgsrc" |
| 57 | + fvm install $_flutterver |
| 58 | + fvm use $_flutterver |
| 59 | + |
| 60 | + fvm flutter --disable-analytics |
| 61 | + #fvm flutter pub upgrade --major-versions |
| 62 | + fvm flutter --no-version-check pub get |
| 63 | + fvm flutter clean && fvm flutter build linux --release |
| 64 | +} |
| 65 | + |
| 66 | +package() { |
| 67 | + if [ $CARCH == "aarch64" ]; then |
| 68 | + FLUTTER_ARCH=arm64 |
| 69 | + else |
| 70 | + FLUTTER_ARCH=x64 |
| 71 | + fi |
| 72 | + |
| 73 | + cd "$_pkgsrc/build/linux/$FLUTTER_ARCH/release/bundle" |
| 74 | + |
| 75 | + install -Dm755 "Sylvakru" "$pkgdir/usr/lib/$pkgname/$pkgname" |
| 76 | + cp --reflink=auto -r lib/ "$pkgdir/usr/lib/$pkgname/" |
| 77 | + cp --reflink=auto -r data/ "$pkgdir/usr/lib/$pkgname/" |
| 78 | + |
| 79 | + # runpath |
| 80 | + patchelf --set-rpath '$ORIGIN/lib' "$pkgdir/usr/lib/$pkgname/$pkgname" |
| 81 | + for i in "$pkgdir/usr/lib/$pkgname/lib"/*.so; do |
| 82 | + [ -z "$(patchelf --print-rpath "$i")" ] && continue |
| 83 | + patchelf --set-rpath '$ORIGIN' "$i" |
| 84 | + done |
| 85 | + |
| 86 | + # symlink |
| 87 | + install -dm755 "${pkgdir}/usr/bin" |
| 88 | + ln -sfr "$pkgdir/usr/lib/$pkgname/$pkgname" "$pkgdir/usr/bin/${pkgname}" |
| 89 | + |
| 90 | + # icon |
| 91 | + install -Dm644 "$srcdir/$_pkgsrc/app_icons/win_linux.png" \ |
| 92 | + "$pkgdir/usr/share/pixmaps/$pkgname.png" |
| 93 | + |
| 94 | + # .desktop file |
| 95 | + install -Dm644 "$srcdir/com.afalphy.sylvakru.desktop" "${pkgdir}/usr/share/applications/com.afalphy.sylvakru.desktop" |
| 96 | + |
| 97 | + # license |
| 98 | + install -Dm644 "$srcdir/$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/" |
| 99 | +} |
0 commit comments