summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 97cb66cd1a17e2018478aa0fd73a211f792c1598 (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
# Maintainer: Kurobac <rkurobac at gmail dot com>

pkgname=edgemap
pkgver=1.4.0
pkgrel=1
pkgdesc="DualSense UHID proxy — remap, combo, macro, profile auto-switching"
arch=('x86_64')
url="https://github.com/Kurobac/edgemap"
license=('GPL-3.0-or-later')
depends=('gcc-libs' 'glibc')
makedepends=('cargo' 'systemd-libs')
optdepends=('opus: experimental Bluetooth speaker audio'
    'libnotify: desktop notifications on profile switch'
    'python-pyqt6: GUI config editor (edgemap-gui)'
    'pipewire-audio: Bluetooth HD haptics and experimental speaker audio (pw-cat)')
source=("$pkgname-$pkgver.tar.gz::https://github.com/Kurobac/edgemap/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('2d79f0074408b59eb707f4459e5f508da3554664d8033ebb4c2d0331e34f926d')
install=edgemap.install

prepare() {
    cd "$srcdir/$pkgname-$pkgver"
    export RUSTUP_TOOLCHAIN=stable
    cargo fetch --locked
}

build() {
    cd "$srcdir/$pkgname-$pkgver"
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
    cargo build --frozen --release
}

check() {
    cd "$srcdir/$pkgname-$pkgver"
    export RUSTUP_TOOLCHAIN=stable
    cargo test --frozen
}

package() {
    cd "$srcdir/$pkgname-$pkgver"
    install -Dm755 target/release/dseuhid "$pkgdir/usr/bin/dseuhid"
    install -Dm755 target/release/edgemap "$pkgdir/usr/bin/edgemap"
    install -Dm644 edgemap.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/edgemap.svg"
    install -Dm755 gui/edgemap-gui "$pkgdir/usr/bin/edgemap-gui"
    while IFS= read -r -d '' source; do
        relative=${source#gui/}
        install -Dm644 "$source" "$pkgdir/usr/lib/edgemap-gui/$relative"
    done < <(find gui/edgemap_gui -type f -name '*.py' -print0)
    install -Dm644 edgemap.desktop "$pkgdir/usr/share/applications/edgemap.desktop"
    install -Dm644 dseuhid.service "$pkgdir/usr/lib/systemd/system/dseuhid.service"
    install -Dm644 edgemap.service "$pkgdir/usr/lib/systemd/user/edgemap.service"
    install -Dm644 completions/_dseuhid "$pkgdir/usr/share/zsh/site-functions/_dseuhid"
    install -Dm644 completions/_edgemap "$pkgdir/usr/share/zsh/site-functions/_edgemap"
}