# Maintainer: PumpkinCheshire pkgname=cain-ncnn-vulkan pkgver=20210210 pkgrel=4 pkgdesc="CAIN, Channel Attention Is All You Need for Video Frame Interpolation implemented with ncnn library" arch=('x86_64') url="https://github.com/nihui/cain-ncnn-vulkan" license=('MIT') depends=('vulkan-icd-loader' 'libwebp') makedepends=('git' 'cmake' 'glslang-git' 'vulkan-headers' 'ncnn') provides=("cain-ncnn-vulkan") conflicts=("cain-ncnn-vulkan-git" "cain-ncnn-vulkan-bin") source=("https://github.com/nihui/${pkgname}/archive/refs/tags/${pkgver}.tar.gz") sha256sums=('620a4f773eea24b1d2e7d9bf8985e75c5fb9cd29ddf2b8a367e26a68b5334497') prepare() { sed -i 's|path_t model = PATHSTR("cain")|path_t model = PATHSTR("/usr/share/cain-ncnn-vulkan/cain/")|' "${pkgname}-${pkgver}"/src/main.cpp sed -i 's|return get_executable_directory() + path;|return "/usr/share/cain-ncnn-vulkan/" + path;|' "${pkgname}-${pkgver}"/src/filesystem_utils.h } build() { cmake -B build -S "${pkgname}-${pkgver}"/src \ -DCMAKE_INSTALL_PREFIX=/usr \ -DGLSLANG_TARGET_DIR=/usr/lib/cmake \ -DUSE_SYSTEM_NCNN=on \ -DUSE_SYSTEM_WEBP=on cmake --build build } package() { install -Dm755 -t "${pkgdir}/usr/bin" build/${pkgname} install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" ${pkgname}-${pkgver}/LICENSE cd "${srcdir}/${pkgname}-${pkgver}/models/" for f in cain/*; do install -Dm 644 "$f" ${pkgdir}/usr/share/${pkgname}/"$f" done }