summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 09a2a20fd48ef412922faf97d612cda5d18b867a (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
84
85
86
# vim:cms=#\ %s
# Maintainer: awh (https://aur.archlinux.org/account/awh)
# Contributor: jeskko (https://aur.archlinux.org/account/jeskko)

pkgname=baballonia
pkgver=v1.1.1.0rc6
pkgrel=5
pkgdesc="A cross-platform, hardware-agnostic VR eye and face tracking application."
arch=('x86_64' 'aarch64')
url="https://github.com/Project-Babble/Baballonia"
license=('LicenseRef-Babble Software Distribution License 1.0')

pkgver() {
    cd "$pkgname"
    git describe --tags --abbrev=0 --match 'v[0-9]*' main
}

makedepends=(
    dotnet-sdk-10.0
    git
    ca-certificates
    unzip
)
depends=(
    dotnet-runtime-10.0
    lttng-ust
    fontconfig
    libglvnd
    libjpeg.so
    hicolor-icon-theme
    gstreamer
    gst-plugins-base-libs
    glib2
    onnxruntime
    espflash
    babbletrainer
    babblecalibration
)
source=(
    "${pkgname}::git+${url}.git#tag=${pkgver}"
    "baballonia.sh"
    "Baballonia.desktop"
    "LICENSE"
   )
sha256sums=('SKIP'
            'f14601e1bca1b90fa4a83198fe7982cc4503efd83d2f5094fdfafc9abb66d760'
            'c79d564f433ef8786b125c58da586c2f40779d8978bf0d708ce68e02823ff450'
            'a0c3fedbc0083597993489730d8178d2e79fdb6c03d596cb4bebfafc819d063f')
prepare() {
    cd "${pkgname}"
    git submodule update --init --recursive
}
build() {
    cd "${srcdir}/${pkgname}/src/Baballonia.Desktop"
    dotnet publish -r linux-x64 -c Release --self-contained -f net10.0
}
package() {
    cd "${pkgname}"

    export _publishdir="src/Baballonia.Desktop/bin/Release/net10.0/linux-x64/publish"

    # force system onnxruntime since shipped library only includes cpu execution provider
    rm "${_publishdir}/libonnxruntime"*

    install -d "${pkgdir}/opt/${pkgname}"
    cp -a "$_publishdir/"* "${pkgdir}/opt/${pkgname}/"

    install -Dm644 "${_publishdir}/Assets/Icon_512x512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/baballonia.png"
    install -Dm644 "${_publishdir}/Assets/Icon_32x32.ico"   "${pkgdir}/usr/share/icons/hicolor/32x32/apps/baballonia.ico"

    install -Dm755 "${srcdir}/baballonia.sh"      "${pkgdir}/usr/bin/baballonia"
    install -Dm644 "${srcdir}/Baballonia.desktop" "${pkgdir}/usr/share/applications/Baballonia.desktop"
    install -Dm644 "${srcdir}/LICENSE"            "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

    # BabbleCalibration
    rm "${pkgdir}/opt/${pkgname}/Calibration/Linux/Overlay/temp"
    rmdir "${pkgdir}/opt/${pkgname}/Calibration/Linux/Overlay/"
    ln -s /opt/babblecalibration/ "${pkgdir}/opt/${pkgname}/Calibration/Linux/Overlay"

    # espflash
    mkdir -p "${pkgdir}/opt/${pkgname}/Firmware/Linux/"
    ln -s /usr/bin/espflash "${pkgdir}/opt/${pkgname}/Firmware/Linux/espflash"

    # BabbleTrainer
    ln -s "/opt/babbletrainer/babbletrainer.sh" "${pkgdir}/opt/${pkgname}/Calibration/Linux/Trainer/BabbleTrainer"
}