mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-03 05:28:53 +02:00
256 lines
8.3 KiB
Bash
256 lines
8.3 KiB
Bash
SUMMARY="Open Source Computer Vision Library"
|
|
DESCRIPTION="A collection of algorithms and sample code for various \
|
|
computer vision problems."
|
|
HOMEPAGE="http://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="2"
|
|
SOURCE_URI="https://github.com/opencv/opencv/archive/$portVersion.tar.gz"
|
|
SOURCE_FILENAME="opencv-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="8bb312b9d9fd17336dc1f8b3ac82f021ca50e2034afc866098866176d985adc6"
|
|
SOURCE_DIR="opencv-$portVersion"
|
|
PATCHES="opencv-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="?x86 x86_64"
|
|
SECONDARY_ARCHITECTURES="?x86"
|
|
|
|
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
|
|
commandSuffix=$secondaryArchSuffix
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
fi
|
|
|
|
PROVIDES="
|
|
opencv$secondaryArchSuffix = $portVersion compat >= 3
|
|
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 = 3.3.0 compat >= 3
|
|
lib:libopencv_core$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_dnn$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_features2d$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_flann$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_highgui$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_imgcodecs$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_imgproc$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_ml$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_objdetect$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_photo$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_shape$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_stitching$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_superres$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_video$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_videoio$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
lib:libopencv_videostab$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
"
|
|
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="
|
|
opencv${secondaryArchSuffix}_devel = $portVersion compat >= 3
|
|
devel:libopencv_calib3d$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_core$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_dnn$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_features2d$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_flann$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_highgui$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_imgcodecs$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_imgproc$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_ml$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_objdetect$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_photo$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_shape$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_stitching$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_superres$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_video$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_videoio$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
devel:libopencv_videostab$secondaryArchSuffix = 3.3.0 compat >= 3
|
|
"
|
|
REQUIRES_devel="
|
|
opencv$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:eigen$secondaryArchSuffix
|
|
devel:libavcodec$secondaryArchSuffix
|
|
devel:libavformat$secondaryArchSuffix
|
|
devel:libavresample$secondaryArchSuffix
|
|
devel:libavutil$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: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 opencv$secondaryArchSuffix \
|
|
$libDir/libopencv_calib3d.so.$portVersion \
|
|
$libDir/libopencv_core.so.$portVersion \
|
|
$libDir/libopencv_dnn.so.$portVersion \
|
|
$libDir/libopencv_features2d.so.$portVersion \
|
|
$libDir/libopencv_flann.so.$portVersion \
|
|
$libDir/libopencv_highgui.so.$portVersion \
|
|
$libDir/libopencv_imgcodecs.so.$portVersion \
|
|
$libDir/libopencv_imgproc.so.$portVersion \
|
|
$libDir/libopencv_ml.so.$portVersion \
|
|
$libDir/libopencv_objdetect.so.$portVersion \
|
|
$libDir/libopencv_photo.so.$portVersion \
|
|
$libDir/libopencv_shape.so.$portVersion \
|
|
$libDir/libopencv_stitching.so.$portVersion \
|
|
$libDir/libopencv_superres.so.$portVersion \
|
|
$libDir/libopencv_video.so.$portVersion \
|
|
$libDir/libopencv_videoio.so.$portVersion \
|
|
$libDir/libopencv_videostab.so.$portVersion
|
|
|
|
BUILD()
|
|
{
|
|
mkdir -p build_haiku && cd build_haiku
|
|
|
|
cmake .. \
|
|
-DWITH_GDAL=ON \
|
|
-DWITH_IPP=OFF \
|
|
-DWITH_OPENGL=OFF \
|
|
-DWITH_QT=ON \
|
|
-DWITH_EIGEN=ON \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DENABLE_BUILD_HARDENING=OFF \
|
|
-DCMAKE_SKIP_RPATH=ON \
|
|
-DCMAKE_INSTALL_PREFIX:PATH=$prefix
|
|
|
|
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()
|
|
{
|
|
cd build_haiku
|
|
make test
|
|
}
|