git: 681ab3448b51 - main - science/py-hoomd-blue: Fix build with LLVM 19
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 03 Nov 2024 17:56:26 UTC
The branch main has been updated by jhale:
URL: https://cgit.FreeBSD.org/ports/commit/?id=681ab3448b51a925c30d86c9ec698f82f22c4137
commit 681ab3448b51a925c30d86c9ec698f82f22c4137
Author: Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-11-03 17:39:32 +0000
Commit: Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-11-03 17:55:10 +0000
science/py-hoomd-blue: Fix build with LLVM 19
Approved by: portmgr (blanket)
MFH: 2024Q4
---
science/py-hoomd-blue/Makefile | 2 --
science/py-hoomd-blue/files/patch-hoomd_GPUFlags.h | 18 +++++++++++++
..._extern_nano-signal-slot_nano__signal__slot.hpp | 30 ++++++++++++++++++++++
3 files changed, 48 insertions(+), 2 deletions(-)
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
@@ -12,8 +12,6 @@ WWW= https://glotzerlab.engin.umich.edu/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
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<T>::GPUFlags(const GPUFlags& from)
+ memclear();
+
+ // copy over the data to the new GPUFlags
+- this->resetFlags(from.readFlags);
++ this->resetFlags(from.readFlags());
+ }
+
+ template<class T> GPUFlags<T>& GPUFlags<T>::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<RT(Args...)> : private Observer
+ template <typename L>
+ void connect(L* instance)
+ {
+- Observer::insert(Delegate::template bind (instance), this);
++ Observer::insert(Delegate::bind (instance), this);
+ }
+ template <typename L>
+ void connect(L& instance)
+@@ -84,7 +84,7 @@ class Signal<RT(Args...)> : private Observer
+ template <typename L>
+ void disconnect(L* instance)
+ {
+- Observer::remove(Delegate::template bind (instance), this);
++ Observer::remove(Delegate::bind (instance), this);
+ }
+ template <typename L>
+ void disconnect(L& instance)