The exact version of libsignal-protocol-c used by dino is hard-coded to 2.3.2 because "libsignal-protocol-c has a history of breaking compatibility on the patch level". This prevents libsignal-protocol-c from being updated in https://github.com/NixOS/nixpkgs/pull/83736. Upstream already allows newer versions in the latest git master, so patch the source with this commit. Unfortunately patching doesn't work with git submodules but since the submodule is not used anyways, simply ignore this part of the patch.
An overlay by any other name would function just as well, but we generally use
`self: super:` for the regular overlays, and `python-self: python-super`.
The couchbase extension depends on the igbinary PECL which needs to be
loaded and loaded prior to it. It also seems like the pcs extension
isn't actually needed - it at least builds and loads without it. Since
the pcs extension dependency was the reason couchbase didn't build on
PHP 7.4 it now does, so let's unmark it broken.
The pcs extension fails to load at runtime with PHP 7.3, so let's mark
it broken from 7.3 onwards. It also depends on the tokenizer internal
extension.
Fix an issue brought up in #86463, where the apcu_bc extension isn't
loaded correctly since it produces a .so with a different name than
the extension name. Also, the apcu extension has to be loaded and
loaded prior to loading this extension.
Some PECLs depend on other PECLs and, like internal PHP extension
dependencies, need to be loaded in the correct order. This makes this
possible by adding the argument "peclDeps" to buildPecl, which adds
the extension to buildInputs and is treated the same way as
internalDeps when the extension config is generated.
flat hashes can be substituted through hashed-mirrors, while recursive
hashes can’t. This is especially important for Bazel since the bazel
fetch dependencies can come from multiple different methods (git,
http, ftp, etc.). To do this, we create tar archives from the
output/external directory, which is then extracted to build. All of
the Bazel hashes are all updated.