git: 336ad90a0c16 - main - biology/bolt-lmm: Update to 2.5

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Fri, 04 Sep 2026 21:16:31 UTC
The branch main has been updated by jwb:

URL: https://cgit.FreeBSD.org/ports/commit/?id=336ad90a0c166c2e51407494ef87829fb204c2c0

commit 336ad90a0c166c2e51407494ef87829fb204c2c0
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2026-09-04 21:15:33 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2026-09-04 21:15:33 +0000

    biology/bolt-lmm: Update to 2.5
    
    Numerous fixes and enhancements
    Changes: https://storage.googleapis.com/broad-alkesgroup-public/ \
             BOLT-LMM/BOLT-LMM_manual.html#x1-60002.1
    
    Reported by:    Repology
---
 biology/bolt-lmm/Makefile                 |  6 +--
 biology/bolt-lmm/distinfo                 |  6 +--
 biology/bolt-lmm/files/patch-src_Makefile | 66 ++++++++++++++++---------------
 biology/bolt-lmm/pkg-plist                |  4 +-
 4 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/biology/bolt-lmm/Makefile b/biology/bolt-lmm/Makefile
index 1f6c41bbf7be..cbf697fb1e86 100644
--- a/biology/bolt-lmm/Makefile
+++ b/biology/bolt-lmm/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	bolt-lmm
-DISTVERSION=	2.3.6
-PORTREVISION=	19
+DISTVERSION=	2.5
 CATEGORIES=	biology
 MASTER_SITES=	https://data.broadinstitute.org/alkesgroup/BOLT-LMM/downloads/
 DISTNAME=	BOLT-LMM_v${PORTVERSION}
@@ -14,7 +13,8 @@ LICENSE_FILE=	${WRKSRC}/license.txt
 
 LIB_DEPENDS=	libnlopt.so:math/nlopt \
 		libopenblas.so:math/openblas \
-		libboost_program_options.so:devel/boost-libs
+		libboost_program_options.so:devel/boost-libs \
+		libzstd.so:archivers/zstd
 
 USES=		gmake
 
diff --git a/biology/bolt-lmm/distinfo b/biology/bolt-lmm/distinfo
index 4711694315b8..1906bcda602f 100644
--- a/biology/bolt-lmm/distinfo
+++ b/biology/bolt-lmm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1647782880
-SHA256 (BOLT-LMM_v2.3.6.tar.gz) = bc82a5166b3d2d480bcda1f4455c29e1018db733706d28c35d8bf8de7e1e85d5
-SIZE (BOLT-LMM_v2.3.6.tar.gz) = 335131602
+TIMESTAMP = 1788532787
+SHA256 (BOLT-LMM_v2.5.tar.gz) = a5fdc49f79f42aa007282d9080e5b97c6ef2aab25ace2af306f432c44eedebca
+SIZE (BOLT-LMM_v2.5.tar.gz) = 221424899
diff --git a/biology/bolt-lmm/files/patch-src_Makefile b/biology/bolt-lmm/files/patch-src_Makefile
index cf667e25edd4..388dead3f8f4 100644
--- a/biology/bolt-lmm/files/patch-src_Makefile
+++ b/biology/bolt-lmm/files/patch-src_Makefile
@@ -1,34 +1,33 @@
---- src/Makefile.orig	2019-08-11 03:05:04 UTC
+--- src/Makefile.orig	2025-06-21 19:47:39 UTC
 +++ src/Makefile
-@@ -1,31 +1,35 @@
-+
+@@ -1,33 +1,38 @@
  ### modify these paths to local Boost and NLopt install directories
 -BOOST_INSTALL_DIR = /home/pl88/boost_1_58_0/install
 -NLOPT_INSTALL_DIR = /n/groups/price/poru/HSPH_SVN/src/BOLT-LMM/nlopt-2.4.2
-+### by setting them in the environment or make command line args
-+### which will override variables set with ?=
++### or set them as make arguments or environment variables.
++BOOST_INSTALL_DIR ?= /home/pl88/boost_1_58_0/install
++NLOPT_INSTALL_DIR ?= /n/groups/price/poru/HSPH_SVN/src/BOLT-LMM/nlopt-2.4.2
  
 -INTELROOT = /n/groups/price/poru/external_software/intel_mkl_2019u4
 -MKLROOT = ${INTELROOT}/mkl
 -ZLIB_STATIC_DIR = /n/groups/price/poru/external_software/zlib/zlib-1.2.11 # probably unnecessary on most systems
 -LIBSTDCXX_STATIC_DIR = /n/groups/price/poru/external_software/libstdc++/usr/lib/gcc/x86_64-redhat-linux/4.8.5/
 -GLIBC_STATIC_DIR = /home/pl88/glibc-static/usr/lib64
