Some packagers use ctest by default to run tests. This is a small
easy-win to add to biboumi. In addition some distros don't use /etc as
their configuration path, and have to patch this out (see guix and nix),
so this is also an easy fix.
These tests require that fixed_irc_server is set, and will fail if
another test sets them.
This may not have been a problem before, but since the catch2 update CI
has encountered issues running these tests randomly, as the order of
which tests are ran in is now random.
On IRC it is confusing when an XMPP user "corrects" a message, but on
the other side a new message is sent. To prevent spam and confusion, do
not allow message corrections at all, and instead return an error if
attempted.
Fixes: #3436Fixes: #3480
The botan dependency has introduced a number of breaking changes with
version 3, a couple of which impact biboumi as well
This patch makes biboumi compatible with botan 3 and drops support for
botan 2 at the same time
As a consequence of the botan dependency update, C++ version has to be
upgraded to C++ 20
https://botan.randombit.net/handbook/migration_guide.html
This reverts commit 248e25c22f.
In preparation for the botan 3 update `IrcClient` must be made into a
`shared_ptr`, which will then allow us to pass a `shared_ptr` of
callbacks to `Botan::TLS::Client`
While cmake does need all of biboumi's dependencies to generate
documentation, there is an existing Makefile which does not. So we can
save some time by not downloading as many dependencies
To fully automate deployment of documentation pages to codeberg pages a
woodpecker CI file containing the build instruction is made.
This needs to install all of biboumi's dependencies as to work with
cmake, then generate the makefiles, and finally the actual documentation
as HTML.
Once that's done, push everything to a `pages` branch.