SUMMARY="Open Source Computer Vision Library" DESCRIPTION="A collection of algorithms and sample code for various \ computer vision problems." HOMEPAGE="https://opencv.org/" COPYRIGHT="2000-2016, Intel Corporation 2009-2011, Willow Garage Inc. 2009-2016, NVIDIA Corporation 2010-2013, Advanced Micro Devices, Inc. 2015-2016, OpenCV Foundation 2015-2016, Itseez Inc." LICENSE="BSD (3-clause)" REVISION="1" SOURCE_URI="https://github.com/opencv/opencv/archive/$portVersion.tar.gz" SOURCE_FILENAME="opencv-$portVersion.tar.gz" CHECKSUM_SHA256="81dbd5e7e9f8a4c936b94629bf4765745942a1d634ae38ec08bc57b73b28ffc5" SOURCE_DIR="opencv-$portVersion" ARCHITECTURES="?x86 x86_64" SECONDARY_ARCHITECTURES="?x86" # On x86_gcc2 we don't want to install the commands in bin//, but in bin/. commandSuffix=$secondaryArchSuffix if [ "$targetArchitecture" = x86_gcc2 ]; then commandSuffix= fi portVersionCompat="$portVersion compat >= ${portVersion%%.*}" libVersion="$portVersion" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" opencv342$secondaryArchSuffix = $portVersionCompat cmd:opencv_annotation$commandSuffix = $portVersion cmd:opencv_createsamples$commandSuffix = $portVersion cmd:opencv_interactive_calibration$commandSuffix = $portVersion cmd:opencv_traincascade$commandSuffix = $portVersion cmd:opencv_version$commandSuffix = $portVersion cmd:opencv_visualisation$commandSuffix = $portVersion lib:libopencv_calib3d$secondaryArchSuffix = $libVersionCompat lib:libopencv_core$secondaryArchSuffix = $libVersionCompat lib:libopencv_dnn$secondaryArchSuffix = $libVersionCompat lib:libopencv_features2d$secondaryArchSuffix = $libVersionCompat lib:libopencv_flann$secondaryArchSuffix = $libVersionCompat lib:libopencv_highgui$secondaryArchSuffix = $libVersionCompat lib:libopencv_imgcodecs$secondaryArchSuffix = $libVersionCompat lib:libopencv_imgproc$secondaryArchSuffix = $libVersionCompat lib:libopencv_ml$secondaryArchSuffix = $libVersionCompat lib:libopencv_objdetect$secondaryArchSuffix = $libVersionCompat lib:libopencv_photo$secondaryArchSuffix = $libVersionCompat lib:libopencv_shape$secondaryArchSuffix = $libVersionCompat lib:libopencv_stitching$secondaryArchSuffix = $libVersionCompat lib:libopencv_superres$secondaryArchSuffix = $libVersionCompat lib:libopencv_video$secondaryArchSuffix = $libVersionCompat lib:libopencv_videoio$secondaryArchSuffix = $libVersionCompat lib:libopencv_videostab$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix lib:libavcodec$secondaryArchSuffix lib:libavformat$secondaryArchSuffix lib:libavresample$secondaryArchSuffix lib:libavutil$secondaryArchSuffix lib:libgdal$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libglib_2.0$secondaryArchSuffix lib:libGLU$secondaryArchSuffix lib:libgphoto2$secondaryArchSuffix lib:libgstapp_1.0$secondaryArchSuffix lib:libgstreamer_1.0$secondaryArchSuffix lib:libgstvideo_1.0$secondaryArchSuffix lib:libilmimf$secondaryArchSuffix #openexr lib:libintl$secondaryArchSuffix lib:libjasper$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix lib:liblapack$secondaryArchSuffix lib:libopenblas$secondaryArchSuffix lib:libpng16$secondaryArchSuffix lib:libQt5Concurrent$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Test$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libswscale$secondaryArchSuffix lib:libtiff$secondaryArchSuffix lib:libwebp$secondaryArchSuffix lib:libz$secondaryArchSuffix " PROVIDES_devel=" opencv342${secondaryArchSuffix}_devel = $portVersionCompat devel:libopencv_calib3d$secondaryArchSuffix = $libVersionCompat devel:libopencv_core$secondaryArchSuffix = $libVersionCompat devel:libopencv_dnn$secondaryArchSuffix = $libVersionCompat devel:libopencv_features2d$secondaryArchSuffix = $libVersionCompat devel:libopencv_flann$secondaryArchSuffix = $libVersionCompat devel:libopencv_highgui$secondaryArchSuffix = $libVersionCompat devel:libopencv_imgcodecs$secondaryArchSuffix = $libVersionCompat devel:libopencv_imgproc$secondaryArchSuffix = $libVersionCompat devel:libopencv_ml$secondaryArchSuffix = $libVersionCompat devel:libopencv_objdetect$secondaryArchSuffix = $libVersionCompat devel:libopencv_photo$secondaryArchSuffix = $libVersionCompat devel:libopencv_shape$secondaryArchSuffix = $libVersionCompat devel:libopencv_stitching$secondaryArchSuffix = $libVersionCompat devel:libopencv_superres$secondaryArchSuffix = $libVersionCompat devel:libopencv_video$secondaryArchSuffix = $libVersionCompat devel:libopencv_videoio$secondaryArchSuffix = $libVersionCompat devel:libopencv_videostab$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" opencv342$secondaryArchSuffix == $portVersion base " CONFLICTS_devel=" opencv${secondaryArchSuffix}_devel " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:eigen$secondaryArchSuffix devel:libavcodec$secondaryArchSuffix devel:libavformat$secondaryArchSuffix devel:libavresample$secondaryArchSuffix devel:libavutil$secondaryArchSuffix devel:libexif$secondaryArchSuffix devel:libgdal$secondaryArchSuffix devel:libGL$secondaryArchSuffix devel:libglib_2.0$secondaryArchSuffix devel:libGLU$secondaryArchSuffix devel:libgphoto2$secondaryArchSuffix devel:libgstapp_1.0$secondaryArchSuffix devel:libgstreamer_1.0$secondaryArchSuffix devel:libgstvideo_1.0$secondaryArchSuffix devel:libilmimf$secondaryArchSuffix #openexr devel:libintl$secondaryArchSuffix devel:libjasper$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix devel:liblapack$secondaryArchSuffix devel:libopenblas$secondaryArchSuffix devel:libopencl_headers$secondaryArchSuffix devel:liborc_0.4$secondaryArchSuffix devel:libpng16$secondaryArchSuffix devel:libQt5Concurrent$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix devel:libQt5Test$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix devel:libswscale$secondaryArchSuffix devel:libtiff$secondaryArchSuffix devel:libwebp$secondaryArchSuffix devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" # cmd:ant cmd:cmake cmd:doxygen cmd:f2py2 cmd:f2py3 cmd:gcc$secondaryArchSuffix # cmd:javac # cmd:jni cmd:ld$secondaryArchSuffix cmd:make # cmd:matlab # maybe later cmd:pkg_config$secondaryArchSuffix cmd:python2 cmd:python3 " defineDebugInfoPackage opencv342$secondaryArchSuffix \ $libDir/libopencv_calib3d.so.$libVersion \ $libDir/libopencv_core.so.$libVersion \ $libDir/libopencv_dnn.so.$libVersion \ $libDir/libopencv_features2d.so.$libVersion \ $libDir/libopencv_flann.so.$libVersion \ $libDir/libopencv_highgui.so.$libVersion \ $libDir/libopencv_imgcodecs.so.$libVersion \ $libDir/libopencv_imgproc.so.$libVersion \ $libDir/libopencv_ml.so.$libVersion \ $libDir/libopencv_objdetect.so.$libVersion \ $libDir/libopencv_photo.so.$libVersion \ $libDir/libopencv_shape.so.$libVersion \ $libDir/libopencv_stitching.so.$libVersion \ $libDir/libopencv_superres.so.$libVersion \ $libDir/libopencv_video.so.$libVersion \ $libDir/libopencv_videoio.so.$libVersion \ $libDir/libopencv_videostab.so.$libVersion BUILD() { mkdir -p build_haiku && cd build_haiku local OPENBLAS_SUBDIR= if [ -n "$secondaryArchSuffix" ]; then OPENBLAS_SUBDIR="$secondaryArchSuffix/" fi cmake .. \ -DWITH_GDAL=ON \ -DWITH_IPP=OFF \ -DWITH_OPENGL=OFF \ -DWITH_QT=ON \ -DWITH_EIGEN=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ -DENABLE_PIC=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=$prefix \ -DOpenBLAS_INCLUDE_DIR="$portPackageLinksDir/openblas${secondaryArchSuffix}_devel/develop/headers$OPENBLAS_SUBDIR" \ -DOpenBLAS_LIB="$portPackageLinksDir/openblas${secondaryArchSuffix}_devel/develop/lib$OPENBLAS_SUBDIR" make $jobArgs } INSTALL() { cd build_haiku make install mkdir -p $developDir $dataDir mv $prefix/include $includeDir mv $prefix/share/* $dataDir rmdir $prefix/share mkdir -p $libDir/cmake/OpenCV mv $dataDir/OpenCV/*.cmake $libDir/cmake/OpenCV/ prepareInstalledDevelLibs libopencv_calib3d \ libopencv_core \ libopencv_dnn \ libopencv_features2d \ libopencv_flann \ libopencv_highgui \ libopencv_imgcodecs \ libopencv_imgproc \ libopencv_ml \ libopencv_objdetect \ libopencv_photo \ libopencv_shape \ libopencv_stitching \ libopencv_superres \ libopencv_video \ libopencv_videoio \ libopencv_videostab # Cleanup # fixPkgconfig don't know about this variables sed -i 's,^includedir_old=\(.*\),includedir_old=${prefix}/'${relativeIncludeDir}'/opencv,' \ $libDir/pkgconfig/opencv.pc sed -i 's,^includedir_new=\(.*\),includedir_new=${prefix}/'${relativeIncludeDir}',' \ $libDir/pkgconfig/opencv.pc fixPkgconfig # fixCmake sed -i 's,\/include,/'${relativeIncludeDir}',g' \ $libDir/cmake/OpenCV/OpenCVConfig.cmake sed -i 's|/\.\./\.\./|&../|g' \ $libDir/cmake/OpenCV/OpenCVConfig.cmake sed -i 's,\/lib\/,\/,g' \ $libDir/cmake/OpenCV/OpenCVModules-release.cmake # devel package packageEntries devel \ $developDir \ $libDir/cmake } TEST() { LIBRARY_PATH="$sourceDir/build_haiku/lib${LIBRARY_PATH:+:$LIBRARY_PATH}" \ make -C build_haiku test $jobArgs }