From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 59006158086 for ; Thu, 2 Dec 2021 14:17:14 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D72162BC015; Thu, 2 Dec 2021 14:17:11 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 527CC2BC012 for ; Thu, 2 Dec 2021 14:17:11 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 41982343187 for ; Thu, 2 Dec 2021 14:17:10 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id AB227200 for ; Thu, 2 Dec 2021 14:17:08 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1638454475.fa2033778ab7dc6fb258b270565fa62a9bb0bb03.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/numexpr/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/numexpr/numexpr-2.8.0.ebuild X-VCS-Directories: dev-python/numexpr/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: fa2033778ab7dc6fb258b270565fa62a9bb0bb03 X-VCS-Branch: master Date: Thu, 2 Dec 2021 14:17:08 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 3cc657e6-f450-40dc-80d6-5cecf832bd92 X-Archives-Hash: f9c94631f15d4a174d8bb584ffe6ec79 commit: fa2033778ab7dc6fb258b270565fa62a9bb0bb03 Author: Michał Górny gentoo org> AuthorDate: Thu Dec 2 14:14:35 2021 +0000 Commit: Michał Górny gentoo org> CommitDate: Thu Dec 2 14:14:35 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa203377 dev-python/numexpr: Attempt to fix building against mkl Use pkg-config to get appropriate include directory and library list from mkl. Fix config key names. Unfortunately, the package is still broken: INTEL MKL ERROR: /usr/lib64/libmkl_vml_def.so: undefined symbol: mkl_lapack_dspevd. Intel MKL FATAL ERROR: cannot load libmkl_vml_def.so. However, that seems to be a problem inside mkl itself. Signed-off-by: Michał Górny gentoo.org> dev-python/numexpr/numexpr-2.8.0.ebuild | 37 +++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/dev-python/numexpr/numexpr-2.8.0.ebuild b/dev-python/numexpr/numexpr-2.8.0.ebuild index 0ed9199d12ec..2de92876f671 100644 --- a/dev-python/numexpr/numexpr-2.8.0.ebuild +++ b/dev-python/numexpr/numexpr-2.8.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) PYTHON_REQ_USE="threads(+)" -inherit distutils-r1 +inherit distutils-r1 toolchain-funcs DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy" HOMEPAGE="https://github.com/pydata/numexpr" @@ -22,18 +22,43 @@ DEPEND=" mkl? ( sci-libs/mkl ) " RDEPEND=${DEPEND} +BDEPEND=" + mkl? ( virtual/pkgconfig ) +" python_prepare_all() { # TODO: mkl can be used but it fails for me # only works with mkl in tree. newer mkl will use pkgconfig if use mkl; then - use amd64 && local ext="_lp64" + local suffix= + use amd64 && local suffix="-lp64" + + local flags=( + $($(tc-getPKG_CONFIG) --cflags --libs "mkl-dynamic${suffix}-iomp") + ) + local f libdirs=() incdirs=() libs=() + for f in "${flags[@]}"; do + case ${f} in + -I*) + incdirs+=( "${f#-I}" ) + ;; + -L*) + libdirs+=( "${f#-L}" ) + ;; + -l*) + libs+=( "${f#-l}" ) + ;; + *) + die "Unexpected flag in pkg-config output: ${f}" + ;; + esac + done + cat > site.cfg <<- _EOF_ || die [mkl] - library_dirs = ${MKLROOT}/lib/em64t - include_dirs = ${MKLROOT}/include - mkl_libs = mkl_solver${ext}, mkl_intel${ext}, \ - mkl_intel_thread, mkl_core, iomp5 + library_dirs = $(IFS=:; echo "${libdirs[*]}") + include_dirs = $(IFS=:; echo "${incdirs[*]}") + libraries = $(IFS=:; echo "${libs[*]}") _EOF_ fi