<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9b8e658d6007baab27aa29efcdfecbf62e2f12b5">https://github.com/macports/macports-ports/commit/9b8e658d6007baab27aa29efcdfecbf62e2f12b5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9b8e658d6007baab27aa29efcdfecbf62e2f12b5
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Thu Jul 16 21:51:49 2020 -0400
<span style='display:block; white-space:pre;color:#404040;'> opencv4: Add opencv-python (cv2) python bindings as py*-opencv subports
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * Replace python* variants as py*-opencv subports to allow
</span><span style='display:block; white-space:pre;color:#404040;'> Portfile dependencies
</span>---
graphics/opencv4/Portfile | 380 +++++++++++++++++++++++-----------------------
1 file changed, 194 insertions(+), 186 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/opencv4/Portfile b/graphics/opencv4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9f79a3898bc..08bbfd1b656 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/opencv4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ PortGroup github 1.0
</span>
github.setup opencv opencv 4.5.0
name opencv4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 2
</span> categories graphics science
platforms darwin
license BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,16 +19,16 @@ maintainers \
</span>
description Open Source Computer Vision Library
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description OpenCV (Open Source Computer Vision Library) is an\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- open source computer vision and machine learning\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- software library. OpenCV was built to provide a\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- common infrastructure for computer vision\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- applications and to accelerate the use of machine\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perception in the commercial products. Being a\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- BSD-licensed product, OpenCV makes it easy for\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description OpenCV (Open Source Computer Vision Library) is an \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ open source computer vision and machine learning \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ software library. OpenCV was built to provide a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ common infrastructure for computer vision \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ applications and to accelerate the use of machine \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ perception in the commercial products. Being a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BSD-licensed product, OpenCV makes it easy for \
</span> businesses to utilize and modify the code.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage https://opencv.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://opencv.org/
</span>
master_sites ${github.master_sites}:${github.project}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -201,27 +201,27 @@ universal_variant no
</span> # Keep around, for when universal support is fixed/enabled
if {[variant_isset universal]} {
configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DENABLE_PRECOMPILED_HEADERS:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DENABLE_PRECOMPILED_HEADERS:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_PRECOMPILED_HEADERS:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_PRECOMPILED_HEADERS:BOOL=OFF
</span> }
if { ${configure.ccache} } {
configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DENABLE_CCACHE:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DENABLE_CCACHE:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_CCACHE:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_CCACHE:BOOL=ON
</span> }
platform darwin {
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DZLIB_LIBRARY:FILEPATH=${prefix}/lib/libz.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DZLIB_LIBRARY:FILEPATH=${prefix}/lib/libz.dylib
</span>
# do not opportunistically find other LAPACK implementations
# see cmake/OpenCVFindLAPACK.cmake
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DLAPACK_IMPL=Apple \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DLAPACK_LIBRARIES="-framework Accelerate" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DLAPACK_CBLAS_H=Accelerate/Accelerate.h \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DLAPACK_LAPACKE_H=Accelerate/Accelerate.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DLAPACK_IMPL=Apple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DLAPACK_LIBRARIES="-framework Accelerate" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DLAPACK_CBLAS_H=Accelerate/Accelerate.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DLAPACK_LAPACKE_H=Accelerate/Accelerate.h
</span>
# the AVFoundation backend is failing to build up to 10.8
# it might be possible to work around or repair this on 10.7 and 10.8
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -231,204 +231,201 @@ platform darwin {
</span> if {${os.major} < 13} {
ui_debug "AVFoundation not supported on this MacOS release; disabling"
configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_AVFOUNDATION:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_AVFOUNDATION:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_AVFOUNDATION:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_AVFOUNDATION:BOOL=OFF
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-notes {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- opencv4 binaries are now prefixed with 'opencv4_', to prevent conflicts\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with opencv.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Python bindings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# name consistency with ${python.branch} and ${python.version} in ${prefix}/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/python-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_branches {3.5 3.6 3.7 3.8 3.9}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach python_branch ${python_branches} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_version [join [lrange [split ${python_branch} .] 0 1] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subport py${python_version}-${github.project} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:opencv4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:python${python_version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python_version}-numpy
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- opencv4 libraries have changed from static to dynamic.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DINSTALL_PYTHON_EXAMPLES:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python3:BOOL=OFF
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant debug description {Build with debugging info} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_WITH_DEBUG_INFO:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_WITH_DEBUG_INFO:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_apps:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_apps:BOOL=OFF
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant opencl description {Enable OpenCL support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_OPENCL:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_OPENCL:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_aruco:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_aruco:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DINSTALL_PYTHON_EXAMPLES:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON3_EXECUTABLE=${prefix}/bin/python${python_branch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON3_LIBRARY=${frameworks_dir}/Python.framework/Versions/${python_branch}/lib/libpython${python_branch}.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON3_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/${python_branch}/Headers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON3_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/${python_branch}/lib/python${python_branch}/site-packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Deconflict with port:opencv4 contents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv4_post_destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f [exec port contents ${name}] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant eigen description {Enable eigen support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:eigen3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_EIGEN:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_EIGEN:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DEIGEN_INCLUDE_PATH:PATH=${prefix}/include/eigen3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} eq ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ notes {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv4 binaries are now prefixed with 'opencv4_', to prevent \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ conflicts with opencv.
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant gdal description {Include GDAL support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:gdal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_GDAL:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_GDAL:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant openmp description {Include OpenMP support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- compiler.openmp_version \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_OPENMP:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_OPENMP:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv4 libraries have changed from static to dynamic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant openni description {Enable OpenNI support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:openni
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_OPENNI:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_OPENNI:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENNI_INCLUDE_DIR:PATH=${prefix}/include/ni \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENNI_LIB_DIR:PATH=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant openmp description {Include OpenMP support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.openmp_version \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_OPENMP:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_OPENMP:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant nonfree description {Include nonfree algorithms} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_ENABLE_NONFREE:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_ENABLE_NONFREE:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant openni description {Enable OpenNI support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:openni
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_OPENNI:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_OPENNI:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENNI_INCLUDE_DIR:PATH=${prefix}/include/ni \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENNI_LIB_DIR:PATH=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Respect legacy variant name 'opencv_contrib', and replace with 'contrib'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset opencv_contrib]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "Legacy variant 'opencv_contrib' set; enabling 'contrib'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant nonfree description {Include nonfree algorithms} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_ENABLE_NONFREE:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_ENABLE_NONFREE:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- +contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Respect legacy variant name 'opencv_contrib', and replace with 'contrib'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset opencv_contrib]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Legacy variant 'opencv_contrib' set; enabling 'contrib'"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant contrib description {Build OpenCV with extra modules (untested)} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- https://github.com/${github.author}/${github.project}_contrib/tarball/${version}:${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${github.project}_contrib-${version}${extract.suffix}:${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${github.project}_contrib-${version}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 179e9842172a67db96c976e6ab4944b826835970 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 f16aa7c7960e6a0d855b681d19437d4e05bc8abd6af5adf5ab86f37d1019d663 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 60120338
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:protobuf3-cpp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:google-glog \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:gflags \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:ceres-solver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move_gh_repo ${github.author}-${github.project}-* ${distname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- move_gh_repo ${github.author}-${github.project}_contrib-* ${github.project}_contrib-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ +contrib
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${worksrcpath}/${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s ${workpath}/${github.project}_contrib-${version} ${worksrcpath}/${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant contrib description {Build OpenCV with extra modules (untested)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://github.com/${github.author}/${github.project}_contrib/tarball/${version}:${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${github.project}_contrib-${version}${extract.suffix}:${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${github.project}_contrib-${version}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 179e9842172a67db96c976e6ab4944b826835970 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 f16aa7c7960e6a0d855b681d19437d4e05bc8abd6af5adf5ab86f37d1019d663 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 60120338
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_EXTRA_MODULES_PATH=${worksrcpath}/${github.project}_contrib/modules
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:protobuf3-cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:google-glog \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gflags \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:ceres-solver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_gh_repo ${github.author}-${github.project}-* ${distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move_gh_repo ${github.author}-${github.project}_contrib-* ${github.project}_contrib-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant qt4 conflicts qt5 description {Build with Qt4 Backend support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup qt4 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_QT:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_QT=4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${worksrcpath}/${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${workpath}/${github.project}_contrib-${version} ${worksrcpath}/${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant qt5 conflicts qt4 description {Build with Qt5 Backend support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup qt5 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_QT:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_QT=5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_EXTRA_MODULES_PATH=${worksrcpath}/${github.project}_contrib/modules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant java description {Add Java bindings} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup java 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # OpenCV appears to support older Java versions,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # and MacPorts users have requested Java 8 support:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # see https://trac.macports.org/ticket/60193
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- java.version 1.6+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Use latest LTS Java version as fallback
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- java.fallback openjdk11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:apache-ant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_JAVA:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_JAVA:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant qt4 conflicts qt5 description {Build with Qt4 Backend support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup qt4 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_QT:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_QT=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set pythonversions {3.5 3.6 3.7 3.8 3.9}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach pdv ${pythonversions} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set pv [join [lrange [split ${pdv} .] 0 1] ""]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set conflist ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach v ${pythonversions} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${v} ne ${pdv}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set vv [join [lrange [split ${v} .] 0 1] ""]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set conflist "${conflist} python${vv}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant qt5 conflicts qt4 description {Build with Qt5 Backend support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup qt5 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_QT:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_QT=5
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- variant python${pv} conflicts {*}${conflist} description "Add bindings for Python ${pdv}" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_PYTHON_EXAMPLES:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_opencv_python3:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant java description {Add Java bindings} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup java 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OpenCV appears to support older Java versions,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and MacPorts users have requested Java 8 support:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # see https://trac.macports.org/ticket/60193
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ java.version 1.6+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use latest LTS Java version as fallback
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ java.fallback openjdk11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:apache-ant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_JAVA:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_JAVA:BOOL=ON
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # settings that depend on loop variables must be set in an appropriate if, not in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # variant declaration scope.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset python${pv}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant tbb description {Use Intel TBB} {
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:python${pv} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pv}-numpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:tbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_TBB:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_TBB:BOOL=ON
</span> configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_PYTHON_EXAMPLES:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON3_EXECUTABLE=${prefix}/bin/python${pdv} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON3_LIBRARY=${frameworks_dir}/Python.framework/Versions/${pdv}/lib/libpython${pdv}.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON3_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/${pdv}/Headers \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON3_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/${pdv}/lib/python${pdv}/site-packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DHAVE_TBB:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTBB_INCLUDE_DIRS=${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant vtk description {Include VTK support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:vtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_VTK:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_VTK:BOOL=ON
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant tbb description {Use Intel TBB} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:tbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant debug description {Build with debugging info} {
</span> configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_TBB:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_TBB:BOOL=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DHAVE_TBB:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DTBB_INCLUDE_DIRS=${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_WITH_DEBUG_INFO:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_WITH_DEBUG_INFO:BOOL=ON
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant vtk description {Include VTK support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:vtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant eigen description {Enable eigen support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:eigen3
</span> configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_VTK:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DWITH_VTK:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_EIGEN:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_EIGEN:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DEIGEN_INCLUDE_PATH:PATH=${prefix}/include/eigen3
</span> }
variant tests description {Enable tests} {
configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_TESTS:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_TESTS:BOOL=ON
</span>
configure.args-replace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_PERF_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_PERF_TESTS:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_PERF_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_PERF_TESTS:BOOL=ON
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- test.run yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test.target test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.run yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.target test
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url https://opencv.org/releases.html
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex {/archive/([0-9.]+)[a-z]?\.[tz]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> proc opencv4_move_binaries {p_bin_main_dir p_bin_port_dir} {
set bin_main_files \
[glob -nocomplain -type f \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -471,26 +468,37 @@ proc opencv4_soft_link_binaries {p_bin_main_dir p_bin_port_dir p_destroot p_pref
</span> return 0
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc opencv4_post_destroot {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set bin_main_dir \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "${destroot}${prefix}/bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${destroot}${prefix}/bin"
</span> set bin_port_dir \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "${destroot}${prefix}/libexec/opencv4/bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${destroot}${prefix}/libexec/opencv4/bin"
</span>
# While the various configure-related options should catch everything, one or more
# files may be missed. If so, ensure they're moved to the opencv4 bin area.
opencv4_move_binaries \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${bin_port_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${bin_port_dir}
</span>
# Create soft links for binaries, each prefixed with 'opencv4_'.
opencv4_soft_link_binaries \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${bin_port_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${bin_port_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- unset bin_port_dir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unset bin_main_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv4_post_destroot
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match "py*" ${subport}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.type regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.url https://opencv.org/releases.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ livecheck.regex {/archive/([0-9.]+)[a-z]?\.[tz]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>
</pre>