commit:     a658456988ef9af02904355dc785352ed19eb105
Author:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  4 19:56:23 2022 +0000
Commit:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
CommitDate: Sun Dec  4 19:57:43 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6584569

media-gfx/realesrgan-ncnn-vulkan: Add missing files.

Bug: https://bugs.gentoo.org/883447
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>

 ...nn-vulkan-default-realesrgan-x4plus-model.patch | 22 ++++++++
 .../realesrgan-ncnn-vulkan-0.2.0-r1.ebuild         | 60 ++++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git 
a/media-gfx/realesrgan-ncnn-vulkan/files/realesrgan-ncnn-vulkan-default-realesrgan-x4plus-model.patch
 
b/media-gfx/realesrgan-ncnn-vulkan/files/realesrgan-ncnn-vulkan-default-realesrgan-x4plus-model.patch
new file mode 100644
index 000000000000..250fad3d1f7a
--- /dev/null
+++ 
b/media-gfx/realesrgan-ncnn-vulkan/files/realesrgan-ncnn-vulkan-default-realesrgan-x4plus-model.patch
@@ -0,0 +1,22 @@
+diff --git a/src/main.cpp b/src/main.cpp
+index ebe0e62..8561fed 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -110,7 +110,7 @@ static void print_usage()
+     fprintf(stderr, "  -s scale             upscale ratio (can be 2, 3, 4. 
default=4)\n");
+     fprintf(stderr, "  -t tile-size         tile size (>=32/0=auto, 
default=0) can be 0,0,0 for multi-gpu\n");
+     fprintf(stderr, "  -m model-path        folder path to the pre-trained 
models. default=models\n");
+-    fprintf(stderr, "  -n model-name        model name 
(default=realesr-animevideov3, can be realesr-animevideov3 | realesrgan-x4plus 
| realesrgan-x4plus-anime | realesrnet-x4plus)\n");
++    fprintf(stderr, "  -n model-name        model name 
(default=realesrgan-x4plus, can be realesr-animevideov3 | realesrgan-x4plus | 
realesrgan-x4plus-anime | realesrnet-x4plus)\n");
+     fprintf(stderr, "  -g gpu-id            gpu device to use (default=auto) 
can be 0,1,2 for multi-gpu\n");
+     fprintf(stderr, "  -j load:proc:save    thread count for load/proc/save 
(default=1:2:2) can be 1:2,2,2:2 for multi-gpu\n");
+     fprintf(stderr, "  -x                   enable tta mode\n");
+@@ -439,7 +439,7 @@ int main(int argc, char** argv)
+     int scale = 4;
+     std::vector<int> tilesize;
+     path_t model = PATHSTR("models");
+-    path_t modelname = PATHSTR("realesr-animevideov3");
++    path_t modelname = PATHSTR("realesrgan-x4plus");
+     std::vector<int> gpuid;
+     int jobs_load = 1;
+     std::vector<int> jobs_proc;

diff --git 
a/media-gfx/realesrgan-ncnn-vulkan/realesrgan-ncnn-vulkan-0.2.0-r1.ebuild 
b/media-gfx/realesrgan-ncnn-vulkan/realesrgan-ncnn-vulkan-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..56946abc7263
--- /dev/null
+++ b/media-gfx/realesrgan-ncnn-vulkan/realesrgan-ncnn-vulkan-0.2.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="NCNN implementation of Real-ESRGAN"
+HOMEPAGE="https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan";
+SRC_URI="
+       
https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz
+       https://dev.gentoo.org/~slashbeast/distfiles/${PN}/${PN}-models.tar.xz
+"
+
+LICENSE="MIT BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+       dev-libs/ncnn:=[vulkan]
+       media-libs/libwebp:=
+       media-libs/vulkan-loader"
+DEPEND="
+       ${RDEPEND}
+       dev-util/glslang
+       dev-util/vulkan-headers"
+
+PATCHES=(
+       "${FILESDIR}"/"${PN}"-default-realesrgan-x4plus-model.patch
+)
+
+S="${WORKDIR}/Real-ESRGAN-ncnn-vulkan-${PV}"
+
+src_prepare() {
+       rm -rf "src/libwebp" "src/ncnn"
+
+       CMAKE_USE_DIR=${S}/src
+       cmake_src_prepare
+
+       # Update all paths to match installation for models.
+       sed 
"s%PATHSTR(\"models\")%PATHSTR(\"${EPREFIX}/usr/share/${PN}/models\")%g" \
+               -i src/main.cpp || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+               -DUSE_SYSTEM_NCNN=ON
+               -DUSE_SYSTEM_WEBP=ON
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       dobin "${BUILD_DIR}"/realesrgan-ncnn-vulkan
+
+       insinto /usr/share/${PN}/models
+       doins -r ../models/.
+}

Reply via email to