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

_pkgname=onetalker
pkgname=$_pkgname-git
pkgver=2026.6.r22.g82acaa3
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=(
  git
  cargo
  clang
  cmake
)
options=('!lto' '!debug')
provides=("$_pkgname")
conflicts=("$_pkgname")
install="onetalker.install"
source=(
  "$_pkgname::git+https://codeberg.org/OneTalker/OneTalker"
  "onetalker.sh"
)
sha256sums=('SKIP'
            '01e25123d26a68289424b1a5640c5d220f1aed8d94c41392f1a2610cac4011f5')

prepare() {
  cd "${_pkgname}"

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

pkgver() {
  cd "${_pkgname}"

  git describe --long --tags --abbrev=7 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

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"
}