Eliminate uses of `config.cudaSupport or false` and alike, since the
option is now declared in config.nix with a default value
fd .nix -t f -x sed 's/config\.cudaSupport or false, cudaPackages [?] [{][}]/config.cudaSupport, cudaPackages ? { }/' '{}' -i
fd .nix -t f -x sed 's/config\.cudaSupport or false/config.cudaSupport/' '{}' -i
fd .nix -t f -x sed 's/cudaSupport = pkgs.config.cudaSupport/inherit (pkgs.config) cudaSupport/' '{}' -i
fd .nix -t f -x sed 's/cudaSupport = config.cudaSupport/inherit (config) cudaSupport/' '{}' -i
Same as commit e4d2b6fced3; I didn't notice this version suffered
from it as well. It's probably random/impurity anyway.
https://hydra.nixos.org/build/214981496
- use cudaPackages instead of cudatoolkit (reduces download/closure size)
- set C/C++ compiler when building with CUDA to ensure NVCC has an appropriate backing compiler
- add flag to build with CUDNN (disabled by default due to increase in closure size)
- add flag to build with LTO (enabled by default)
This is needed for faster builds when debugging the opencv derivation,
and it's more consistent with other cuda-enabled packages
-DCUDA_GENERATION seems to expect architecture names, so we refactor
cudaFlags to facilitate easier extraction of the configured archnames
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
In opencv 2.x, unfree libraries are built by default. The package
should therefore have been marked as unfree, but wasn't.
I've disabled the non-free libraries by default, and added an option
to enable them. There are three programs in Nixpkgs that depend on
opencv2: mathematica, pfstools, and p2pvc. pfstools requires the
non-free libraries if it's built with opencv support, so I've disabled
opencv by default there and added an option to enable it. p2pvc links
fine, so presumably doesn't need the non-free libraries. I can't test
mathematica, so I'm just going to leave it alone.
- Updated to 4.5.2
- Removed glog from buildInputs because of this error on python-opencv:
```
python -c "import cv2"
/nix/store/slfzk1gk74nfx3ky2vpdf9nb7b8nvdf2-opencv-4.5.2/lib/libopencv_sfm.so.4.5: error: symbol lookup error: undefined symbol: _ZN6google21kLogSiteUninitializedE (fatal)
```
- Enabled ffmpeg and gstreamer to open more video formats
- nixpkg-fmt