diff --git a/science/py-hoomd-blue/Makefile b/science/py-hoomd-blue/Makefile index e7929a59883d..13a2b9fe990f 100644 --- a/science/py-hoomd-blue/Makefile +++ b/science/py-hoomd-blue/Makefile @@ -1,71 +1,69 @@ PORTNAME= hoomd-blue DISTVERSIONPREFIX= v DISTVERSION= 4.9.1 CATEGORIES= science # physics PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Molecular dynamics and Monte Carlo soft matter simulation WWW= https://glotzerlab.engin.umich.edu/hoomd-blue/ \ https://github.com/glotzerlab/hoomd-blue LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN_FreeBSD_15= compilation fails with clang-19, see https://github.com/glotzerlab/hoomd-blue/issues/1924 - BUILD_DEPENDS= pybind11>0:devel/pybind11 USES= cmake:testing compiler:c++17-lang eigen:3 localbase:ldflags python shebangfix # see https://github.com/glotzerlab/hoomd-blue/issues/1204 USE_GITHUB= yes GH_ACCOUNT= glotzerlab GH_TUPLE= glotzerlab:upp11:0c1fb8d:glotzerlab_upp11/hoomd/extern/upp11 \ glotzerlab:nano-signal-slot:34223a4:glotzerlab_nano_signal_slot/hoomd/extern/nano-signal-slot \ glotzerlab:quickhull:1ffbc6f:glotzerlab_quickhull/hoomd/extern/quickhull \ glotzerlab:random123:a2c4f04:glotzerlab_random123/hoomd/extern/random123 \ glotzerlab:HIP:d211f99:glotzerlab_HIP/hoomd/extern/HIP \ glotzerlab:hipCUB:c70e193:glotzerlab_hipCUB/hoomd/extern/hipCUB \ mphowardlab:neighbor:ba0f068:mphowardlab_neighbor/hoomd/extern/neighbor \ mphowardlab:hipper:b6da049:mphowardlab_hipper/hoomd/extern/hipper SHEBANG_GLOB= *.sh CMAKE_OFF= BUILD_TESTING LDFLAGS+= -lexecinfo OPTIONS_DEFINE= TBB OPTIONS_SINGLE= MPI OPTIONS_SINGLE_MPI= NOMPI MPICH OPENMPI OPTIONS_DEFAULT= MPICH TBB OPTIONS_SUB= yes NOMPI_DESC= Build without parallel processing support NOMPI_CMAKE_ON= -DENABLE_MPI=OFF MPICH_USES= mpi:mpich MPICH_CMAKE_ON= -DENABLE_MPI=ON MPICH_BUILD_DEPENDS= cereal>0:devel/cereal OPENMPI_USES= mpi:openmpi OPENMPI_CMAKE_ON= -DENABLE_MPI=ON OPENMPI_BUILD_DEPENDS= cereal>0:devel/cereal OPENMPI_BROKEN= see https://github.com/glotzerlab/hoomd-blue/issues/1397 TBB_DESC= Enable support for Threading Building Blocks (TBB) TBB_CMAKE_BOOL= ENABLE_TBB TBB_LIB_DEPENDS= libtbb.so:devel/onetbb # the test mpi-test_communication requires excessive resources, see https://github.com/glotzerlab/hoomd-blue/issues/1396 .include post-patch: .if ${COMPILER_TYPE} == clang @${REINPLACE_CMD} -e 's|std::unary_function|std::__unary_function|' \ ${WRKSRC}/hoomd/ParticleData.cc .endif .include diff --git a/science/py-hoomd-blue/files/patch-hoomd_GPUFlags.h b/science/py-hoomd-blue/files/patch-hoomd_GPUFlags.h new file mode 100644 index 000000000000..9b655f55b4af --- /dev/null +++ b/science/py-hoomd-blue/files/patch-hoomd_GPUFlags.h @@ -0,0 +1,18 @@ +Fix build with LLVM 19 + +/wrkdirs/usr/ports/science/py-hoomd-blue/work/hoomd-blue-4.9.0/hoomd/GPUFlags.h:160:27: +error: reference to non-static member function must be called + 160 | this->resetFlags(from.readFlags); + | ~~~~~^~~~~~~~~ + +--- hoomd/GPUFlags.h.orig 2024-10-31 16:09:15 UTC ++++ hoomd/GPUFlags.h +@@ -157,7 +157,7 @@ GPUFlags::GPUFlags(const GPUFlags& from) + memclear(); + + // copy over the data to the new GPUFlags +- this->resetFlags(from.readFlags); ++ this->resetFlags(from.readFlags()); + } + + template GPUFlags& GPUFlags::operator=(const GPUFlags& rhs) diff --git a/science/py-hoomd-blue/files/patch-hoomd_extern_nano-signal-slot_nano__signal__slot.hpp b/science/py-hoomd-blue/files/patch-hoomd_extern_nano-signal-slot_nano__signal__slot.hpp new file mode 100644 index 000000000000..cd3fce241f6d --- /dev/null +++ b/science/py-hoomd-blue/files/patch-hoomd_extern_nano-signal-slot_nano__signal__slot.hpp @@ -0,0 +1,30 @@ +Fix build with LLVM 19 + +/wrkdirs/usr/ports/science/py-hoomd-blue/work/hoomd-blue-4.9.0/hoomd/extern/nano-signal-slot/nano_signal_slot.hpp:46:45: +error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] + 46 | Observer::insert(Delegate::template bind (instance), this); + | ^ +/wrkdirs/usr/ports/science/py-hoomd-blue/work/hoomd-blue-4.9.0/hoomd/extern/nano-signal-slot/nano_signal_slot.hpp:87:45: +error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] + 87 | Observer::remove(Delegate::template bind (instance), this); + +--- hoomd/extern/nano-signal-slot/nano_signal_slot.hpp.orig 2016-07-13 20:06:52 UTC ++++ hoomd/extern/nano-signal-slot/nano_signal_slot.hpp +@@ -43,7 +43,7 @@ class Signal : private Observer + template + void connect(L* instance) + { +- Observer::insert(Delegate::template bind (instance), this); ++ Observer::insert(Delegate::bind (instance), this); + } + template + void connect(L& instance) +@@ -84,7 +84,7 @@ class Signal : private Observer + template + void disconnect(L* instance) + { +- Observer::remove(Delegate::template bind (instance), this); ++ Observer::remove(Delegate::bind (instance), this); + } + template + void disconnect(L& instance)