Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] python3-numpy: Use OpenBLAS when available.
@ 2021-01-09 22:16 olafmersmann
  2021-01-09 22:20 ` [PR PATCH] [Updated] " olafmersmann
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-09 22:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 461 bytes --]

There is a new pull request by olafmersmann against master on the void-packages repository

https://github.com/olafmersmann/void-packages python3-numpy
https://github.com/void-linux/void-packages/pull/27797

python3-numpy: Use OpenBLAS when available.
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.

A patch file from https://github.com/void-linux/void-packages/pull/27797.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-numpy-27797.patch --]
[-- Type: text/x-diff, Size: 7098 bytes --]

From dccefd67847566208fa9d5849efc924a2ce54c0d Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:44:35 +0100
Subject: [PATCH 1/6] shutils/chroot.sh: move homedir to /tmp/fake-home.

starship tests fail if /tmp is $HOME because they create files inside
/tmp and compare the shortend path to an expected path. If /tmp is
$HOME, starship contracts it to ~ which does not match the expected
value.
---
 common/xbps-src/shutils/chroot.sh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh
index 8646d758549..e4bf4129826 100644
--- a/common/xbps-src/shutils/chroot.sh
+++ b/common/xbps-src/shutils/chroot.sh
@@ -88,7 +88,7 @@ PATH=/void-packages:/usr/bin
 
 exec env -i -- SHELL=/bin/sh PATH="\$PATH" DISTCC_HOSTS="\$XBPS_DISTCC_HOSTS" DISTCC_DIR="/host/distcc" \
     ${XBPS_ARCH+XBPS_ARCH=$XBPS_ARCH} ${XBPS_CHECK_PKGS+XBPS_CHECK_PKGS=$XBPS_CHECK_PKGS} \
-    CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp" \
+    CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp/fake-home" \
     PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h
 _EOF
 
@@ -119,7 +119,9 @@ chroot_prepare() {
 
     # Copy /etc/passwd and /etc/group from base-files.
     cp -f $XBPS_SRCPKGDIR/base-files/files/passwd $XBPS_MASTERDIR/etc
-    echo "$(whoami):x:$(id -u):$(id -g):$(whoami) user:/tmp:/bin/xbps-shell" \
+    mkdir -p $XBPS_MASTERDIR/tmp/fake-home
+    chown $(id -u):$(id -g) $XBPS_MASTERDIR/tmp/fake-home
+    echo "$(whoami):x:$(id -u):$(id -g):$(whoami) user:/tmp/fake-home:/bin/xbps-shell" \
         >> $XBPS_MASTERDIR/etc/passwd
     cp -f $XBPS_SRCPKGDIR/base-files/files/group $XBPS_MASTERDIR/etc
     echo "$(whoami):x:$(id -g):" >> $XBPS_MASTERDIR/etc/group
@@ -166,7 +168,7 @@ chroot_handler() {
         rv=$?
     else
         env -i -- PATH="/usr/bin:$PATH" SHELL=/bin/sh \
-            HOME=/tmp IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \
+            HOME=/tmp/fake-home IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \
             ${HTTP_PROXY:+HTTP_PROXY="${HTTP_PROXY}"} \
             ${HTTPS_PROXY:+HTTPS_PROXY="${HTTPS_PROXY}"} \
             ${FTP_PROXY:+FTP_PROXY="${FTP_PROXY}"} \

From 92bc76e4361963c0b4cc2534d44be60311dd27c6 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:56:44 +0100
Subject: [PATCH 2/6] starship: cleanup do_check.

---
 srcpkgs/starship/template | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/srcpkgs/starship/template b/srcpkgs/starship/template
index 0eae193aece..cdf8bcc97dd 100644
--- a/srcpkgs/starship/template
+++ b/srcpkgs/starship/template
@@ -22,11 +22,7 @@ post_build() {
 }
 
 do_check() {
-	mkdir -p fake-home
-	local OLDHOME=$HOME
-	export HOME=$(pwd)/fake-home
 	cargo test -q --release --target ${RUST_TARGET}
-	export HOME=$OLDHOME
 }
 
 post_install() {

From 6101e4de3a203bf99c956fb0854694dfa2694b85 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:58:12 +0100
Subject: [PATCH 3/6] passmenu: simplify do_check.

---
 srcpkgs/pass/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pass/template b/srcpkgs/pass/template
index 33f0811c76d..82fae4d661f 100644
--- a/srcpkgs/pass/template
+++ b/srcpkgs/pass/template
@@ -16,7 +16,7 @@ checksum=2b6c65846ebace9a15a118503dcd31b6440949a30d3b5291dfb5b1615b99a3f4
 
 do_check() {
 	mkdir -p fake-home
-	HOME=$(pwd)/fake-home make test
+	make test
 }
 
 passmenu_package() {

From 066fe8c0f49ae57e9bf66d63b51a4477bcf57257 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:59:23 +0100
Subject: [PATCH 4/6] pygtk: simplify do_check.

---
 srcpkgs/pygtk/template | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/srcpkgs/pygtk/template b/srcpkgs/pygtk/template
index 41554b81763..e205ca332fc 100644
--- a/srcpkgs/pygtk/template
+++ b/srcpkgs/pygtk/template
@@ -28,10 +28,7 @@ pre_configure() {
 }
 
 do_check() {
-	export HOME="$(mktemp -d)"
-	mkdir -p "$HOME/.local/share"
 	xvfb-run make check
-	rm -r "$HOME"
 }
 
 post_install() {

From be7041bebbadbdb342f1ab23f2e4840e11380b7b Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 02:06:59 +0100
Subject: [PATCH 5/6] pass: simplify do_check.

---
 srcpkgs/pass/template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/srcpkgs/pass/template b/srcpkgs/pass/template
index 82fae4d661f..57493f0862c 100644
--- a/srcpkgs/pass/template
+++ b/srcpkgs/pass/template
@@ -15,7 +15,6 @@ distfiles="https://git.zx2c4.com/password-store/snapshot/password-store-${versio
 checksum=2b6c65846ebace9a15a118503dcd31b6440949a30d3b5291dfb5b1615b99a3f4
 
 do_check() {
-	mkdir -p fake-home
 	make test
 }
 

From 8415ff2569159f3c6c16f56bc7c165967c9a41d3 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 23:11:42 +0100
Subject: [PATCH 6/6] python3-numpy: Use OpenBLAS on platforms that support it.

---
 srcpkgs/python3-numpy/files/site.cfg.openblas |  4 ++++
 srcpkgs/python3-numpy/template                | 20 +++++++++++++++++--
 2 files changed, 22 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-numpy/files/site.cfg.openblas

diff --git a/srcpkgs/python3-numpy/files/site.cfg.openblas b/srcpkgs/python3-numpy/files/site.cfg.openblas
new file mode 100644
index 00000000000..a83f9155faf
--- /dev/null
+++ b/srcpkgs/python3-numpy/files/site.cfg.openblas
@@ -0,0 +1,4 @@
+[openblas]
+libraries = openblas
+library_dirs = /usr/lib
+include_dirs = /usr/include
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index 619040f2892..e032c99ae67 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,11 +1,12 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
 version=1.19.5
-revision=1
+revision=2
 wrksrc="numpy-${version}"
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
-makedepends="python3-devel lapack-devel cblas-devel"
+makedepends="python3-devel 
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
 depends="python3-setuptools"
 short_desc="Fast and sophisticated array facility to Python3"
 maintainer="bra1nwave <bra1nwave@protonmail.com>"
@@ -15,7 +16,22 @@ distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
 checksum=43fe3bcdf27a2eb27196a1d140385aeece71c8b1a6eda18d2c6365239e50c60f
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
+build_options="openblas"
+desc_option_openblas="Enable support for openblas accelerated linear algebra"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+		# Prefer accelerated routines where available
+		build_options_default="openblas"
+		;;
+	*) ;;
+esac
+
 post_patch() {
+	if [ -n "$build_option_openblas" ] ; then
+		cp "${FILESDIR}/site.cfg.openblas" site.cfg
+	fi
+
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
 			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-01-17 18:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
2021-01-09 22:20 ` [PR PATCH] [Updated] " olafmersmann
2021-01-10 15:38 ` olafmersmann
2021-01-10 19:12 ` [PR REVIEW] " ahesford
2021-01-10 20:59 ` [PR PATCH] [Updated] " olafmersmann
2021-01-10 21:02 ` [PR REVIEW] " olafmersmann
2021-01-12 23:53 ` [PR PATCH] [Updated] " olafmersmann
2021-01-17 18:12 ` [PR PATCH] [Closed]: " ahesford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).