commit:     184ab8fb135614054cdcd729ef6b3f421f432ae4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 28 12:50:14 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Apr 28 12:57:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=184ab8fb

dev-libs/ncnn: add 20250428

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-libs/ncnn/Manifest             |  1 +
 dev-libs/ncnn/ncnn-20250428.ebuild | 79 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)

diff --git a/dev-libs/ncnn/Manifest b/dev-libs/ncnn/Manifest
index e76ce090a5a5..20450120c782 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1,2 +1,3 @@
 DIST ncnn-20241226.tar.gz 13151099 BLAKE2B 
58c180dc17c9c9c91ee665ffa9343fcbb0c2ec507acdf69e1204b46569942dfbeef78ec62c107421f18334035fd6386f9f462468831ad3bb958eb5792955e8d3
 SHA512 
0a285589451334eac3fcb9135c17f8938d6110fc6950f1b9061bc98450132b88a205ed0318ca5d810d537406c96b397384936d2268f79fb4c8a1c3fd049ebc41
 DIST ncnn-20250427.tar.gz 13197329 BLAKE2B 
aff32673d4ae40f53c72bd5e3bf85d202163ea9d0c811d5b1fecff258ebb1db6b697acb6875fa15606c8024a40a042bd568dbd00acfaf668d1fcb97b213481de
 SHA512 
6537d2e46c462febefcb9d1de5c074db97c211b079cb9005e3abfe5c624827a77659fe43455c79e4083999c22db07859caf3841d1eef061a6b64b8bf070517ea
+DIST ncnn-20250428.tar.gz 13197551 BLAKE2B 
47c801f4e111e0aa8b56e361bb1b988334746ebc8c8a82fc9aabb235d5f45d014cfed3f2e2161a5798ad0da63ecc0789762989a28fef5b111f7d99470668e4a8
 SHA512 
86ce1134aa22be79f5663a1e286d6071eb22b6ef2ecf35089707b02ee4135e6aca7b55f16096516e2da1aba00218a8bd96497bb11c0848e407212077a72a939d

diff --git a/dev-libs/ncnn/ncnn-20250428.ebuild 
b/dev-libs/ncnn/ncnn-20250428.ebuild
new file mode 100644
index 000000000000..ed53dc1b311f
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20250428.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="High-performance neural network inference framework"
+HOMEPAGE="https://github.com/Tencent/ncnn/";
+SRC_URI="
+       https://github.com/Tencent/ncnn/archive/refs/tags/${PV}.tar.gz
+               -> ${P}.tar.gz
+"
+
+LICENSE="BSD ZLIB"
+SLOT="0/${PV}" # unstable ABI
+KEYWORDS="~amd64 ~x86"
+IUSE="openmp tools +vulkan"
+
+# Need the static library to run tests + skip vulkan / GPU:
+# -DNCNN_BUILD_TESTS=ON -DNCNN_SHARED_LIB=OFF -DNCNN_VULKAN=OFF
+RESTRICT="test"
+
+# dlopen: vulkan-loader
+RDEPEND="
+       tools? (
+               dev-cpp/abseil-cpp:=
+               dev-libs/protobuf:=
+       )
+       vulkan? (
+               dev-util/glslang:=
+               dev-util/spirv-tools
+               media-libs/vulkan-loader
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+       tools? ( dev-libs/protobuf[protoc(+)] )
+"
+
+DOCS=( README.md docs/. )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-20241226-avx512.patch
+)
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+       filter-lto # -Werror=odr issues
+
+       local mycmakeargs=(
+               -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+               -DNCNN_BUILD_EXAMPLES=no
+               -DNCNN_BUILD_TOOLS=$(usex tools)
+               -DNCNN_OPENMP=$(usex openmp)
+               -DNCNN_PYTHON=no # todo only if something needs it
+               -DNCNN_SHARED_LIB=yes
+               -DNCNN_SIMPLEVK=no
+               -DNCNN_SYSTEM_GLSLANG=yes
+               -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d using build 
date
+               -DNCNN_VULKAN=$(usex vulkan)
+       )
+
+       # temporary workaround due to a >=clang-18 regression (bug #929228)
+       tc-is-clang && [[ $(clang-major-version) -ge 18 ]] &&
+               mycmakeargs+=( -DNCNN_AVX512BF16=no )
+
+       cmake_src_configure
+}

Reply via email to