summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 42b196ec674de361311804e31757d21717f530e8 (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
# shellcheck disable=SC2034,SC2154,SC2164
# Maintainer: pml68 <contact at pml68 dot dev>

pkgname=onetalker
pkgver=2026.9
pkgrel=1
pkgdesc='An Augmentative and Alternative Communication (AAC) Aid'
arch=(x86_64)
url='https://onetalker.org'
license=('GPL-3.0-only')
depends=(
  hicolor-icon-theme
  onnxruntime
  protobuf
  alsa-lib
  gcc-libs
  glibc
  bash
)
makedepends=(
  cargo
  clang
  cmake
)
options=('!lto' '!debug')
provides=("$pkgname")
conflicts=("$pkgname")
install="onetalker.install"
source=(
  "$pkgname::https://codeberg.org/OneTalker/OneTalker/archive/v${pkgver}.tar.gz"
  "onetalker.sh"
)
sha256sums=('15c3ffc3a753ec78ce74742d10daa9d2a93c2fe23d043809942455cec23ac24c'
            '01e25123d26a68289424b1a5640c5d220f1aed8d94c41392f1a2610cac4011f5')

prepare() {
  cd "${pkgname}"

  export RUSTUP_TOOLCHAIN=stable
  cargo fetch --locked --target "$(rustc --print host-tuple)"
}

build() {
  cd "${pkgname}"

  export RUSTUP_TOOLCHAIN=stable
  export CARGO_TARGET_DIR=target
  export RUSTFLAGS="${RUSTFLAGS} --remap-path-prefix $srcdir=src"
  cargo build --frozen --release --no-default-features
}

package() {
  cd "${pkgname}"

  install -Dm755 "target/release/${pkgname}" "${pkgdir}/usr/lib/${pkgname}/${pkgname}"
  install -Dm755 ../onetalker.sh "${pkgdir}/usr/bin/${pkgname}"

  install -Dm644 LICENSE.GPL-3.0-only "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
  install -Dm644 "assets/linux/org.onetalker.${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
  install -Dm644 "assets/linux/org.onetalker.${pkgname}.appdata.xml" -t "${pkgdir}/usr/share/metainfo"

  mkdir -p "${pkgdir}/usr/share/onetalker/assets"
  cp -dr assets/audio "${pkgdir}/usr/share/onetalker/assets"
  cp -dr assets/config "${pkgdir}/usr/share/onetalker/assets"
  cp -dr assets/images "${pkgdir}/usr/share/onetalker/assets"
  cp -dr assets/symbols "${pkgdir}/usr/share/onetalker/assets"
  cp -dr assets/tts "${pkgdir}/usr/share/onetalker/assets"

  cp -dr assets/linux/icons "${pkgdir}/usr/share"
}