diff --git a/pkgbuilds/openvino-genai/.omarchy/package.json b/pkgbuilds/openvino-genai/.omarchy/package.json new file mode 100644 index 00000000..2a9719d3 --- /dev/null +++ b/pkgbuilds/openvino-genai/.omarchy/package.json @@ -0,0 +1,3 @@ +{ + "source": "local" +} diff --git a/pkgbuilds/openvino-genai/PKGBUILD b/pkgbuilds/openvino-genai/PKGBUILD new file mode 100644 index 00000000..212a977a --- /dev/null +++ b/pkgbuilds/openvino-genai/PKGBUILD @@ -0,0 +1,78 @@ +# Maintainer: Spencer Bull + +pkgname=openvino-genai +pkgver=2026.3.0.0 +pkgrel=1 +pkgdesc="OpenVINO GenAI C and C++ runtime libraries" +arch=('x86_64') +url="https://github.com/openvinotoolkit/openvino.genai" +license=('Apache-2.0') +options=('!debug' '!lto') +depends=( + 'gcc-libs' + 'glibc' + 'onetbb' + 'openvino=2026.3.0' +) +makedepends=( + 'cmake' + 'git' + 'ninja' + 'python' +) +optdepends=( + 'openvino-intel-gpu-plugin: inference on Intel GPUs' + 'openvino-intel-npu-plugin: inference on Intel NPUs' +) + +_commit=bd8d6542e3ca1ac30042d5d8d4202ce00b5f4af0 +source=( + "openvino.genai::git+$url.git#commit=$_commit" + 'gcc-16-char8_t.patch' +) +sha256sums=( + 'SKIP' + '6e685c1e45d4b2314fd55e2f791846cc9086413ba62a6bb5e31be5a5878a243c' +) + +prepare() { + cd openvino.genai + patch -Np1 -i "$srcdir/gcc-16-char8_t.patch" + git submodule update --init --recursive +} + +build() { + CFLAGS+=" -ffile-prefix-map=$srcdir=/usr/src/$pkgname" + CXXFLAGS+=" -ffile-prefix-map=$srcdir=/usr/src/$pkgname" + + cmake -S openvino.genai -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DENABLE_JS=OFF \ + -DENABLE_MISAKI_CPP=OFF \ + -DENABLE_PYTHON=OFF \ + -DENABLE_SAMPLES=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_TOOLS=OFF \ + -DENABLE_XGRAMMAR=OFF + + cmake --build build +} + +package() { + install -d "$pkgdir/usr/lib" "$pkgdir/usr/share/licenses/$pkgname" + + cp -a build/openvino_genai/libopenvino_genai.so* "$pkgdir/usr/lib/" + cp -a build/openvino_genai/libopenvino_tokenizers.so* "$pkgdir/usr/lib/" + cp -a build/src/c/libopenvino_genai_c.so* "$pkgdir/usr/lib/" + + install -Dm644 openvino.genai/LICENSE \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm644 openvino.genai/third-party-programs.txt \ + "$pkgdir/usr/share/licenses/$pkgname/third-party-programs.txt" + install -Dm644 openvino.genai/thirdparty/openvino_tokenizers/LICENSE \ + "$pkgdir/usr/share/licenses/$pkgname/openvino-tokenizers-LICENSE" + install -Dm644 openvino.genai/thirdparty/openvino_tokenizers/third-party-programs.txt \ + "$pkgdir/usr/share/licenses/$pkgname/openvino-tokenizers-third-party-programs.txt" +} diff --git a/pkgbuilds/openvino-genai/gcc-16-char8_t.patch b/pkgbuilds/openvino-genai/gcc-16-char8_t.patch new file mode 100644 index 00000000..c94559db --- /dev/null +++ b/pkgbuilds/openvino-genai/gcc-16-char8_t.patch @@ -0,0 +1,7 @@ +diff --git a/src/cpp/src/whisper/word_level_timestamps.cpp b/src/cpp/src/whisper/word_level_timestamps.cpp +index 7b3da124..d1f9212f 100644 +--- a/src/cpp/src/whisper/word_level_timestamps.cpp ++++ b/src/cpp/src/whisper/word_level_timestamps.cpp +@@ -327 +327 @@ std::pair, std::vector>> split_toke +- const std::string replacement_char = u8"\uFFFD"; ++ const std::string replacement_char = "\xEF\xBF\xBD";