-+BOOST_INSTALL_DIR ?= /home/pl88/boost_1_58_0/install
-+NLOPT_INSTALL_DIR ?= /n/groups/price/poru/HSPH_SVN/src/BOLT-LMM/nlopt-2.4.2
- 
 +INTELROOT ?= /n/groups/price/poru/external_software/intel_mkl_2019u4
 +MKLROOT ?= ${INTELROOT}/mkl
 +ZLIB_STATIC_DIR ?= /n/groups/price/poru/external_software/zlib/zlib-1.2.11 # probably unnecessary on most systems
 +LIBSTDCXX_STATIC_DIR ?= /n/groups/price/poru/external_software/libstdc++/usr/lib/gcc/x86_64-redhat-linux/4.8.5/
 +GLIBC_STATIC_DIR ?= /home/pl88/glibc-static/usr/lib64
-+
+ 
+-ZSTD_DIR = /n/data1/bwh/medicine/loh/ploh/external_software/zstd-1.5.2/lib
++ZSTD_DIR ?= /n/data1/bwh/medicine/loh/ploh/external_software/zstd-1.5.2/lib
+ 
  ifeq ($(strip ${linking}),)
  	linking = dynamic
  endif
  
--# CC = g++
+ # CC = g++
 -CC = icpc
-+# CXX = g++
 +CXX ?= icpc
  
  ifeq (${debug},true)
@@ -39,39 +38,42 @@
 +	CXXFLAGS += -O2
  endif
  
--CFLAGS += -msse -msse2
+-CFLAGS += -msse2 -mavx
+-CFLAGS += -std=c++11
 -CFLAGS += -DUSE_SSE -DMEASURE_DGEMM -DVERBOSE
 -CFLAGS += -Wall
++# CXXFLAGS += -msse2 -mavx
++CXXFLAGS += -std=c++14
++# CXXFLAGS += -DUSE_SSE -DMEASURE_DGEMM -DVERBOSE
++# CXXFLAGS += -Wall
+ 
 +# Set SSEFLAGS to empty string in the env or make command line if building on
 +# systems with no SSE such as PowerPC
-+SSEFLAGS ?= -msse -msse2 -DUSE_SSE
++SSEFLAGS ?= -msse -msse2 -DUSE_SSE -DMEASURE_DGEMM -DVERBOSE
 +CXXFLAGS += ${SSEFLAGS} -DMEASURE_DGEMM -DVERBOSE -Wall
  
--
  # add Boost include and lib paths
  ifneq ($(strip ${BOOST_INSTALL_DIR}),)
- 	CPATHS += -I${BOOST_INSTALL_DIR}/include
-@@ -52,7 +56,7 @@ ifneq ($(strip ${ZLIB_STATIC_DIR}),)
- endif
+@@ -59,7 +64,7 @@ LPATHS += -L${ZSTD_DIR}
+ LPATHS += -L${ZSTD_DIR}
  
  # add MKL paths (if not compiling with g++, i.e., compiling with icpc)
 -ifneq (${CC},g++)
-+ifeq (${CXX},icpc)
++ifneq (${CXX},g++)
  	CPATHS += -I${MKLROOT}/include
  	ifeq (${linking},static)
  		LPATHS += -L${INTELROOT}/lib/intel64 '-Wl,-rpath,$$ORIGIN/lib' # for libiomp5.so (now packaged with binary)
-@@ -65,34 +69,34 @@ ifneq (${CC},g++)
+@@ -72,34 +77,33 @@ endif
  endif
  
  # add flags for static linking; build LAPACK/MKL component of link line
 -ifeq (${CC},g++)
 -	CFLAGS += -fopenmp
 -	LFLAGS += -fopenmp
--	LLAPACK = -llapack -lgfortran
-+ifneq (${CXX},icpc)
++ifeq (${CXX},c++)
 +	CXXFLAGS += -fopenmp
 +	LDFLAGS += -fopenmp
-+	LLAPACK ?= -llapack -lgfortran
+ 	LLAPACK = -llapack -lgfortran
  	ifeq (${linking},static)
 -		LFLAGS += -static
 +		LDFLAGS += -static
@@ -86,9 +88,8 @@
 -	CFLAGS += -qopenmp
 -	LFLAGS += -qopenmp
 -	CFLAGS += -Wunused-variable -Wpointer-arith -Wuninitialized -Wreturn-type -Wcheck -Wshadow
