summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/XNNPACK/Manifest1
-rw-r--r--sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild84
2 files changed, 85 insertions, 0 deletions
diff --git a/sci-libs/XNNPACK/Manifest b/sci-libs/XNNPACK/Manifest
index 60b8d1d259f6..f095db09ce21 100644
--- a/sci-libs/XNNPACK/Manifest
+++ b/sci-libs/XNNPACK/Manifest
@@ -1 +1,2 @@
DIST XNNPACK-2022.02.17.tar.gz 6761154 BLAKE2B 59be5d9efe6f46d22bc41d3152e6cd3103f6dfafd94cdf3229b86ecf44a46175c613760f3de35c98a24ccdec1783f205c1eceaf21133706fedd5f384529748eb SHA512 aacbe907bb2b7429143f4ec612881fb709fe37e7b3a7f4fd68193dee6bbe82e17d20b2c6f5a8025845a09f8269c1dfeaebfc5bd64ef196fa376d82ac9a44cb8f
+DIST XNNPACK-2022.12.22.tar.gz 8342018 BLAKE2B 50426a47121418ef00a29b390ab4bb28211c17faaa7f4eacbf3a363fc3511b8655687e7f7f93f13b06a72ff9bcbde033305372687b6f2df1e1d5abaa910fe8be SHA512 1742ad4de3aa1a67cd5a3cbf15d82afc2cc8569a2abac92542f748a440ef37fef4e9d9c302b7b2813e3176934b637c761c1c0956d20ab1ba28b280d9b121d91b
diff --git a/sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild b/sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild
new file mode 100644
index 000000000000..c30a840eaf57
--- /dev/null
+++ b/sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=51a987591a6fc9f0fc0707077f53d763ac132cbf
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/google/XNNPACK/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+assembly jit +memopt +sparse static-libs test"
+
+RDEPEND="
+ dev-libs/cpuinfo
+ dev-libs/pthreadpool
+"
+DEPEND="${RDEPEND}
+ dev-libs/FP16
+ dev-libs/FXdiv
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.02.17-gentoo.patch
+)
+
+src_prepare() {
+ sed -i \
+ -e "/PRIVATE fp16)/d" \
+ -e "/PRIVATE fxdiv)/d" \
+ -e "/PRIVATE clog)/d" \
+ -e "/TARGET_LINK_LIBRARIES/s: fp16::" \
+ CMakeLists.txt \
+ || die
+ dropTest=(
+ "add-nd-test"
+ "subtract-nd-test"
+ "f32-velu-test"
+ "qc8-dwconv-minmax-fp32-test"
+ "qs8-dwconv-minmax-fp32-test"
+ "qs8-vadd-minmax-test"
+ "qs8-vaddc-minmax-test"
+ "qu8-dwconv-minmax-fp32-test"
+ "qu8-vadd-minmax-test"
+ "qu8-vaddc-minmax-test"
+ )
+ for id in ${dropTest[@]}
+ do
+ sed -i \
+ -e "/ADD_TEST(${id}/d" \
+ CMakeLists.txt \
+ || die
+ done
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DXNNPACK_BUILD_BENCHMARKS=OFF
+ -DXNNPACK_USE_SYSTEM_LIBS=ON
+ -DXNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ -DXNNPACK_LIBRARY_TYPE=$(usex static-libs static shared)
+ -DXNNPACK_ENABLE_ASSEMBLY=$(usex assembly ON OFF)
+ -DXNNPACK_ENABLE_JIT=$(usex jit ON OFF)
+ -DXNNPACK_ENABLE_MEMOPT=$(usex memopt ON OFF)
+ -DXNNPACK_ENABLE_SPARSE=$(usex sparse ON OFF)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ )
+
+ cmake_src_configure
+ cd "${BUILD_DIR}"
+}