opencv: Add optional Tesseract support
This commit is contained in:
parent
f732d81641
commit
c27f692de6
1 changed files with 12 additions and 4 deletions
|
@ -17,6 +17,7 @@
|
||||||
, enableEigen ? false, eigen
|
, enableEigen ? false, eigen
|
||||||
, enableOpenblas ? false, openblas
|
, enableOpenblas ? false, openblas
|
||||||
, enableCuda ? false, cudatoolkit, gcc5
|
, enableCuda ? false, cudatoolkit, gcc5
|
||||||
|
, enableTesseract ? false, tesseract, leptonica
|
||||||
, AVFoundation, Cocoa, QTKit
|
, AVFoundation, Cocoa, QTKit
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -44,6 +45,9 @@ let
|
||||||
sha256 = "11dsq8dwh1k6f7zglbc26xwsjw184ggf2531mhf7v77kd72k19fm";
|
sha256 = "11dsq8dwh1k6f7zglbc26xwsjw184ggf2531mhf7v77kd72k19fm";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Contrib must be built in order to enable Tesseract support:
|
||||||
|
buildContrib = enableContrib || enableTesseract;
|
||||||
|
|
||||||
vggFiles = fetchFromGitHub {
|
vggFiles = fetchFromGitHub {
|
||||||
owner = "opencv";
|
owner = "opencv";
|
||||||
repo = "opencv_3rdparty";
|
repo = "opencv_3rdparty";
|
||||||
|
@ -66,7 +70,7 @@ stdenv.mkDerivation rec {
|
||||||
inherit version src;
|
inherit version src;
|
||||||
|
|
||||||
postUnpack =
|
postUnpack =
|
||||||
(lib.optionalString enableContrib ''
|
(lib.optionalString buildContrib ''
|
||||||
cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib"
|
cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib"
|
||||||
|
|
||||||
# This fixes the build on OS X.
|
# This fixes the build on OS X.
|
||||||
|
@ -118,7 +122,7 @@ stdenv.mkDerivation rec {
|
||||||
ln -s "${ippicv}" "${dir}/${name}"
|
ln -s "${ippicv}" "${dir}/${name}"
|
||||||
''
|
''
|
||||||
) +
|
) +
|
||||||
(lib.optionalString enableContrib ''
|
(lib.optionalString buildContrib ''
|
||||||
cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/opencv_contrib")
|
cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/opencv_contrib")
|
||||||
'');
|
'');
|
||||||
|
|
||||||
|
@ -137,8 +141,12 @@ stdenv.mkDerivation rec {
|
||||||
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
|
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
|
||||||
++ 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
|
||||||
|
# simply enabled automatically if contrib is built, and it detects
|
||||||
|
# tesseract & leptonica.
|
||||||
|
++ lib.optionals enableTesseract [ tesseract leptonica ]
|
||||||
++ lib.optionals enableCuda [ cudatoolkit gcc5 ]
|
++ lib.optionals enableCuda [ cudatoolkit gcc5 ]
|
||||||
++ lib.optional enableContrib protobuf3_1
|
++ lib.optional buildContrib protobuf3_1
|
||||||
++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ];
|
++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ];
|
||||||
|
|
||||||
propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
|
propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
|
||||||
|
@ -158,7 +166,7 @@ stdenv.mkDerivation rec {
|
||||||
(opencvFlag "CUDA" enableCuda)
|
(opencvFlag "CUDA" enableCuda)
|
||||||
(opencvFlag "CUBLAS" enableCuda)
|
(opencvFlag "CUBLAS" enableCuda)
|
||||||
] ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ]
|
] ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ]
|
||||||
++ lib.optional enableContrib "-DBUILD_PROTOBUF=off"
|
++ lib.optional buildContrib "-DBUILD_PROTOBUF=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 a new issue