-+	CXXFLAGS += -DUSE_MKL #-DUSE_MKL_MALLOC
-+	CXXFLAGS += -qopenmp
-+	LDFLAGS += -qopenmp
++	CXXFLAGS += -fopenmp
++	LDFLAGS += -fopenmp
 +	CXXFLAGS += -Wunused-variable -Wpointer-arith -Wuninitialized -Wreturn-type -Wcheck -Wshadow
  	LIOMP5 = -liomp5
  	LDL = -ldl
@@ -96,33 +97,34 @@
 -		LFLAGS += -static
 +		LDFLAGS += -static
  		LPATHS += -L${GLIBC_STATIC_DIR} -L${ZLIB_STATIC_DIR}
- 		LLAPACK = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
+-		LLAPACK = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
++		LLAPACK ?= -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
  	else ifeq (${linking},static-except-glibc)
 -		LFLAGS += -static-intel -static-libstdc++ -static-libgcc
 +		LDFLAGS += -static-intel -static-libstdc++ -static-libgcc
  		LPATHS += -L${ZLIB_STATIC_DIR}
- 		LLAPACK = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
+-		LLAPACK = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
++		LLAPACK ?= -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
  	else ifeq (${linking},static-except-glibc-intel)
 -		LFLAGS += -static-libstdc++ -static-libgcc
 +		LDFLAGS += -static-libstdc++ -static-libgcc
  		LPATHS += -L${ZLIB_STATIC_DIR}
  		LLAPACK = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
  	else
-@@ -105,7 +109,7 @@ else
+@@ -112,7 +116,7 @@ endif
  endif
  
  # build link line (minus flags)
--LLIBS = -lboost_program_options -lboost_iostreams -lz -lnlopt
-+LLIBS = -lnlopt -lboost_program_options -lboost_iostreams -lz
+-LLIBS = -lboost_program_options -lboost_iostreams -lzstd -lz -lnlopt
++LLIBS = -lnlopt -lboost_program_options -lboost_iostreams -lzstd -lz
  ifeq (${linking},static-except-glibc)
  	L = -L${LIBSTDCXX_STATIC_DIR} ${LPATHS} -Wl,--wrap=memcpy -Wl,-Bstatic ${LLIBS} ${LLAPACK} -Wl,-Bdynamic ${LIOMP5} -lpthread -lm ${LDL}
  else ifeq (${linking},static-except-glibc-intel)
-@@ -117,16 +121,20 @@ endif
+@@ -124,16 +128,19 @@ T = bolt
  
  
  T = bolt
 -O = Bolt.o BoltParams.o BoltParEstCV.o BoltReml.o CovariateBasis.o DataMatrix.o FileUtils.o Jackknife.o LDscoreCalibration.o MapInterpolater.o MatrixUtils.o MemoryUtils.o NonlinearOptMulti.o NumericUtils.o PhenoBuilder.o RestrictSnpSet.o SnpData.o SnpInfo.o SpectrumTools.o StatsUtils.o StringUtils.o Timer.o memcpy.o
-+# Set to empty string in env or make command line to use system memcpy
 +MEMCPY ?= memcpy.o
 +O = Bolt.o BoltParams.o BoltParEstCV.o BoltReml.o CovariateBasis.o DataMatrix.o FileUtils.o Jackknife.o LDscoreCalibration.o MapInterpolater.o MatrixUtils.o MemoryUtils.o NonlinearOptMulti.o NumericUtils.o PhenoBuilder.o RestrictSnpSet.o SnpData.o SnpInfo.o SpectrumTools.o StatsUtils.o StringUtils.o Timer.o ${MEMCPY}
  OMAIN = BoltMain.o $O
diff --git a/biology/bolt-lmm/pkg-plist b/biology/bolt-lmm/pkg-plist
index 775d8677706f..90100398cdde 100644
--- a/biology/bolt-lmm/pkg-plist
+++ b/biology/bolt-lmm/pkg-plist
@@ -1,6 +1,4 @@
 bin/bolt
-%%DATADIR%%/tables/LDSCORE.1000G_EUR.tab.gz
-%%DATADIR%%/tables/genetic_map_hg17_withX.txt.gz
-%%DATADIR%%/tables/genetic_map_hg18_withX.txt.gz
+%%DATADIR%%/tables/LDSCORE.1000G_EUR.GRCh38.tab.gz
 %%DATADIR%%/tables/genetic_map_hg19_withX.txt.gz
 %%DATADIR%%/tables/genetic_map_hg38_withX.txt.gz