diff --git a/libs/opencv/opencv/OpenCVInstallLayout.cmake.patch b/libs/opencv/opencv/OpenCVInstallLayout.cmake.patch new file mode 100644 index 00000000..109faaaf --- /dev/null +++ b/libs/opencv/opencv/OpenCVInstallLayout.cmake.patch @@ -0,0 +1,11 @@ +--- cmake/OpenCVInstallLayout.cmake.orig 2020-05-10 15:47:49.719729300 -0700 ++++ cmake/OpenCVInstallLayout.cmake 2020-05-10 15:48:31.079254100 -0700 +@@ -20,7 +20,7 @@ + ocv_update(OPENCV_JNI_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH}") + ocv_update(OPENCV_JNI_BIN_INSTALL_PATH "${OPENCV_JNI_INSTALL_PATH}") + +-elseif(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows) ++elseif(FALSE) + + if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH) + ocv_update(OPENCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/") diff --git a/libs/opencv/opencv/opencv-pkgconfig-win-install.patch b/libs/opencv/opencv/opencv-pkgconfig-win-install.patch index eda056e8..ca255db3 100644 --- a/libs/opencv/opencv/opencv-pkgconfig-win-install.patch +++ b/libs/opencv/opencv/opencv-pkgconfig-win-install.patch @@ -1,11 +1,11 @@ --- a/cmake/OpenCVGenPkgconfig.cmake 2020-05-01 12:35:26.761330100 -0700 +++ b/cmake/OpenCVGenPkgconfig.cmake 2020-05-01 12:36:24.592119400 -0700 @@ -103,7 +103,7 @@ add_dependencies(developer_scripts gen-pkgconfig) -if(UNIX AND NOT ANDROID) -+if(TRUE) ++if(NOT ANDROID) install(FILES ${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME} DESTINATION ${OPENCV_LIB_INSTALL_PATH}/pkgconfig COMPONENT dev) endif() diff --git a/libs/opencv/opencv/opencv.py b/libs/opencv/opencv/opencv.py index 541d54e5..1dcaa349 100644 --- a/libs/opencv/opencv/opencv.py +++ b/libs/opencv/opencv/opencv.py @@ -1,77 +1,78 @@ import info from Package.CMakePackageBase import * class subinfo(info.infoclass): def setTargets(self): self.versionInfo.setDefaultValues() self.description = 'a library for real time computer vision' - self.patchToApply['4.3.0'] = [('opencv-pkgconfig-win-install.patch', 1)] + self.patchToApply['4.3.0'] = [ + ('opencv-pkgconfig-win-install.patch', 1), + ('OpenCVInstallLayout.cmake.patch', 0)] self.targetDigests['4.1.2'] = (['385dd0a9c25e67ef0dd60e022d2a2d7b17e2f36819cf3cb46aa8cdff5c5282c9'], CraftHash.HashAlgorithm.SHA256) self.targetDigests['4.2.0'] = (['9ccb2192d7e8c03c58fee07051364d94ed7599363f3b0dce1c5e6cc11c1bb0ec'], CraftHash.HashAlgorithm.SHA256) self.targetDigests['4.3.0'] = (['68bc40cbf47fdb8ee73dfaf0d9c6494cd095cf6294d99de445ab64cf853d278a'], CraftHash.HashAlgorithm.SHA256) self.options.configure.args = ( # build only modules needed by digikam & kdenlive ' -DBUILD_LIST=core,objdetect,imgproc,imgcodecs,dnn,flann,tracking' ' -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_PERF_TESTS=OFF' ' -DINSTALL_C_EXAMPLES=OFF -DINSTALL_PYTHON_EXAMPLES=OFF' # fix build failures (cmake failing tests in craft - linux or mingw) ' -DWITH_LAPACK=OFF -DWITH_V4L=OFF -DOPENCV_ENABLE_ALLOCATOR_STATS=OFF' # don't rebuild dependencies, use the ones we distribute ' -DOPENCV_BUILD_3RDPARTY_LIBS=OFF' ' -DBUILD_NEW_PYTHON_SUPPORT=OFF' ' -DBUILD_ZLIB=OFF -DBUILD_PROTOBUF=OFF' # disabled below ' -DBUILD_TIFF=OFF -DBUILD_JPEG=OFF -DBUILD_WEBP=OFF' # minimal dependencies (kdenlive) ' -DWITH_JASPER=OFF -DWITH_PNG=OFF -DWITH_OPENEXR=OFF' ' -DPROTOBUF_UPDATE_FILES=ON' # minimal dependencies (digikam) ' -DWITH_1394=OFF' ' -DWITH_CUBLAS=OFF -DWITH_CUDA=OFF -DWITH_CUFFT=OFF' ' -DWITH_DIRECTX=OFF -DWITH_DSHOW=OFF' ' -DWITH_EIGEN=OFF' ' -DWITH_FFMPEG=OFF -DWITH_GPHOTO2=OFF -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF' ' -DWITH_IMGCODEC_HDR=OFF -DWITH_IMGCODEC_PXM=OFF -DWITH_IMGCODEC_SUNRASTER=OFF' ' -DWITH_IPP=OFF -DWITH_JPEG=OFF' ' -DWITH_MATLAB=OFF -DWITH_NVCUVID=OFF' ' -DWITH_OPENCL_SVM=OFF -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENCLAMDFFT=OFF' ' -DWITH_OPENMP=OFF -DWITH_OPENNI=OFF' ' -DWITH_PVAPI=OFF' ' -DWITH_QT_OPENGL=OFF -DWITH_QT=OFF' ' -DWITH_QUICKTIME=OFF -DWITH_TBB=OFF -DWITH_TIFF=OFF -DWITH_UNICAP=OFF' ' -DWITH_VA_INTEL=OFF -DWITH_VFW=OFF -DWITH_VIDEOINPUT=OFF' ' -DWITH_VTK=OFF -DWITH_WEBP=OFF -DWITH_WIN32UI=OFF -DWITH_XINE=OFF' - # MLT finds OpenCV through pkg-config + # find OpenCV through cmake or pkg-config ' -DOPENCV_GENERATE_PKGCONFIG=ON' - # Avoid x64/mingw prefix on windows - ' -DOPENCV_INSTALL_BINARIES_PREFIX=""' + ' -DOPENCV_SKIP_CMAKE_ROOT_CONFIG=ON' # Work on old machines ' -DCPU_BASELINE=SSE2 -DCPU_DISPATCH=SSE2' ) def setDependencies(self): self.runtimeDependencies["virtual/base"] = None self.runtimeDependencies["libs/protobuf"] = None self.runtimeDependencies["libs/zlib"] = None # self.runtimeDependencies["libs/tiff"] = None # self.runtimeDependencies["libs/libjpeg-turbo"] = None # self.runtimeDependencies["libs/webp"] = None # self.runtimeDependencies["libs/ffmpeg"] = None # self.runtimeDependencies["libs/qt5/qtbase"] = None # self.runtimeDependencies["libs/lapack"] = None class Package(CMakePackageBase): def __init__(self, **args): CMakePackageBase.__init__(self) self.contrib = CraftPackageObject.get('libs/opencv/opencv_contrib').instance self.subinfo.options.configure.args += ' -DOPENCV_EXTRA_MODULES_PATH="' \ + OsUtils.toUnixPath(self.contrib.sourceDir()) + '/modules"' def fetch(self): return CMakePackageBase.fetch(self) and self.contrib.fetch(noop=False) def unpack(self): return CMakePackageBase.unpack(self) and self.contrib.unpack(noop=False)