opencv: 3.3.1 -> 3.4.0
This commit is contained in:
parent
56ec6ee97e
commit
965e5c24d6
@ -1,6 +1,7 @@
|
|||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchurl, fetchFromGitHub
|
, fetchurl, fetchFromGitHub
|
||||||
, cmake, pkgconfig, unzip, zlib, pcre, hdf5
|
, cmake, pkgconfig, unzip, zlib, pcre, hdf5
|
||||||
|
, caffe, glog, boost, google-gflags, protobuf
|
||||||
, config
|
, config
|
||||||
|
|
||||||
, enableJPEG ? true, libjpeg
|
, enableJPEG ? true, libjpeg
|
||||||
@ -15,33 +16,37 @@
|
|||||||
, enableCuda ? (config.cudaSupport or false), cudatoolkit
|
, enableCuda ? (config.cudaSupport or false), cudatoolkit
|
||||||
|
|
||||||
, enableIpp ? false
|
, enableIpp ? false
|
||||||
, enableContrib ? false #, caffe, glog, boost, google-gflags
|
, enableContrib ? false
|
||||||
, enablePython ? false, pythonPackages
|
, enablePython ? false, pythonPackages
|
||||||
, enableGtk2 ? false, gtk2
|
, enableGtk2 ? false, gtk2
|
||||||
, enableGtk3 ? false, gtk3
|
, enableGtk3 ? false, gtk3
|
||||||
|
, enableVtk ? false, vtk
|
||||||
, enableFfmpeg ? false, ffmpeg
|
, enableFfmpeg ? false, ffmpeg
|
||||||
, enableGStreamer ? false, gst_all_1
|
, enableGStreamer ? false, gst_all_1
|
||||||
, enableTesseract ? false, tesseract, leptonica
|
, enableTesseract ? false, tesseract, leptonica
|
||||||
|
, enableOvis ? false, ogre
|
||||||
|
, enableGPhoto2 ? false, libgphoto2
|
||||||
|
, enableDC1394 ? false, libdc1394
|
||||||
, enableDocs ? false, doxygen, graphviz-nox
|
, enableDocs ? false, doxygen, graphviz-nox
|
||||||
|
|
||||||
, AVFoundation, Cocoa, QTKit, VideoDecodeAcceleration, bzip2
|
, AVFoundation, Cocoa, QTKit, VideoDecodeAcceleration, bzip2
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.3.1";
|
version = "3.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "opencv";
|
owner = "opencv";
|
||||||
repo = "opencv";
|
repo = "opencv";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1jq8nny78gp54yjgsnb2rdp5rwhp78b3r2i36b2vyx6xk6h6wwji";
|
sha256 = "1nc14kvsjwaisv7d1r6f0hn7na9zr2cm2zh3hd3r9qwm3g78xnac";
|
||||||
};
|
};
|
||||||
|
|
||||||
contribSrc = fetchFromGitHub {
|
contribSrc = fetchFromGitHub {
|
||||||
owner = "opencv";
|
owner = "opencv";
|
||||||
repo = "opencv_contrib";
|
repo = "opencv_contrib";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0q5vsa8dpa3mdhzas0ckagwh2sbckpm1kxsp0i3yfknsr5ampyi2";
|
sha256 = "1cxw7nra3f1hng057c6hi1ynsyqdazd69irjdgn8xjg6q9h76br0";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Contrib must be built in order to enable Tesseract support:
|
# Contrib must be built in order to enable Tesseract support:
|
||||||
@ -104,6 +109,20 @@ let
|
|||||||
dst = ".cache/xfeatures2d/boostdesc";
|
dst = ".cache/xfeatures2d/boostdesc";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# See opencv_contrib/modules/face/CMakeLists.txt
|
||||||
|
face = {
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "opencv";
|
||||||
|
repo = "opencv_3rdparty";
|
||||||
|
rev = "8afa57abc8229d611c4937165d20e2a2d9fc5a12";
|
||||||
|
sha256 = "061lsvqdidq9xa2hwrcvwi9ixflr2c2lfpc8drr159g68zi8bp4v";
|
||||||
|
};
|
||||||
|
files = {
|
||||||
|
"face_landmark_model.dat" = "7505c44ca4eb54b4ab1e4777cb96ac05";
|
||||||
|
};
|
||||||
|
dst = ".cache/data";
|
||||||
|
};
|
||||||
|
|
||||||
# See opencv/cmake/OpenCVDownload.cmake
|
# See opencv/cmake/OpenCVDownload.cmake
|
||||||
installExtraFiles = extra : with lib; ''
|
installExtraFiles = extra : with lib; ''
|
||||||
mkdir -p "${extra.dst}"
|
mkdir -p "${extra.dst}"
|
||||||
@ -151,16 +170,19 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
${installExtraFiles vgg}
|
${installExtraFiles vgg}
|
||||||
${installExtraFiles boostdesc}
|
${installExtraFiles boostdesc}
|
||||||
|
${installExtraFiles face}
|
||||||
|
|
||||||
mkdir -p "${tinyDnn.dst}"
|
mkdir -p "${tinyDnn.dst}"
|
||||||
ln -s "${tinyDnn.src}" "${tinyDnn.dst}/${tinyDnn.md5}-${tinyDnn.name}"
|
ln -s "${tinyDnn.src}" "${tinyDnn.dst}/${tinyDnn.md5}-${tinyDnn.name}"
|
||||||
'');
|
'');
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ zlib pcre hdf5 ]
|
[ zlib pcre hdf5 glog boost google-gflags protobuf ]
|
||||||
|
++ lib.optional (!stdenv.isDarwin) caffe
|
||||||
++ lib.optional enablePython pythonPackages.python
|
++ lib.optional enablePython pythonPackages.python
|
||||||
++ lib.optional enableGtk2 gtk2
|
++ lib.optional enableGtk2 gtk2
|
||||||
++ lib.optional enableGtk3 gtk3
|
++ lib.optional enableGtk3 gtk3
|
||||||
|
++ lib.optional enableVtk vtk
|
||||||
++ lib.optional enableJPEG libjpeg
|
++ lib.optional enableJPEG libjpeg
|
||||||
++ lib.optional enablePNG libpng
|
++ lib.optional enablePNG libpng
|
||||||
++ lib.optional enableTIFF libtiff
|
++ lib.optional enableTIFF libtiff
|
||||||
@ -171,6 +193,9 @@ stdenv.mkDerivation rec {
|
|||||||
++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
|
++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
|
||||||
[ VideoDecodeAcceleration bzip2 ]
|
[ VideoDecodeAcceleration bzip2 ]
|
||||||
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
|
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
|
||||||
|
++ lib.optional enableOvis ogre
|
||||||
|
++ lib.optional enableGPhoto2 libgphoto2
|
||||||
|
++ lib.optional enableDC1394 libdc1394
|
||||||
++ lib.optional enableEigen eigen
|
++ lib.optional enableEigen eigen
|
||||||
++ lib.optional enableOpenblas openblas
|
++ lib.optional enableOpenblas openblas
|
||||||
# There is seemingly no compile-time flag for Tesseract. It's
|
# There is seemingly no compile-time flag for Tesseract. It's
|
||||||
@ -178,11 +203,6 @@ stdenv.mkDerivation rec {
|
|||||||
# tesseract & leptonica.
|
# tesseract & leptonica.
|
||||||
++ lib.optionals enableTesseract [ tesseract leptonica ]
|
++ lib.optionals enableTesseract [ tesseract leptonica ]
|
||||||
++ lib.optional enableCuda cudatoolkit
|
++ lib.optional enableCuda cudatoolkit
|
||||||
|
|
||||||
# These are only needed for the currently disabled
|
|
||||||
# cnn_3dobj and dnn_modern modules
|
|
||||||
# ++ lib.optionals buildContrib [ caffe glog boost google-gflags ]
|
|
||||||
|
|
||||||
++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ]
|
++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ]
|
||||||
++ lib.optionals enableDocs [ doxygen graphviz-nox ];
|
++ lib.optionals enableDocs [ doxygen graphviz-nox ];
|
||||||
|
|
||||||
@ -206,16 +226,7 @@ stdenv.mkDerivation rec {
|
|||||||
] ++ lib.optionals enableCuda [
|
] ++ lib.optionals enableCuda [
|
||||||
"-DCUDA_FAST_MATH=ON"
|
"-DCUDA_FAST_MATH=ON"
|
||||||
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc"
|
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc"
|
||||||
] ++ lib.optionals buildContrib [
|
]
|
||||||
# the cnn_3dobj module fails to build
|
|
||||||
"-DBUILD_opencv_cnn_3dobj=OFF"
|
|
||||||
|
|
||||||
# the dnn_modern module causes:
|
|
||||||
# https://github.com/opencv/opencv_contrib/issues/823
|
|
||||||
#
|
|
||||||
# On OS X its dependency tiny-dnn-1.0.0a3 also fails to build.
|
|
||||||
"-DBUILD_opencv_dnn_modern=OFF"
|
|
||||||
]
|
|
||||||
++ lib.optionals stdenv.isDarwin ["-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF"];
|
++ lib.optionals stdenv.isDarwin ["-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF"];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user