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.
- Pass `blas.provider` into `buildInputs`, so that CMake can find the actual
`mkl` for inspection of its cmake files and headers.
- Add `USE_MKL` correctly when the blas provider is `mkl`.
- Use the MKLDNN and MKLDNN_CBLAS flags by default, since `mkldnn` is FOSS and
always available..
- Remove a patch for MKL 2019, since we've moved to 2020.
- Add a pythonImportsCheck for "torch" as a basic sanity-check
- Removed some unused variables at the top of the file
Some already have it, this adds it to the rest.
With all extensions having an 'uuid' attr we can do cool things like
declaratively enable extensions on NixOS.