summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 43420452681f2fdecdf195444ea953c1d58120ba (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
128
# Maintainer: LFdev <lfdev+aur at envs dot net>

_pkgname='dsnote'
pkgname="${_pkgname}"
pkgver=4.7.1
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'
  'glslang'
  'hicolor-icon-theme'
  'kdbusaddons5'
  'libarchive'
  'libpulse'
  'libxinerama'
  'libxtst'
  'ocl-icd'
  'openblas'
  'perl'
  'python>=3.11'
  'qqc2-desktop-style5'
  'qt5-base'
  'qt5-declarative'
  'qt5-multimedia'
  'qt5-quickcontrols2'
  'qt5-x11extras'
  'rubberband'
  'taglib'
  'vulkan-icd-loader'
  'xz'
)
makedepends=(
  'boost'
  'cmake'
  'extra-cmake-modules'
  'git'
  'meson'
  'patchelf'
  'pybind11'
  'qt5-tools'
  'vulkan-headers'
)
makedepends_x86_64=(
#  'cuda'
)
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=(
  'amdvlk: Vulkan support for AMD GPU (AMDVLK Open)'
  'cuda: Support for GPU acceleration on NVidia graphic cards'
  'cudnn: Support for GPU acceleration on NVidia graphic cards'
  'nvidia-utils: Vulkan support for NVidia GPU'
  'vulkan-intel: Vulkan support for Intel GPU'
  'vulkan-radeon: Vulkan support for AMD RADV'
)
options=('!debug')
provides=(${_pkgname})
conflicts=(${_pkgname}-git)
install=${_pkgname}.install
source=(https://github.com/mkiol/dsnote/archive/refs/tags/v${pkgver}.tar.gz)
sha256sums=('6b3c5029b32b272bd5238fb830c3aadce0cec438f7bece13bb304a7e52676b1b')

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  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_WHISPERCPP_VULKAN=ON \
        -DBUILD_QQC2_BREEZE_STYLE=ON \
        -DDOWNLOAD_VOSK=ON \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -Wno-dev"

  #################### !! IMPORTANT!! ######################
  # CUDA support is experimental and may break!
  # In order to enable support for it, please uncomment
  # the respective entry in makedepends_x86_64 (or install
  # the dependency package first) *before* making the build.
  # You can disable CUDA support by changing FULL_BUILD
  # below to false before building as well.
  ##########################################################

  FULL_BUILD=true

  if [[ "${CARCH}" == "x86_64" ]]; then
    # Build for CUDA if needed package is found
    pacman -Qi cuda &> /dev/null && $FULL_BUILD && CMAKE+=" -DBUILD_WHISPERCPP_CUBLAS=ON -DCMAKE_CUDA_ARCHITECTURES=native"
    pacman -Qi cuda &> /dev/null && $FULL_BUILD && export CUDA_PATH=/opt/cuda
  fi

  CI_BUILD=false

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

  cmake ../ $CMAKE

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

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