diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index eed77b9113a..365f11f88f0 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg , fetchpatch, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages, unzip +, enableIpp ? false , enableBloat ? false }: let v = "3.0.0"; in @@ -12,15 +13,27 @@ stdenv.mkDerivation rec { sha256 = "00dh7wvgkflz22liqd10fma8m3395lb3l3rgawnn5wlnz6i4w287"; }; + postPatch = + let ippicv = fetchurl { + url = "http://sourceforge.net/projects/opencvlibrary/files/3rdparty/ippicv/${ippicvName}"; + md5 = ippicvHash; + }; + ippicvName = "ippicv_linux_20141027.tgz"; + ippicvHash = "8b449a536a2157bcad08a2b9f266828b"; + ippicvArchive = "3rdparty/ippicv/downloads/linux-${ippicvHash}/${ippicvName}"; + in stdenv.lib.optionalString enableIpp + '' + mkdir -p $(dirname ${ippicvArchive}) + ln -s ${ippicv} ${ippicvArchive} + ''; + buildInputs = [ unzip libjpeg libpng libtiff ] ++ lib.optionals enableBloat [ gtk glib jasper ffmpeg xineLib gstreamer python27 python27Packages.numpy ]; nativeBuildInputs = [ cmake pkgconfig ]; - # TODO: Pre-download IPP so that OpenCV doesn't try to download it itself - # (which fails). - cmakeFlags = [ "-DWITH_IPP=OFF" ]; + cmakeFlags = [ "-DWITH_IPP=${if enableIpp then "ON" else "OFF"}" ]; enableParallelBuilding = true;