git: 0297052e221a - main - biology/bolt-lmm: Update to 2.3.6

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Sun, 20 Mar 2022 15:29:02 UTC
The branch main has been updated by jwb:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0297052e221a1c1e754fa6d10380a527985f4cf5

commit 0297052e221a1c1e754fa6d10380a527985f4cf5
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2022-03-20 15:23:35 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2022-03-20 15:29:01 +0000

    biology/bolt-lmm: Update to 2.3.6
    
    Changes: https://alkesgroup.broadinstitute.org/BOLT-LMM/\
             BOLT-LMM_manual.html#x1-60002.1
    
    Also fixed build on aarch64: Replaced non-portable _mm_malloc() with
    aligned_alloc()
    
    Reported by:    pkg-fallout
---
 biology/bolt-lmm/Makefile                        |  9 +++------
 biology/bolt-lmm/distinfo                        |  6 +++---
 biology/bolt-lmm/files/patch-src_MemoryUtils.cpp | 12 ++++++++++++
 biology/bolt-lmm/files/patch-src_MemoryUtils.hpp | 12 ++++++++++++
 4 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/biology/bolt-lmm/Makefile b/biology/bolt-lmm/Makefile
index 7302e3ef897b..a1f1d09f21eb 100644
--- a/biology/bolt-lmm/Makefile
+++ b/biology/bolt-lmm/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	bolt-lmm
-DISTVERSION=	2.3.4
-PORTREVISION=	4
+DISTVERSION=	2.3.6
 CATEGORIES=	biology
 MASTER_SITES=	https://data.broadinstitute.org/alkesgroup/BOLT-LMM/downloads/
 DISTNAME=	BOLT-LMM_v${PORTVERSION}
@@ -15,9 +14,7 @@ LIB_DEPENDS=	libnlopt.so:math/nlopt \
 		libopenblas.so:math/openblas \
 		libboost_program_options.so:devel/boost-libs
 
-# gcc-c++11-lib needed to link with boost. Also requires compiler:openmp, but
-# both merely add a GCC requirement.
-USES=		compiler:gcc-c++11-lib gmake
+USES=		gmake
 
 BUILD_WRKSRC=		${WRKDIR}/${DISTNAME}/src
 INSTALL_WRKSRC=		${WRKDIR}/${DISTNAME}/src
@@ -32,7 +29,7 @@ MAKE_ARGS=		BOOST_INSTALL_DIR=${LOCALBASE} \
 			GLIBC_STATIC_DIR=/usr/lib \
 			SSEFLAGS="" \
 			MEMCPY="" \
-			LLAPACK="-lopenblas -lgfortran"
+			LLAPACK="-lopenblas"
 
 CONFLICTS_INSTALL=	rubygem-bolt # bin/bolt
 
diff --git a/biology/bolt-lmm/distinfo b/biology/bolt-lmm/distinfo
index 618a36d60050..4711694315b8 100644
--- a/biology/bolt-lmm/distinfo
+++ b/biology/bolt-lmm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1565528176
-SHA256 (BOLT-LMM_v2.3.4.tar.gz) = 2477faff5028ff8fee5d8f4e6b0cab6d0752b268fd508fe64530a66807d9b0c0
-SIZE (BOLT-LMM_v2.3.4.tar.gz) = 335128004
+TIMESTAMP = 1647782880
+SHA256 (BOLT-LMM_v2.3.6.tar.gz) = bc82a5166b3d2d480bcda1f4455c29e1018db733706d28c35d8bf8de7e1e85d5
+SIZE (BOLT-LMM_v2.3.6.tar.gz) = 335131602
diff --git a/biology/bolt-lmm/files/patch-src_MemoryUtils.cpp b/biology/bolt-lmm/files/patch-src_MemoryUtils.cpp
new file mode 100644
index 000000000000..e6a2f20061f9
--- /dev/null
+++ b/biology/bolt-lmm/files/patch-src_MemoryUtils.cpp
@@ -0,0 +1,12 @@
+--- src/MemoryUtils.cpp.orig	2022-03-20 14:01:47 UTC
++++ src/MemoryUtils.cpp
+@@ -26,7 +26,8 @@ void *ALIGNED_MALLOC(uint64 size) {
+ #ifdef USE_MKL_MALLOC
+   void *p = mkl_malloc(size, MEM_ALIGNMENT);
+ #else
+-  void *p = _mm_malloc(size, MEM_ALIGNMENT);
++  //void *p = _mm_malloc(size, MEM_ALIGNMENT);
++  void *p = aligned_alloc(MEM_ALIGNMENT, size);
+ #endif
+   // TODO: change to assert() or dispense with altogether and change ALIGNED_MALLOC to macro?
+   if (p == NULL) {
diff --git a/biology/bolt-lmm/files/patch-src_MemoryUtils.hpp b/biology/bolt-lmm/files/patch-src_MemoryUtils.hpp
new file mode 100644
index 000000000000..a9ccbd3d78e7
--- /dev/null
+++ b/biology/bolt-lmm/files/patch-src_MemoryUtils.hpp
@@ -0,0 +1,12 @@
+--- src/MemoryUtils.hpp.orig	2022-03-20 13:40:42 UTC
++++ src/MemoryUtils.hpp
+@@ -31,8 +31,7 @@ void *ALIGNED_MALLOC(uint64 size);
+ #include <mkl.h>
+ #define ALIGNED_FREE mkl_free
+ #else
+-#include <xmmintrin.h>
+-#define ALIGNED_FREE _mm_free
++#define ALIGNED_FREE free
+ #endif
+ 
+ #define ALIGNED_MALLOC_DOUBLES(numDoubles) (double *) ALIGNED_MALLOC((numDoubles)*sizeof(double))