# Maintainer: Christoph Reiter _realname=whisper.cpp pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") epoch=1 pkgver=1.8.3.r1.gf53dc748 pkgrel=1 pkgdesc="Port of OpenAI's Whisper model in C/C++ (mingw-w64)" arch=('any') mingw_arch=('ucrt64' 'clang64' 'clangarm64' 'mingw64') url='https://github.com/ggml-org/whisper.cpp' license=('spdx:MIT') depends=( "${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-ggml" "${MINGW_PACKAGE_PREFIX}-SDL2" ) makedepends=( "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "git" ) _commit=f53dc74843e97f19f94a79241357f74ad5b691a6 source=("git+https://github.com/ggml-org/whisper.cpp#commit=${_commit}") #source=("https://github.com/ggml-org/whisper.cpp/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz") sha256sums=('3f77c37e7708bc5ad9dd5fa951e8010e7f19f3aa2ebf8a157bbfd399bfe38c3d') pkgver() { cd "${_realname}" git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//g' } build() { declare -a extra_config if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") else extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi LDFLAGS+=" -Wl,--export-all-symbols" \ MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ cmake \ -GNinja \ -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_DLL_NAME_WITH_SOVERSION=ON \ -DWHISPER_USE_SYSTEM_GGML=ON \ -DWHISPER_CURL=ON \ -DWHISPER_SDL2=ON \ -DWHISPER_BUILD_EXAMPLES=ON \ -DWHISPER_BUILD_TESTS=OFF \ -DWHISPER_ALL_WARNINGS=OFF \ "${extra_config[@]}" \ -S ${_realname} \ -B build-${MSYSTEM} cmake --build build-${MSYSTEM} } package() { DESTDIR="${pkgdir}" cmake --install build-${MSYSTEM} # Rename output files by prefixing them with whisper (if not already prefixed and if not DLL) for i in "${pkgdir}"${MINGW_PREFIX}/bin/*.{exe,py,sh}; do filename=$(basename "$i") if [[ -e $i && ! ("$filename" =~ ^whisper) ]]; then mv "${i}" "${pkgdir}${MINGW_PREFIX}/bin/whisper-${filename}" fi done install -Dm755 "${srcdir}/${_realname}/models/download-ggml-model.sh" \ "${pkgdir}${MINGW_PREFIX}/bin/whisper-download-ggml-model.sh" install -Dm644 "${srcdir}"/${_realname}/LICENSE \ "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE }