summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authortnn <tnn@pkgsrc.org>2022-05-03 15:14:54 +0000
committertnn <tnn@pkgsrc.org>2022-05-03 15:14:54 +0000
commit3f3b8946001f5ae88e0892a6f37015af5caafaba (patch)
tree93701d2ce0b16574b7098f57c22eb9147b226523 /math
parent29064ad6d27797ac0dda606d3708d2b51ca6e6fc (diff)
downloadpkgsrc-3f3b8946001f5ae88e0892a6f37015af5caafaba.tar.gz
py-scipy: work around undefined PLT symbol "log1pl" on NetBSD. Bump.
Diffstat (limited to 'math')
-rw-r--r--math/py-scipy/Makefile3
-rw-r--r--math/py-scipy/distinfo3
-rw-r--r--math/py-scipy/patches/patch-scipy_special___logit.h51
3 files changed, 55 insertions, 2 deletions
diff --git a/math/py-scipy/Makefile b/math/py-scipy/Makefile
index dfc3b64ccb3..b2cfb24246c 100644
--- a/math/py-scipy/Makefile
+++ b/math/py-scipy/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.55 2022/04/09 12:15:31 adam Exp $
+# $NetBSD: Makefile,v 1.56 2022/05/03 15:14:54 tnn Exp $
DISTNAME= scipy-1.8.0
+PKGREVISION= 1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= math python
MASTER_SITES= ${MASTER_SITE_PYPI:=s/scipy/}
diff --git a/math/py-scipy/distinfo b/math/py-scipy/distinfo
index 2bed3bfbfbe..a43a0cc400f 100644
--- a/math/py-scipy/distinfo
+++ b/math/py-scipy/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.31 2022/04/12 20:31:43 tnn Exp $
+$NetBSD: distinfo,v 1.32 2022/05/03 15:14:54 tnn Exp $
BLAKE2s (scipy-1.8.0.tar.gz) = 45a8dad311d6c459a748f31a7df37ce49ee611c8d4c258649288fd624e5a3a05
SHA512 (scipy-1.8.0.tar.gz) = 674652728ae76479d17189e6974895bb838a8e83b17b9fb91c5f86faebf2a1387e1466555ac5b51d05c293f9b31b9a72e634f5858105ea984ca94bd2f05bbb4c
Size (scipy-1.8.0.tar.gz) = 38313602 bytes
+SHA1 (patch-scipy_special___logit.h) = fdec9873512693b36f9763d15e81a60f6ac93630
SHA1 (patch-scipy_special___round.h) = bc05a935e6423ce8395450ad3b30e88826939422
SHA1 (patch-scipy_stats___hypotests__pythran.cpp) = e5d70b810ca020ccd25b9ad7068ce44487d8da60
diff --git a/math/py-scipy/patches/patch-scipy_special___logit.h b/math/py-scipy/patches/patch-scipy_special___logit.h
new file mode 100644
index 00000000000..0e09cc13ee2
--- /dev/null
+++ b/math/py-scipy/patches/patch-scipy_special___logit.h
@@ -0,0 +1,51 @@
+$NetBSD: patch-scipy_special___logit.h,v 1.1 2022/05/03 15:14:54 tnn Exp $
+
+py-scipy: work around undefined PLT symbol "log1pl" on NetBSD
+
+--- scipy/special/_logit.h.orig 2022-01-29 22:59:08.475390400 +0000
++++ scipy/special/_logit.h
+@@ -31,15 +31,41 @@ inline T _expit(T x) {
+ // obtain accurate results (compared to the naive implementation
+ // log(expit(x))).
+ //
+-template <typename T>
+-inline T _log_expit(T x) {
++inline npy_float _log_expit(npy_float x) {
+ if (x < 0.0) {
+ return x - std::log1p(std::exp(x));
+ }
+ else {
+ return -std::log1p(std::exp(-x));
+ }
+-};
++}
++inline npy_double _log_expit(npy_double x) {
++ if (x < 0.0) {
++ return x - std::log1p(std::exp(x));
++ }
++ else {
++ return -std::log1p(std::exp(-x));
++ }
++}
++#if defined(__NetBSD__)
++inline npy_longdouble _log_expit(npy_longdouble x) {
++ if (x < 0.0) {
++ return x - std::log(1.0l + std::exp(x));
++ }
++ else {
++ return -std::log(1.0l + std::exp(-x));
++ }
++}
++#else
++inline npy_longdouble _log_expit(npy_longdouble x) {
++ if (x < 0.0) {
++ return x - std::log1p(std::exp(x));
++ }
++ else {
++ return -std::log1p(std::exp(-x));
++ }
++}
++#endif
+
+
+ npy_float logitf(npy_float x) {return _logit(x);};