mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-18 02:46:28 +00:00
opencv3: add enableIpp flag
Intel Integrated Performance Primitives (IPP) speeds up parts of OpenCV on Intel processors (and compatible). It increases the store path from 220 MiB to 300 MiB, so it defaults to off. Original patch from Bas van Dijk <v.dijk.bas@gmail.com>. I tried applying the same change to opencv(2.x). OpenCV 2.x didn't automatically detect IPP, so I reverted the change.
This commit is contained in:
parent
c94a625585
commit
affcf2e030
|
@ -1,5 +1,6 @@
|
||||||
{ lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
|
{ lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
|
||||||
, fetchpatch, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages, unzip
|
, fetchpatch, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages, unzip
|
||||||
|
, enableIpp ? false
|
||||||
, enableBloat ? false }:
|
, enableBloat ? false }:
|
||||||
|
|
||||||
let v = "3.0.0"; in
|
let v = "3.0.0"; in
|
||||||
|
@ -12,15 +13,27 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "00dh7wvgkflz22liqd10fma8m3395lb3l3rgawnn5wlnz6i4w287";
|
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 =
|
buildInputs =
|
||||||
[ unzip libjpeg libpng libtiff ]
|
[ unzip libjpeg libpng libtiff ]
|
||||||
++ lib.optionals enableBloat [ gtk glib jasper ffmpeg xineLib gstreamer python27 python27Packages.numpy ];
|
++ lib.optionals enableBloat [ gtk glib jasper ffmpeg xineLib gstreamer python27 python27Packages.numpy ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
|
||||||
# TODO: Pre-download IPP so that OpenCV doesn't try to download it itself
|
cmakeFlags = [ "-DWITH_IPP=${if enableIpp then "ON" else "OFF"}" ];
|
||||||
# (which fails).
|
|
||||||
cmakeFlags = [ "-DWITH_IPP=OFF" ];
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue