summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b728820fac8b766d02f917edde15d11193d6cd1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Maintainer: FXS <admin@fxs.life>
pkgname=rustle-bin
pkgver=0.5.2
pkgrel=1
pkgdesc="A modern music player built with Rust and iced, supporting NetEase Cloud Music (prebuilt binary)"
arch=('x86_64')
url="https://github.com/Fei-xiangShi/Rustle"
license=('AGPL-3.0-or-later')
depends=(
    'dbus'
    'alsa-lib'
)
provides=('rustle')
conflicts=('rustle')
optdepends=(
    'libpulse: PulseAudio support'
    'pipewire-pulse: PipeWire audio support'
    'vulkan-icd-loader: GPU acceleration'
)
options=('!strip')
source=(
    "$pkgname-$pkgver.AppImage::$url/releases/download/v$pkgver/rustle-linux-x86_64.AppImage"
)
sha256sums=(
    'SKIP'
)

prepare() {
    chmod +x "$pkgname-$pkgver.AppImage"
    "./$pkgname-$pkgver.AppImage" --appimage-extract
}

package() {
    # Install extracted AppImage contents
    install -d "$pkgdir/opt/$pkgname"
    cp -r squashfs-root/* "$pkgdir/opt/$pkgname/"

    # Create wrapper script
    install -Dm755 /dev/stdin "$pkgdir/usr/bin/rustle" << EOF
#!/bin/bash
exec /opt/$pkgname/AppRun "\$@"
EOF

    # Install desktop metadata and icon shipped inside the AppImage
    install -Dm644 "squashfs-root/usr/share/applications/life.fxs.rustle.desktop" \
        "$pkgdir/usr/share/applications/life.fxs.rustle.desktop"
    install -Dm644 "squashfs-root/usr/share/metainfo/life.fxs.rustle.metainfo.xml" \
        "$pkgdir/usr/share/metainfo/life.fxs.rustle.metainfo.xml"
    install -Dm644 "squashfs-root/usr/share/icons/hicolor/256x256/apps/life.fxs.rustle.png" \
        "$pkgdir/usr/share/icons/hicolor/256x256/apps/life.fxs.rustle.png"
    install -Dm644 "squashfs-root/usr/share/licenses/rustle/LICENSE" \
        "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

    # Fix permissions
    chmod -R 755 "$pkgdir/opt/$pkgname"
}