1SUMMARY="Open Source Computer Vision Library" 2DESCRIPTION="A collection of algorithms and sample code for various \ 3computer vision problems." 4HOMEPAGE="https://opencv.org/" 5COPYRIGHT="2000-2016, Intel Corporation 6 2009-2011, Willow Garage Inc. 7 2009-2016, NVIDIA Corporation 8 2010-2013, Advanced Micro Devices, Inc. 9 2015-2016, OpenCV Foundation 10 2015-2016, Itseez Inc." 11LICENSE="BSD (3-clause)" 12REVISION="15" 13SOURCE_URI="https://github.com/opencv/opencv/archive/$portVersion.tar.gz" 14SOURCE_FILENAME="opencv-$portVersion.tar.gz" 15CHECKSUM_SHA256="4eef85759d5450b183459ff216b4c0fa43e87a4f6aa92c8af649f89336f002ec" 16SOURCE_DIR="opencv-$portVersion" 17PATCHES="opencv3-$portVersion.patchset" 18 19ARCHITECTURES="all !x86_gcc2" 20SECONDARY_ARCHITECTURES="x86" 21 22# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/. 23commandSuffix=$secondaryArchSuffix 24if [ "$targetArchitecture" = x86_gcc2 ]; then 25 commandSuffix= 26fi 27 28portVersionCompat="$portVersion compat >= ${portVersion%%.*}" 29libVersion="$portVersion" 30libVersionCompat="$libVersion compat >= ${libVersion%.*}" 31 32# pythonVersion="3.10" 33 34PROVIDES=" 35 opencv3$secondaryArchSuffix = $portVersionCompat 36 lib:libopencv_calib3d$secondaryArchSuffix = $libVersionCompat 37 lib:libopencv_core$secondaryArchSuffix = $libVersionCompat 38 lib:libopencv_dnn$secondaryArchSuffix = $libVersionCompat 39 lib:libopencv_features2d$secondaryArchSuffix = $libVersionCompat 40 lib:libopencv_flann$secondaryArchSuffix = $libVersionCompat 41 lib:libopencv_highgui$secondaryArchSuffix = $libVersionCompat 42 lib:libopencv_imgcodecs$secondaryArchSuffix = $libVersionCompat 43 lib:libopencv_imgproc$secondaryArchSuffix = $libVersionCompat 44 lib:libopencv_ml$secondaryArchSuffix = $libVersionCompat 45 lib:libopencv_objdetect$secondaryArchSuffix = $libVersionCompat 46 lib:libopencv_photo$secondaryArchSuffix = $libVersionCompat 47 lib:libopencv_shape$secondaryArchSuffix = $libVersionCompat 48 lib:libopencv_stitching$secondaryArchSuffix = $libVersionCompat 49 lib:libopencv_superres$secondaryArchSuffix = $libVersionCompat 50 lib:libopencv_video$secondaryArchSuffix = $libVersionCompat 51 lib:libopencv_videoio$secondaryArchSuffix = $libVersionCompat 52 lib:libopencv_videostab$secondaryArchSuffix = $libVersionCompat 53 " 54REQUIRES=" 55 haiku$secondaryArchSuffix 56 lib:libavcodec$secondaryArchSuffix 57 lib:libavformat$secondaryArchSuffix 58 lib:libavutil$secondaryArchSuffix 59 lib:libfreetype$secondaryArchSuffix 60 lib:libgdal$secondaryArchSuffix 61 lib:libGL$secondaryArchSuffix 62 lib:libglib_2.0$secondaryArchSuffix 63 lib:libGLU$secondaryArchSuffix 64 lib:libgphoto2$secondaryArchSuffix 65 lib:libgstapp_1.0$secondaryArchSuffix 66 lib:libgstreamer_1.0$secondaryArchSuffix 67 lib:libgstvideo_1.0$secondaryArchSuffix 68 lib:libhalf_2_4$secondaryArchSuffix 69 lib:libharfbuzz$secondaryArchSuffix 70 lib:libhdf5$secondaryArchSuffix 71 lib:libiex_2_4$secondaryArchSuffix 72 lib:libilmimf_2_4$secondaryArchSuffix 73 lib:libilmthread_2_4$secondaryArchSuffix 74 lib:libimath_2_4$secondaryArchSuffix 75 lib:libintl$secondaryArchSuffix 76 lib:libjasper$secondaryArchSuffix 77 lib:libjpeg$secondaryArchSuffix 78 lib:liblapack$secondaryArchSuffix 79 lib:libopenblas$secondaryArchSuffix 80 lib:libpng16$secondaryArchSuffix 81 lib:libQt5Concurrent$secondaryArchSuffix 82 lib:libQt5Core$secondaryArchSuffix 83 lib:libQt5Gui$secondaryArchSuffix 84 lib:libQt5Test$secondaryArchSuffix 85 lib:libQt5Widgets$secondaryArchSuffix 86 lib:libswscale$secondaryArchSuffix 87 lib:libswresample$secondaryArchSuffix 88 lib:libtiff$secondaryArchSuffix 89 lib:libwebp$secondaryArchSuffix 90 lib:libz$secondaryArchSuffix 91 " 92 93PROVIDES_tools=" 94 opencv3${secondaryArchSuffix}_tools = $portVersionCompat 95 cmd:opencv_annotation$commandSuffix = $portVersion 96 cmd:opencv_createsamples$commandSuffix = $portVersion 97 cmd:opencv_interactive_calibration$commandSuffix = $portVersion 98 cmd:opencv_traincascade$commandSuffix = $portVersion 99 cmd:opencv_version$commandSuffix = $portVersion 100 cmd:opencv_visualisation$commandSuffix = $portVersion 101 cmd:opencv_waldboost_detector$commandSuffix = $portVersion 102 " 103REQUIRES_tools=" 104 haiku$secondaryArchSuffix 105 opencv3$secondaryArchSuffix == $portVersion base 106 " 107 108BUILD_REQUIRES=" 109 haiku${secondaryArchSuffix}_devel 110 devel:cblas$secondaryArchSuffix 111 devel:eigen$secondaryArchSuffix 112 devel:libavcodec$secondaryArchSuffix >= 58 113 devel:libavformat$secondaryArchSuffix >= 58 114 devel:libavutil$secondaryArchSuffix >= 56 115# devel:libcaffe$secondaryArchSuffix 116 devel:libexif$secondaryArchSuffix 117 devel:libfreetype$secondaryArchSuffix 118 devel:libgdal$secondaryArchSuffix 119# devel:libgflags$secondaryArchSuffix 120 devel:libGL$secondaryArchSuffix 121 devel:libglib_2.0$secondaryArchSuffix 122 devel:libglog$secondaryArchSuffix 123 devel:libGLU$secondaryArchSuffix 124 devel:libgphoto2$secondaryArchSuffix 125 devel:libgstapp_1.0$secondaryArchSuffix 126 devel:libgstreamer_1.0$secondaryArchSuffix 127 devel:libgstvideo_1.0$secondaryArchSuffix 128 devel:libharfbuzz$secondaryArchSuffix 129 devel:libhdf5$secondaryArchSuffix 130 devel:libilmimf_2_4$secondaryArchSuffix 131 devel:libintl$secondaryArchSuffix 132 devel:libjasper$secondaryArchSuffix 133 devel:libjpeg$secondaryArchSuffix 134 devel:liblapack$secondaryArchSuffix 135 devel:libopenblas$secondaryArchSuffix 136 devel:libopencl_headers$secondaryArchSuffix 137 devel:liborc_0.4$secondaryArchSuffix 138 devel:libpng16$secondaryArchSuffix 139# devel:libprotobuf$secondaryArchSuffix 140 devel:libQt5Concurrent$secondaryArchSuffix 141 devel:libQt5Core$secondaryArchSuffix 142 devel:libQt5Gui$secondaryArchSuffix 143 devel:libQt5Test$secondaryArchSuffix 144 devel:libQt5Widgets$secondaryArchSuffix 145 devel:libswscale$secondaryArchSuffix >= 5 146# devel:libswresample$secondaryArchSuffix >= 3 147# devel:libtesseract$secondaryArchSuffix 148 devel:libtiff$secondaryArchSuffix >= 5 149 devel:libwebp$secondaryArchSuffix >= 7 150 devel:libz$secondaryArchSuffix 151 " 152BUILD_PREREQUIRES=" 153# cmd:ant 154 cmd:cmake 155 cmd:doxygen 156# cmd:f2py${pythonVersion} 157 cmd:gcc$secondaryArchSuffix 158# cmd:javac 159# cmd:jni 160 cmd:ld$secondaryArchSuffix 161 cmd:make 162# cmd:matlab # maybe later 163 cmd:pkg_config$secondaryArchSuffix 164# cmd:python${pythonVersion} 165 " 166 167defineDebugInfoPackage opencv3$secondaryArchSuffix \ 168 $libDir/libopencv_calib3d.so.$libVersion \ 169 $libDir/libopencv_core.so.$libVersion \ 170 $libDir/libopencv_dnn.so.$libVersion \ 171 $libDir/libopencv_features2d.so.$libVersion \ 172 $libDir/libopencv_flann.so.$libVersion \ 173 $libDir/libopencv_highgui.so.$libVersion \ 174 $libDir/libopencv_imgcodecs.so.$libVersion \ 175 $libDir/libopencv_imgproc.so.$libVersion \ 176 $libDir/libopencv_ml.so.$libVersion \ 177 $libDir/libopencv_objdetect.so.$libVersion \ 178 $libDir/libopencv_photo.so.$libVersion \ 179 $libDir/libopencv_shape.so.$libVersion \ 180 $libDir/libopencv_stitching.so.$libVersion \ 181 $libDir/libopencv_superres.so.$libVersion \ 182 $libDir/libopencv_video.so.$libVersion \ 183 $libDir/libopencv_videoio.so.$libVersion \ 184 $libDir/libopencv_videostab.so.$libVersion 185 186BUILD() 187{ 188 mkdir -p build_haiku && cd build_haiku 189 190 local ARCH_SUBDIR= 191 if [ -n "$secondaryArchSuffix" ]; then 192 ARCH_SUBDIR="$secondaryArchSuffix/" 193 fi 194 195 cmake .. \ 196 -DWITH_GDAL=ON \ 197 -DWITH_IPP=OFF \ 198 -DWITH_LAPACK=OFF \ 199 -DWITH_OPENGL=OFF \ 200 -DWITH_QT=ON \ 201 -DWITH_EIGEN=ON \ 202 -DCMAKE_BUILD_TYPE=Release \ 203 -DCMAKE_SKIP_RPATH=ON \ 204 -DENABLE_PIC=OFF \ 205 -DOPENCV_ENABLE_NONFREE=ON \ 206 -DOPENCV_WARNINGS_ARE_ERRORS=OFF \ 207 -DCMAKE_INSTALL_PREFIX:PATH="$prefix" \ 208 -DOPENCV_OTHER_INSTALL_PATH:PATH="$dataDir" \ 209 -DOpenBLAS_INCLUDE_DIR="$portPackageLinksDir/openblas${secondaryArchSuffix}_devel/develop/headers/$ARCH_SUBDIR" \ 210 -DOpenBLAS_LIB="$portPackageLinksDir/openblas${secondaryArchSuffix}_devel/develop/lib/$ARCH_SUBDIR" \ 211 -DBUILD_TESTS=OFF -Wno-dev 212 213 export DISABLE_ASLR=1 214 215 make $jobArgs 216} 217 218INSTALL() 219{ 220 cd build_haiku 221 222 make install 223 224 if [ -n "$secondaryArchSuffix" ]; then 225 mkdir -p $libDir 226 mv $prefix/lib/*.so* $libDir 227 fi 228 229 prepareInstalledDevelLibs libopencv_calib3d \ 230 libopencv_core \ 231 libopencv_dnn \ 232 libopencv_features2d \ 233 libopencv_flann \ 234 libopencv_highgui \ 235 libopencv_imgcodecs \ 236 libopencv_imgproc \ 237 libopencv_ml \ 238 libopencv_objdetect \ 239 libopencv_photo \ 240 libopencv_shape \ 241 libopencv_stitching \ 242 libopencv_superres \ 243 libopencv_video \ 244 libopencv_videoio \ 245 libopencv_videostab 246 247 rm -rf $prefix/{share,include} 248 rm -rf $dataDir/OpenCV 249 rm -rf $prefix/lib/pkgconfig 250 rm -rf $libDir/cmake $developDir 251 252 # tools package 253 packageEntries tools \ 254 $prefix/bin 255} 256