This PR adds a patch from upstream that fixes C++20 support. [In C++20,
template parameters from the class template are no longer allowed in
constructors and destructors
declarations](https://eel.is/c++draft/diff.cpp17#class-2). The Qhull C++
headers have a few instances of these, and don't compile under compliant
C++20 (or later). Specifically, since version 11, GCC generates an error
diagnostic.
[While this has been fixed in the
upstream](https://github.com/qhull/qhull/pull/122), the slow Qhull
release cycle means it might be quite a while longer until a new
official release it available. It's already been a year and a half since
the fix, [and the next release is still in
alpha](https://github.com/qhull/qhull/wiki#qhull-81-alpha3-20230102)
with no clear timeline. As C++20 becomes more mainstream, I believe it's
important to ensure support for this library.
Recently when I was using vcpkg-qmake, I found that a function in the
`ports/vcpkg-qmake/vcpkg_qmake_configure.cmake` file was repeated:
be9eb66945/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake (L143)
By running this line of code, we will configure the generated `qt.conf`
file. At the same time, if the
`${CURRENT_BUILDTREES_DIR}/${config_triplet}/` path does not exist, we
will also generate it.
Then we back up the environment variables and run the code
be9eb66945/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake (L149)
to generate the existing path above.
This patch adds a port for libosdp - a cross-platform open source
implementation of IEC 60839-11-5 Open Supervised Device Protocol (OSDP).
The protocol is intended to improve interoperability among access
control and security products. It supports Secure Channel (SC) for
encrypted and authenticated communication between configured devices.
Upstream: https://github.com/goToMain/libosdp