diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-31 20:59:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-31 20:59:14 +0100 |
commit | e748ba9741f6540f4675c23e3e37b73e822c13a4 (patch) | |
tree | 23dece8beabb3a3d7c6c0273b0eb40b21c62a889 /dev-libs/ncnn/ncnn-20210525.ebuild | |
parent | 908778078736bd36f7a60a2d576d415cb8e000fa (diff) |
gentoo resync : 31.05.2021
Diffstat (limited to 'dev-libs/ncnn/ncnn-20210525.ebuild')
-rw-r--r-- | dev-libs/ncnn/ncnn-20210525.ebuild | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/dev-libs/ncnn/ncnn-20210525.ebuild b/dev-libs/ncnn/ncnn-20210525.ebuild new file mode 100644 index 000000000000..efac9e4e5810 --- /dev/null +++ b/dev-libs/ncnn/ncnn-20210525.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="High-performance neural network inference framework" +HOMEPAGE="https://github.com/Tencent/ncnn" +SRC_URI="https://github.com/Tencent/ncnn/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="tools +vulkan" + +# Need the static library to run tests: +# -DNCNN_BUILD_TESTS=ON, -DNCNN_SHARED_LIB=OFF, USE=-vulkan (skip GPU) +RESTRICT="test" + +RDEPEND=" + dev-util/glslang + tools? ( dev-libs/protobuf:= ) + vulkan? ( media-libs/vulkan-loader )" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers )" + +PATCHES=( + "${FILESDIR}"/${PN}-fix-glslang-include.patch +) +DOCS=( README.md docs/. ) + +src_prepare() { + cmake_src_prepare + + sed -i "/DESTINATION/s| lib| $(get_libdir)|" src/CMakeLists.txt || die + + # Workaround build issues on AVX without AVX2 (bug #730468) + # This can be removed if CXXFLAGS="-mavx -mno-avx2" builds after a bump. + find src -type f -exec sed -i s/__AVX__/__AVX2__/g {} + || die +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON # for tools + -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake + -DNCNN_BUILD_EXAMPLES=OFF + -DNCNN_BUILD_TOOLS=$(usex tools) + -DNCNN_PYTHON=OFF # missing portalocker, and nothing needs this for now + -DNCNN_SHARED_LIB=ON + -DNCNN_SYSTEM_GLSLANG=ON + -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d (build date) + -DNCNN_VULKAN=$(usex vulkan) + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + if use tools; then + local tools=( + caffe/caffe2ncnn + darknet/darknet2ncnn + mxnet/mxnet2ncnn + ncnn2mem + ncnnmerge + ncnnoptimize + onnx/onnx2ncnn + quantize/{ncnn2int8,ncnn2table} + ) + dobin "${tools[@]/#/${BUILD_DIR}/tools/}" + fi +} |