commit: ba250e9d9068d13fefc1a9a8176413d5558766e1 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Sun May 4 10:07:45 2025 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Sun May 4 10:20:09 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba250e9d
dev-libs/ncnn: add 20250503 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> dev-libs/ncnn/Manifest | 1 + dev-libs/ncnn/ncnn-20250503.ebuild | 79 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/dev-libs/ncnn/Manifest b/dev-libs/ncnn/Manifest index 42cb93aadbc7..62edff5cb704 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-20250428.tar.gz 13197551 BLAKE2B 47c801f4e111e0aa8b56e361bb1b988334746ebc8c8a82fc9aabb235d5f45d014cfed3f2e2161a5798ad0da63ecc0789762989a28fef5b111f7d99470668e4a8 SHA512 86ce1134aa22be79f5663a1e286d6071eb22b6ef2ecf35089707b02ee4135e6aca7b55f16096516e2da1aba00218a8bd96497bb11c0848e407212077a72a939d +DIST ncnn-20250503.tar.gz 13200604 BLAKE2B a0cafcaeff7a491adeb48fd9648a86fce5f9abf176c6e54bce2d231180c9a7b7cfa178e69216e6955628d70436e3c53ffb833972ae21fa18fabae5e0e6ebebc9 SHA512 decc841dc353bf0ff6f33456741547f0afaa8ed9d381ca3546b319dcd1c6db8ed4d35e001cd7adcea68970ebe2f14cbacf3053a23e37991c7466bc7060490286 diff --git a/dev-libs/ncnn/ncnn-20250503.ebuild b/dev-libs/ncnn/ncnn-20250503.ebuild new file mode 100644 index 000000000000..ed53dc1b311f --- /dev/null +++ b/dev-libs/ncnn/ncnn-20250503.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 +}
