|
| 1 | +TERMUX_PKG_HOMEPAGE=https://github.com/TNTwise/rife-ncnn-vulkan |
| 2 | +TERMUX_PKG_DESCRIPTION="TNTwise's fork of rife-ncnn-vulkan: RIFE, Real-Time Intermediate Flow Estimation for Video Frame Interpolation implemented with ncnn library" |
| 3 | +TERMUX_PKG_LICENSE="MIT" |
| 4 | +TERMUX_PKG_MAINTAINER="@termux-user-repository" |
| 5 | +TERMUX_PKG_VERSION=20240515 |
| 6 | +TERMUX_PKG_SRCURL=git+https://github.com/TNTwise/rife-ncnn-vulkan |
| 7 | +TERMUX_PKG_DEPENDS="libwebp" |
| 8 | +TERMUX_PKG_BUILD_DEPENDS="vulkan-headers, vulkan-loader-android" |
| 9 | +TERMUX_PKG_GIT_BRANCH="$TERMUX_PKG_VERSION" |
| 10 | +TERMUX_PKG_AUTO_UPDATE=true |
| 11 | +TERMUX_PKG_UPDATE_TAG_TYPE="newest-tag" |
| 12 | +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DUSE_SYSTEM_WEBP=ON" |
| 13 | + |
| 14 | +termux_step_pre_configure() { |
| 15 | + LDFLAGS+=" -llog -landroid" |
| 16 | + |
| 17 | + local _RPATH_FLAG="-Wl,-rpath=$TERMUX_PREFIX/lib" |
| 18 | + local _RPATH_FLAG_ADD="-Wl,-rpath='\$ORIGIN' -Wl,-rpath=$TERMUX_PREFIX/lib" |
| 19 | + LDFLAGS="${LDFLAGS/$_RPATH_FLAG/$_RPATH_FLAG_ADD}" |
| 20 | + |
| 21 | + TERMUX_SRCDIR_SAVE=$TERMUX_PKG_SRCDIR |
| 22 | + TERMUX_PKG_SRCDIR=$TERMUX_PKG_SRCDIR/src |
| 23 | +} |
| 24 | + |
| 25 | +termux_step_post_configure() { |
| 26 | + TERMUX_PKG_SRCDIR=$TERMUX_SRCDIR_SAVE |
| 27 | + unset TERMUX_SRCDIR_SAVE |
| 28 | +} |
| 29 | + |
| 30 | +termux_step_make_install() { |
| 31 | + local install_prefix="$TERMUX_PREFIX/opt/$TERMUX_PKG_NAME" |
| 32 | + rm -rf "$install_prefix" |
| 33 | + mkdir -p "$install_prefix" |
| 34 | + |
| 35 | + # Install binary |
| 36 | + install -Dm700 rife-ncnn-vulkan "$install_prefix" |
| 37 | + ln -sfr $install_prefix/rife-ncnn-vulkan $TERMUX_PREFIX/bin/ |
| 38 | + |
| 39 | + # Install the system libvulkan.so |
| 40 | + local system_lib="/system/lib" |
| 41 | + [[ "${TERMUX_ARCH_BITS}" == "64" ]] && system_lib+="64" |
| 42 | + system_lib+="/libvulkan.so" |
| 43 | + ln -sf "$system_lib" "$install_prefix/" |
| 44 | + |
| 45 | + # Install models |
| 46 | + cp -r $TERMUX_PKG_SRCDIR/models/rife-v2.3 "$install_prefix/rife-v2.3" # default value of model arg |
| 47 | + cp -r $TERMUX_PKG_SRCDIR/models/rife-v4.6 "$install_prefix/rife-v4.6" # nihui's repo latest model |
| 48 | + local max_ver=0.0 |
| 49 | + local max_lite_ver=0.0 |
| 50 | + local rife_dir ver |
| 51 | + for rife_dir in $TERMUX_PKG_SRCDIR/models/rife-v*; do |
| 52 | + ver=$(basename "$rife_dir") |
| 53 | + ver=${ver##rife-v} |
| 54 | + [ "${#ver}" -eq 1 ] && ver="$ver.0" |
| 55 | + if [ "${ver: -5}" == "-lite" ] && ver="${ver::-5}"; then |
| 56 | + [ "${ver::1}" == 4 ] && [ "${ver:2}" -ge "${max_lite_ver:2}" ] && max_lite_ver="$ver" |
| 57 | + elif [ "${ver::1}" == 4 ] && [ "${ver:2}" -ge "${max_ver:2}" ]; then |
| 58 | + max_ver="$ver" |
| 59 | + fi |
| 60 | + done |
| 61 | + if [ "$max_lite_ver" != 0.0 ]; then |
| 62 | + cp -r $TERMUX_PKG_SRCDIR/models/rife-v"${max_lite_ver%%.0}"-lite "$install_prefix/rife-v4-lite-latest" |
| 63 | + fi |
| 64 | + if [ "$max_ver" != 0.0 ]; then |
| 65 | + cp -r $TERMUX_PKG_SRCDIR/models/rife-v"${max_ver%%.0}" "$install_prefix/rife-v4-latest" |
| 66 | + fi |
| 67 | +} |
0 commit comments