EAPI=7 DESCRIPTION="VTuber application made with Godot 3.4" HOMEPAGE="https://github.com/virtual-puppet-project/vpuppr" RESTRICT="strip" PYTHON_COMPAT=( python3_{10..12} ) inherit desktop xdg python-single-r1 IUSE="+osf-tracker ifm-tracker mouse-tracker vts-tracker meowface-tracker remote-control" REQUIRED_USE="osf-tracker? ( ${PYTHON_REQUIRED_USE} )" IFACIALMOCAP_COMMIT="8095807804b138a3236d9ce21e800e02fe44e53a" MEOWFACE_COMMIT="790e4c7a5913184f71076e1c8606236b02ff1de8" OPENSEEFACE_COMMIT="c1b8bc5fd0014abb1a059368d205740dd7f0f592" RC_SERVER_COMMIT="e95d2bf0f29767f9be8461422c696d691ca3da48" VTUBE_STUDIO_COMMIT="0cf3304723dbe0f71d5e12bff2b76d0ef0c22aea" SRC_URI=" https://github.com/virtual-puppet-project/vpuppr/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz https://github.com/virtual-puppet-project/godot-builds/releases/download/latest/Godot_v3.x-stable_linux_headless.64.tar.gz -> godot-vpuppr-headless-${P}.tar.gz https://github.com/virtual-puppet-project/godot-builds/releases/download/latest/Godot_v3.x-stable_linux_release.64.tar.gz -> godot-vpuppr-release-profile.${P}.tar.gz osf-tracker? ( https://github.com/you-win/OpenSeeFace/releases/download/latest/OpenSeeFace_latest_linux.tar.gz -> OpenSeeFace_latest.tar.gz https://github.com/virtual-puppet-project/openseeface-tracker/archive/${OPENSEEFACE_COMMIT}.tar.gz -> openseeface-tracker-${OPENSEEFACE_COMMIT}.tar.gz ) ifm-tracker? ( https://github.com/virtual-puppet-project/ifacialmocap-tracker/archive/${IFACIALMOCAP_COMMIT}.tar.gz -> ifacialmocap-tracker-${IFACIALMOCAP_COMMIT}.tar.gz ) vts-tracker? ( https://github.com/virtual-puppet-project/vtube-studio-tracker/archive/${VTUBE_STUDIO_COMMIT}.tar.gz -> vtube-studio-tracker-${VTUBE_STUDIO_COMMIT}.tar.gz ) meowface-tracker? ( https://github.com/virtual-puppet-project/meowface-tracker/archive/${MEOWFACE_COMMIT}.tar.gz -> meowface-tracker-${MEOWFACE_COMMIT}.tar.gz ) remote-control? ( https://github.com/virtual-puppet-project/remote-control-server/archive/${RC_SERVER_COMMIT}.tar.gz -> remote-control-server-${RC_SERVER_COMMIT}.tar.gz ) " LICENSE="MIT" SLOT="0" RDEPEND=" osf-tracker? ( ${PYTHON_DEPS} ) " BDEPEND=" mouse-tracker? ( virtual/rust ) " export EDITOR="${WORKDIR}/Godot_v3.x-stable_linux_headless.64" src_prepare() { if use osf-tracker; then mv -T "${WORKDIR}"/openseeface-tracker-${OPENSEEFACE_COMMIT} \ resources/extensions/openseeface-tracker || die mv "${WORKDIR}"/OpenSeeFace \ resources/extensions/openseeface-tracker/ || die touch resources/extensions/openseeface-tracker/OpenSeeFace/.gdignore || die fi if use ifm-tracker; then mv -T "${WORKDIR}"/ifacialmocap-tracker-${IFACIALMOCAP_COMMIT} \ resources/extensions/ifacialmocap-tracker || die fi if use vts-tracker; then mv -T "${WORKDIR}"/vtube-studio-tracker-${VTUBE_STUDIO_COMMIT} \ resources/extensions/vtube-studio-tracker || die fi if use meowface-tracker; then mv -T "${WORKDIR}"/meowface-tracker-${MEOWFACE_COMMIT} \ resources/extensions/meowface-tracker || die fi if use remote-control; then mv -T "${WORKDIR}"/remote-control-server-${RC_SERVER_COMMIT} \ resources/extensions/remote-control-server || die fi mkdir -p release_templates/ || die cp "${WORKDIR}"/Godot_v3.x-stable_linux_release.64 release_templates/ || die echo "resource_path = '/usr/share/vpuppr'" >> release_config.toml echo "version = '$(date '+%Y-%m-%d_%H-%M-%S')'" >> release_config.toml default } src_compile() { "${WORKDIR}"/Godot_v3.x-stable_linux_headless.64 \ --verbose --export linux "export/${PN}" || die } src_install() { local size dobin export/${PN} insinto usr/share/vpuppr doins -r resources/* make_desktop_entry vpuppr "Virtual Puppet Project" "vpuppr"\ "Application" "Comment=Live VTuber model renderer, written in Godot" for size in 16 24 48 64 128 256; do newicon -s ${size} assets/icons/com.github.youwin.VPupPr-${size}.png vpuppr.png done }