git: 467908de32a3 - 2024Q4 - science/py-hoomd-blue: Fix build with LLVM 19

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Sun, 03 Nov 2024 17:57:32 UTC
The branch 2024Q4 has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=467908de32a3c1d82ae54130fec977846622ecb7

commit 467908de32a3c1d82ae54130fec977846622ecb7
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:56:55 +0000

    science/py-hoomd-blue: Fix build with LLVM 19
    
    Approved by:    portmgr (blanket)
    MFH:            2024Q4
    
    (cherry picked from commit 681ab3448b51a925c30d86c9ec698f82f22c4137)
---
 science/py-hoomd-blue/files/patch-hoomd_GPUFlags.h | 18 +++++++++++++
 ..._extern_nano-signal-slot_nano__signal__slot.hpp | 30 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)

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)