commit:     371d87a5cbf531a2d6de8dbae23fed219c674f73
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 15:14:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 20 15:50:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=371d87a5

dev-libs/ncnn: add 20240820

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

 dev-libs/ncnn/Manifest             |  1 +
 dev-libs/ncnn/ncnn-20240820.ebuild | 68 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/dev-libs/ncnn/Manifest b/dev-libs/ncnn/Manifest
index 21d62df6542b..19202e21b33c 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1 +1,2 @@
 DIST ncnn-20240410.tar.gz 12835689 BLAKE2B 
b4c2ffdf525719dca81d020695f03cd963c3a1f1a0ecc61b6e08c75da212d280210bf1be9b54343a771661fef747675e7f08d0dd9e3ea942adfda1e07d1f6868
 SHA512 
61865af26aecc6b0eccdfd46c5b3f6e4dd06d7409298051c91d141e64b8c15690f2f982c0aeb3a11d3a575061ab7606710cb0e710f4cb6539c7a14ff440aaaf7
+DIST ncnn-20240820.tar.gz 12963701 BLAKE2B 
cf92ac70fb0256ae4b78f03d5a670622071f6f0e9b4ad1ee6a18238852f66b3d6b0456d33b2cf2eb691c351b1e8c7b0a8427fb20342029c79f33626f09d9bba5
 SHA512 
cbef59021231df7409c73a270f147e72daefa1230ccc072aec7225078097ec8e99d4dd82e8aaa93665361c4c24b3812e05f08da5c9a82a575ef2aad70c0828fe

diff --git a/dev-libs/ncnn/ncnn-20240820.ebuild 
b/dev-libs/ncnn/ncnn-20240820.ebuild
new file mode 100644
index 000000000000..2bb0594c7321
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20240820.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake 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}" # currently has unstable ABI that often requires rebuilds
+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"
+
+RDEPEND="
+       tools? (
+               dev-cpp/abseil-cpp:=
+               dev-libs/protobuf:=
+       )
+       vulkan? (
+               dev-util/glslang:=
+               media-libs/vulkan-loader
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       vulkan? ( dev-util/vulkan-headers )
+"
+
+DOCS=( README.md docs/. )
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+       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 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