My understanding of the line that is removed is, that the logic is
wrong. According to the setup.py file[0] it says that:
> To exclude certain options in the cmake config use --no:
> for example:
> --no USE_AVX_INSTRUCTIONS: will set -DUSE_AVX_INSTRUCTIONS=no
This means, that a true value of `avxSupport` will deactivate it in the
setup, which is not what we want.
[0]: https://github.com/davisking/dlib/blob/v19.21/setup.py#L22
The CMake configuring is done in the `setup.py` and doesn't need to be
done by the setup hook. This broke the build as the setup-hook switches
into `source/build` which doesn't have a `setup.py`.
Relying on the setup script from upstream fixes the issue.
ZHF #68361
Especially older hardware doesn't support AVX instructions. DLib is
still functional there, but significantly slower[1].
By setting `avxInstructions` to false, DLib will be compiled without
this feature.
[1] http://dlib.net/compile.html
Initially the expression was quite small (just inherited properties from
`pkgs.dlib`), but the more it grows the better it is to store it into
its own file.
This fixes the latest `dlib` build for `nixpkgs` compliancy:
* Patched `setup.py` to use number of jobs defined in `$NIX_BUILD_CORES`
rather than using all available cores.
* Bumped `dlib` to latest version (v19.13 ATM).
* Dropped `openblas` build input, `cblas` which actually works lives in
`dlib/external`. Otherwise the test suite runs into segfaults (see
https://github.com/NixOS/nixpkgs/pull/39255#issuecomment-384535129 for
further reference).
* Added myself as maintainer in case of any further breakage in the
future.
Closes#39255
/cc @dotlambda @ryantm