opencv3: add enableContrib flag

If true, enable the repository of extra modules for OpenCV.
Build tested.

Based on patch from Bas van Dijk <v.dijk.bas@gmail.com>.

+15 -3
+15 -3
pkgs/development/libraries/opencv/3.x.nix
··· 1 - { lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg 1 + { lib, stdenv, fetchurl, fetchzip, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg 2 2 , fetchpatch, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages, unzip 3 3 , enableIpp ? false 4 + , enableContrib ? false 4 5 , enableBloat ? false }: 5 6 6 - let v = "3.0.0"; in 7 + let 8 + v = "3.0.0"; 9 + 10 + contribSrc = fetchzip { 11 + url = "https://github.com/Itseez/opencv_contrib/archive/3.0.0.tar.gz"; 12 + sha256 = "1gx7f9v85hmzh37s0zaillg7bs6cy9prm3wl0jb5zc5zrf9d8bm8"; 13 + name = "opencv-contrib-3.0.0-src"; 14 + }; 15 + 16 + in 7 17 8 18 stdenv.mkDerivation rec { 9 19 name = "opencv-${v}"; ··· 33 43 34 44 nativeBuildInputs = [ cmake pkgconfig ]; 35 45 36 - cmakeFlags = [ "-DWITH_IPP=${if enableIpp then "ON" else "OFF"}" ]; 46 + cmakeFlags = [ 47 + "-DWITH_IPP=${if enableIpp then "ON" else "OFF"}" 48 + ] ++ stdenv.lib.optionals enableContrib [ "-DOPENCV_EXTRA_MODULES_PATH=${contribSrc}/modules" ]; 37 49 38 50 enableParallelBuilding = true; 39 51