diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/opencv/3.x.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/opencv/3.x.nix | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/nixpkgs/pkgs/development/libraries/opencv/3.x.nix b/nixpkgs/pkgs/development/libraries/opencv/3.x.nix index 00c595d1d2da..40614f489b51 100644 --- a/nixpkgs/pkgs/development/libraries/opencv/3.x.nix +++ b/nixpkgs/pkgs/development/libraries/opencv/3.x.nix @@ -15,14 +15,14 @@ , enableContrib ? true , enableCuda ? (config.cudaSupport or false) && - stdenv.hostPlatform.isx86_64, cudatoolkit - + stdenv.hostPlatform.isx86_64 +, cudaPackages ? { } , enableUnfree ? false , enableIpp ? false , enablePython ? false, pythonPackages ? null , enableGtk2 ? false, gtk2 , enableGtk3 ? false, gtk3 -, enableVtk ? false, vtk +, enableVtk ? false, vtk_8 , enableFfmpeg ? false, ffmpeg , enableGStreamer ? false, gst_all_1 , enableTesseract ? false, tesseract, leptonica @@ -32,7 +32,7 @@ , enableDC1394 ? false, libdc1394 , enableDocs ? false, doxygen, graphviz-nox -, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2 +, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2, CoreMedia, MediaToolbox, Accelerate }: assert blas.implementation == "openblas" && lapack.implementation == "openblas"; @@ -40,20 +40,23 @@ assert blas.implementation == "openblas" && lapack.implementation == "openblas"; assert enablePython -> pythonPackages != null; let - version = "3.4.15"; + inherit (cudaPackages) cudatoolkit; + inherit (cudaPackages.cudaFlags) cudaCapabilities; + + version = "3.4.18"; src = fetchFromGitHub { owner = "opencv"; repo = "opencv"; rev = version; - hash = "sha256-dLwQM2VhVlBV4xazS2rItTscKYeeNlNT0G8G1A1mOmc="; + hash = "sha256-PgwAZNoPknFT0jCLt3TCzend6OYFY3iUIzDf/FptAYA="; }; contribSrc = fetchFromGitHub { owner = "opencv"; repo = "opencv_contrib"; rev = version; - hash = "sha256-FJDRMmSOT5jA+n2Ke0gEH7n5rgGvB1UzYpYZ1vmucjg="; + hash = "sha256-TEF/GHglOmsshlC6q4iw14ZMpvA0SaKwlidomAN+sRc="; }; # Contrib must be built in order to enable Tesseract support: @@ -155,11 +158,6 @@ stdenv.mkDerivation { # Ensures that we use the system OpenEXR rather than the vendored copy of the source included with OpenCV. patches = [ ./cmake-don-t-use-OpenCVFindOpenEXR.patch - # Fix usage of deprecated version of protobuf' SetTotalBytesLimit. Remove with the next release. - (fetchpatch { - url = "https://github.com/opencv/opencv/commit/384875f4fcf1782b10699a379aa245a03cb27a04.patch"; - sha256 = "1agwd0pm07m2dy8a62vmfl4n73dsmsdll2a73q6kara9wm3jlp41"; - }) ]; # This prevents cmake from using libraries in impure paths (which @@ -193,7 +191,7 @@ stdenv.mkDerivation { ++ lib.optional enablePython pythonPackages.python ++ lib.optional enableGtk2 gtk2 ++ lib.optional enableGtk3 gtk3 - ++ lib.optional enableVtk vtk + ++ lib.optional enableVtk vtk_8 ++ lib.optional enableJPEG libjpeg ++ lib.optional enablePNG libpng ++ lib.optional enableTIFF libtiff @@ -213,7 +211,9 @@ stdenv.mkDerivation { # tesseract & leptonica. ++ lib.optionals enableTesseract [ tesseract leptonica ] ++ lib.optional enableTbb tbb - ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ] + ++ lib.optionals stdenv.isDarwin [ + bzip2 AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox Accelerate + ] ++ lib.optionals enableDocs [ doxygen graphviz-nox ]; propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy @@ -221,7 +221,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake pkg-config unzip ]; - NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR"; + env.NIX_CFLAGS_COMPILE = lib.optionalString enableEXR "-I${ilmbase.dev}/include/OpenEXR"; # Configure can't find the library without this. OpenBLAS_HOME = lib.optionalString enableOpenblas openblas; @@ -247,13 +247,14 @@ stdenv.mkDerivation { "-DCUDA_FAST_MATH=ON" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" "-DCUDA_NVCC_FLAGS=--expt-relaxed-constexpr" + "-DCUDA_ARCH_BIN=${lib.concatStringsSep ";" cudaCapabilities}" + "-DCUDA_ARCH_PTX=${lib.last cudaCapabilities}" ] ++ lib.optionals stdenv.isDarwin [ "-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF" - "-DBUILD_opencv_videoio=OFF" ] ++ lib.optionals enablePython [ "-DOPENCV_SKIP_PYTHON_LOADER=ON" - ] ++ lib.optional enableEigen [ + ] ++ lib.optionals enableEigen [ # Autodetection broken by https://github.com/opencv/opencv/pull/13337 "-DEIGEN_INCLUDE_PATH=${eigen}/include/eigen3" ]; |