summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f56918fef517d0d4a5b96fe97cf35066c7f3d489 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Maintainer: temidaradev <temidaradev@proton.me>
pkgname=kopuz
pkgver=0.7.0
pkgrel=1
pkgdesc="A modern music player"
arch=('x86_64')
url="https://github.com/temidaradev/kopuz"
license=('MIT')
depends=(
    'webkit2gtk-4.1'
    'gtk3'
    'libsoup3'
    'glib-networking'
    'alsa-lib'
    'openssl'
    'xdotool'
    'dbus'
    'cmake'
    'opus'
    'libayatana-appindicator'
)

optdepends=(
    'yt-dlp'
    'python-mutagen'
)

makedepends=(
    'rust'
    'cargo'
    'git'
    'dioxus-cli'
)
options=(!lto !debug)
# dioxus-cli must be installed manually or from AUR at version matching dioxus 0.7.x:
#   cargo install dioxus-cli --version "^0.7"
source=("$pkgname-$pkgver.tar.gz::https://github.com/temidaradev/kopuz/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('3da4fb263e716c13441d31a218831096a9d8ca6713cf7633c8ebc772bda0e3cf')

prepare() {
    cd "$pkgname-$pkgver"

    sed -i \
        -e 's|"\./assets/app\.ico"|"crates/kopuz/assets/app.ico"|g' \
        -e 's|"\./assets/logo\.png"|"crates/kopuz/assets/logo.png"|g' \
        Dioxus.toml
}

build() {
    cd "$pkgname-$pkgver"

    export CARGO_HOME="$srcdir/cargo-home"
    export RUSTUP_TOOLCHAIN=stable

    # tailwind.css is pre-built and included in the release tarball
    dx build --release --platform desktop -p kopuz
}

package() {
    cd "$pkgname-$pkgver"

    local appdir="target/dx/kopuz/release/linux/app"

    install -Dm755 "$appdir/kopuz" "$pkgdir/usr/bin/kopuz"

    # Install bundled assets alongside binary
    if [[ -d "$appdir/assets" ]]; then
        cp -r "$appdir/assets" "$pkgdir/usr/bin/"
    fi

    install -Dm644 "data/com.temidaradev.kopuz.desktop" \
        "$pkgdir/usr/share/applications/com.temidaradev.kopuz.desktop"
    sed -i "s|Exec=kopuz|Exec=/usr/bin/kopuz|" \
        "$pkgdir/usr/share/applications/com.temidaradev.kopuz.desktop"

    install -Dm644 "crates/kopuz/assets/logo.png" \
        "$pkgdir/usr/share/icons/hicolor/256x256/apps/com.temidaradev.kopuz.png"

    install -Dm644 "data/com.temidaradev.kopuz.metainfo.xml" \
        "$pkgdir/usr/share/metainfo/com.temidaradev.kopuz.metainfo.xml"

    install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}