summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2025-02-21 17:04:41 -0500
committerIonen Wolkens <ionen@gentoo.org>2025-02-21 21:34:52 -0500
commit0f1e05b5a0a884ada1cbdcd3f5a4b3b789a55adb (patch)
tree49638b06541cc78422224a780b12e1977735e2cb /dev-libs/ncnn
parentgames-board/pysolfc: add 3.2.0 (diff)
downloadgentoo-0f1e05b5a0a884ada1cbdcd3f5a4b3b789a55adb.tar.gz
gentoo-0f1e05b5a0a884ada1cbdcd3f5a4b3b789a55adb.tar.bz2
gentoo-0f1e05b5a0a884ada1cbdcd3f5a4b3b789a55adb.zip
dev-libs/ncnn: add 20241226
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-libs/ncnn')
-rw-r--r--dev-libs/ncnn/Manifest1
-rw-r--r--dev-libs/ncnn/ncnn-20241226.ebuild71
2 files changed, 72 insertions, 0 deletions
diff --git a/dev-libs/ncnn/Manifest b/dev-libs/ncnn/Manifest
index dde82eed1d71..1fcd33420201 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1 +1,2 @@
DIST ncnn-20240820.tar.gz 12963701 BLAKE2B cf92ac70fb0256ae4b78f03d5a670622071f6f0e9b4ad1ee6a18238852f66b3d6b0456d33b2cf2eb691c351b1e8c7b0a8427fb20342029c79f33626f09d9bba5 SHA512 cbef59021231df7409c73a270f147e72daefa1230ccc072aec7225078097ec8e99d4dd82e8aaa93665361c4c24b3812e05f08da5c9a82a575ef2aad70c0828fe
+DIST ncnn-20241226.tar.gz 13151099 BLAKE2B 58c180dc17c9c9c91ee665ffa9343fcbb0c2ec507acdf69e1204b46569942dfbeef78ec62c107421f18334035fd6386f9f462468831ad3bb958eb5792955e8d3 SHA512 0a285589451334eac3fcb9135c17f8938d6110fc6950f1b9061bc98450132b88a205ed0318ca5d810d537406c96b397384936d2268f79fb4c8a1c3fd049ebc41
diff --git a/dev-libs/ncnn/ncnn-20241226.ebuild b/dev-libs/ncnn/ncnn-20241226.ebuild
new file mode 100644
index 000000000000..7c8a0a3dd6bc
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20241226.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2025 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 )
+"
+BDEPEND="
+ tools? ( dev-libs/protobuf[protoc(+)] )
+"
+
+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
+}