summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 61121919743cff90dd9c13dc18c49cb09d8312ca (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Maintainer: LFdev <lfdev+aur at envs dot net>

_pkgname='dsnote'
pkgname="${_pkgname}-git"
pkgver=r1039.6f26237
pkgrel=1
pkgdesc="Note taking, reading and translating with offline Speech to Text, Text to Speech and Machine Translation"
arch=(
  'x86_64'
  'aarch64'
)
url="https://github.com/mkiol/dsnote"
license=('MPL2')
depends=(
  'boost-libs'
  'fmt'
  'hicolor-icon-theme'
  'kdbusaddons5'
  'libarchive'
  'ocl-icd'
  'openblas'
  'perl'
  'python>=3.11'
  'qt5-base'
  'qt5-declarative'
  'qt5-x11extras'
  'qt5-multimedia'
  'qt5-quickcontrols2'
  'qqc2-desktop-style5'
  'rubberband'
  'taglib'
  'xz'
)
makedepends=(
  'boost'
  'cmake'
  'extra-cmake-modules'
  'git'
  'meson'
  'patchelf'
  'pybind11'
  'qt5-tools'
)
makedepends_x86_64=(
#  'cuda'
#  'rocm-hip-sdk'
)
optdepends=(
  'python-accelerate: Support for Punctuation and Hebrew Diacritics restoration'
  'python-torchaudio: Support for Coqui TTS models'
  'python-transformers: Support for Punctuation and Hebrew Diacritics restoration'
  'tts: Support for Coqui TTS models'
)
optdepends_x86_64=(
  'cuda: Support for GPU acceleration on NVidia graphic cards'
  'cudnn: Support for GPU acceleration on NVidia graphic cards'
  'rocblas: Support for GPU acceleration on AMD graphic cards'
  'rocm-opencl-runtime: Support for GPU acceleration on AMD graphic cards'
)
options=('!debug')
provides=(${_pkgname})
conflicts=(${_pkgname})
install=${_pkgname}.install
source=(git+https://github.com/mkiol/dsnote.git)
sha256sums=('SKIP')

pkgver() {
  cd "${srcdir}/${_pkgname}"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cd "${srcdir}/${_pkgname}"
  mkdir -p build
  cd build

  CMAKE="-DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON \
        -DWITH_PY=ON \
        -DBUILD_LIBARCHIVE=OFF \
        -DBUILD_FMT=OFF \
        -DBUILD_CATCH2=OFF \
        -DBUILD_OPENBLAS=OFF \
        -DBUILD_XZ=OFF \
        -DBUILD_PYBIND11=OFF \
        -DBUILD_RUBBERBAND=OFF \
        -DBUILD_FFMPEG=ON \
        -DBUILD_TAGLIB=OFF \
        -DBUILD_VOSK=OFF \
        -DBUILD_QQC2_BREEZE_STYLE=ON \
        -DDOWNLOAD_VOSK=ON \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -Wno-dev"

  #################### !! IMPORTANT!! ######################
  # CUDA and/or ROCm support are experimental and may break!
  # In order to enable support for either, please uncomment
  # the respective entry in makedepends_x86_64 (or install
  # the dependency package first) and change FULL_BUILD
  # value below to true *before* making the build.
  ##########################################################

  FULL_BUILD=false

  if [[ "${CARCH}" == "x86_64" ]]; then
    # Do not build for CUDA if needed package is not found
    pacman -Qi cuda &> /dev/null && $FULL_BUILD || CMAKE+=" -DBUILD_WHISPERCPP_CUBLAS=OFF"
    pacman -Qi cuda &> /dev/null && $FULL_BUILD && export CUDA_PATH=/opt/cuda

    # Do not build for HIP if needed package is not found
    pacman -Qi rocm-hip-sdk &> /dev/null && $FULL_BUILD || CMAKE+=" -DBUILD_WHISPERCPP_HIPBLAS=OFF"
  fi

  CI_BUILD=false

  # Disable bergamot and RHVoice (used for CI builds only)
  $CI_BUILD && CMAKE+=" -DBUILD_BERGAMOT=OFF -DBUILD_RHVOICE_MODULE=OFF"

  cmake ../ $CMAKE

  test $(nproc) -gt 2 && make -j$(($(nproc)-2)) || make
}

package() {
  cd "${srcdir}/${_pkgname}"
  cd build
  make DESTDIR="$pkgdir" install
}