diff --git a/science/qmcpack/Makefile b/science/qmcpack/Makefile
index 3275a670a9df..bf22b3b00ae5 100644
--- a/science/qmcpack/Makefile
+++ b/science/qmcpack/Makefile
@@ -1,64 +1,64 @@
 PORTNAME=	qmcpack
 DISTVERSIONPREFIX=	v
-DISTVERSION=	3.15.0
-PORTREVISION=	6
+DISTVERSION=	3.17.1
 CATEGORIES=	science
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Many-body ab initio Quantum Monte Carlo code for quantum chemistry
-WWW=		https://www.qmcpack.org/
+WWW=		https://www.qmcpack.org/ \
+		https://github.com/QMCPACK/qmcpack
 
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BROKEN_i386=	undefined reference to `__atomic_load'
 
 LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
 		libfftw3.so:math/fftw3 \
 		libhdf5.so:science/hdf5 \
 		libmpich.so:net/mpich \
 		libopenblas.so:math/openblas \
 		libsz.so:science/libaec
 TEST_DEPENDS=	bash:shells/bash
 
 USES=		cmake:testing compiler:c++17-lang fortran gnome localbase:ldflags pkgconfig python shebangfix
 USE_GNOME=	libxml2
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	${PORTNAME:tu}
 
 SHEBANG_FILES=	src/QMCTools/gpaw4qmcpack.py \
 		${NEXUS_PLIST_FILES:C/^/nexus\//}
 SHEBANG_GLOB=	check.sh
 
 CMAKE_OFF=	BUILD_UNIT_TESTS
 CMAKE_ARGS=	-DFREEBSD_PYTHON_VER=${PYTHON_VER}
 CMAKE_TESTING_ON=	BUILD_UNIT_TESTS # many tests fail, see https://github.com/QMCPACK/qmcpack/issues/4274
 
 PROGS=		convert4qmc convertpw4qmc gpaw4qmcpack.py ppconvert qmc-check-affinity qmc-extract-eshdf-kvectors qmc-get-supercell qmcfinitesize qmcpack qmcpack.settings
 PLIST_FILES=	${PROGS:C/^/bin\//}
 
 BINARY_ALIAS=	python=${PYTHON_CMD} python3=${PYTHON_CMD}
 
 OPTIONS_DEFINE=		NEXUS
 OPTIONS_DEFAULT=	NEXUS
 OPTIONS_SUB=		yes
 
 NEXUS_DESC=		Install Nexus (workflow utility) alongside QMCPACK
 NEXUS_CMAKE_BOOL=	INSTALL_NEXUS
 NEXUS_PY_DEPENDS=	${PYNUMPY} \
 			${PYTHON_PKGNAMEPREFIX}h5py>0:science/py-h5py@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
 			${PYTHON_PKGNAMEPREFIX}pyscf>0:science/py-pyscf@${PY_FLAVOR}
 NEXUS_BUILD_DEPENDS=	${NEXUS_PY_DEPENDS}
 NEXUS_RUN_DEPENDS=	${NEXUS_PY_DEPENDS}
 NEXUS_PLIST_FILES=	bin/eshdf \
 			bin/nxs-redo \
 			bin/nxs-sim \
 			bin/nxs-test \
 			bin/qdens \
 			bin/qdens-radial \
 			bin/qmc-fit \
 			bin/qmca
 
 .include <bsd.port.mk>
diff --git a/science/qmcpack/distinfo b/science/qmcpack/distinfo
index a7c920cad7f5..1bbc215f233c 100644
--- a/science/qmcpack/distinfo
+++ b/science/qmcpack/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1665201281
-SHA256 (QMCPACK-qmcpack-v3.15.0_GH0.tar.gz) = cab0b78a481bac9f74d44d2ab5314443d5fb5891c5fbda4b9a46920c2aea6839
-SIZE (QMCPACK-qmcpack-v3.15.0_GH0.tar.gz) = 120993890
+TIMESTAMP = 1734220039
+SHA256 (QMCPACK-qmcpack-v3.17.1_GH0.tar.gz) = 5318e69a46c035986e560ea3d4c79dc273b67974f01715c93b017ce2a0098399
+SIZE (QMCPACK-qmcpack-v3.17.1_GH0.tar.gz) = 122344183
diff --git a/science/qmcpack/files/patch-CMakeLists.txt b/science/qmcpack/files/patch-CMakeLists.txt
index 7e555b7a8aff..b86e4b24b7b5 100644
--- a/science/qmcpack/files/patch-CMakeLists.txt
+++ b/science/qmcpack/files/patch-CMakeLists.txt
@@ -1,20 +1,20 @@
---- CMakeLists.txt.orig	2022-09-28 23:03:18 UTC
+--- CMakeLists.txt.orig	2023-08-25 11:42:03 UTC
 +++ CMakeLists.txt
-@@ -292,7 +292,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
+@@ -303,7 +303,7 @@ include(Testlibstdc++)
  include(Testlibstdc++)
  
  # Check that a C++ standard library is configured properly
 -include(TestCxx17Library)
 +#include(TestCxx17Library) # this test fails for clang-14 from base on 13-STABLE
  
  #-----------------------------------------------------------------------
  # SETUP SANITIZERS FLAGS
-@@ -1043,7 +1043,7 @@ include(CTest)
+@@ -1063,7 +1063,7 @@ include(CTest)
  #-------------------------------------------------------------------
  # Verify Python3 available
  #-------------------------------------------------------------------
 -find_package(Python3)
 +find_package(Python3 ${FREEBSD_PYTHON_VER} EXACT)
  if(NOT Python3_FOUND)
    message(FATAL_ERROR "Could not find required python3")
  endif(NOT Python3_FOUND)
diff --git a/science/qmcpack/files/patch-external__codes_mpi__wrapper_mpi3_include_mpi3_detail_package.hpp b/science/qmcpack/files/patch-external__codes_mpi__wrapper_mpi3_include_mpi3_detail_package.hpp
new file mode 100644
index 000000000000..74158d89089e
--- /dev/null
+++ b/science/qmcpack/files/patch-external__codes_mpi__wrapper_mpi3_include_mpi3_detail_package.hpp
@@ -0,0 +1,11 @@
+--- external_codes/mpi_wrapper/mpi3/include/mpi3/detail/package.hpp.orig	2024-12-15 00:09:27 UTC
++++ external_codes/mpi_wrapper/mpi3/include/mpi3/detail/package.hpp
+@@ -24,7 +24,7 @@ struct package : buffer {
+ 
+  public:
+ 	explicit package(communicator& comm, buffer::size_type n = 0)
+-	: buffer{n}, bcomm_{reinterpret_cast<basic_communicator&>(comm)} {  // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast) TODO(correaa) break cyclic dependency of classes
++	: buffer(static_cast<size_t>(n)), bcomm_{reinterpret_cast<basic_communicator&>(comm)} {  // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast) TODO(correaa) break cyclic dependency of classes
+ 		reserve(n);
+ 	}
+ 	package(package const&) = delete;