<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/c5179d799bbe7a1154b5e2d82f927c24f6cbc404">https://github.com/macports/macports-ports/commit/c5179d799bbe7a1154b5e2d82f927c24f6cbc404</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c5179d799bbe7a1154b5e2d82f927c24f6cbc404
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Tue Jan 26 21:20:35 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> opencv3: migrate python bindings to subports; refine file layout, for consistency with opencv4
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/62011
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/49670
</span>---
graphics/opencv3/Portfile | 496 +++++++++++++++++++++++++---------------------
1 file changed, 272 insertions(+), 224 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/opencv3/Portfile b/graphics/opencv3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 65b9ab44d1e..09723038d92 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/opencv3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ PortGroup legacysupport 1.0
</span>
name opencv3
version 3.4.13
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> categories graphics science
platforms darwin
license BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,15 +16,16 @@ maintainers \
</span> {@mascguy} \
openmaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description Intel(R) Open Source Computer Vision Library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Open Source Computer Vision Library
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description OpenCV is a library that is mainly aimed at real time \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- computer vision. Some example areas would be \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Human-Computer Interaction (HCI), Object Identification, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Segmentation and Recognition, Face Recognition, Gesture \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Recognition, Motion Tracking, Ego Motion, Motion \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Understanding, Structure From Motion (SFM), and Mobile \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Robotics.
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+ businesses to utilize and modify the code.
</span>
homepage https://opencv.org
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,9 +54,19 @@ platform macosx {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir ${subport}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Subport name used for staging files, etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This is needed to support Python subports, whose names have no relation to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the actual physical file layout.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set physical_subport_name \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir ${physical_subport_name}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2011
</span>
compiler.blacklist-append \
cc \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -110,34 +121,34 @@ configure.args-append \
</span> \
-DENABLE_CONFIG_VERIFICATION=OFF \
\
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_PREFIX=${prefix}/libexec/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_CONFIG_INSTALL_PATH=${prefix}/libexec/${subport}/cmake \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_BIN_INSTALL_PATH=${prefix}/libexec/${subport}/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SETUPVARS_INSTALL_PATH=${prefix}/libexec/${subport}/scripts \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SBIN_INSTALL_PATH=${prefix}/libexec/${subport}/sbin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_JAR_INSTALL_PATH=${prefix}/libexec/${subport}/java/jar \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_JNI_INSTALL_PATH=${prefix}/libexec/${subport}/java/jni/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_JNI_BIN_INSTALL_PATH=${prefix}/libexec/${subport}/java/jni/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_TEST_INSTALL_PATH=${prefix}/libexec/${subport}/test/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_TEST_DATA_PATH=${prefix}/libexec/${subport}/test/data \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SAMPLES_BIN_INSTALL_PATH=${prefix}/libexec/${subport}/share/samples/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SAMPLES_SRC_INSTALL_PATH=${prefix}/libexec/${subport}/share/samples/src \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_OTHER_INSTALL_PATH=${prefix}/libexec/${subport}/share/data \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_DOC_INSTALL_PATH=${prefix}/libexec/${subport}/share/doc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_LICENSES_INSTALL_PATH=${prefix}/libexec/${subport}/share/license \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_INCLUDE_INSTALL_PATH=${prefix}/include/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_LIB_INSTALL_PATH=${prefix}/lib/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_3P_LIB_INSTALL_PATH=${prefix}/lib/${subport}/3rdparty \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_LIB_ARCHIVE_INSTALL_PATH=${prefix}/lib/${subport}/static \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_BINARY_DIR=${prefix}/libexec/${subport}/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_LIBEXECDIR=${prefix}/libexec/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_BINDIR=${prefix}/libexec/${subport}/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_SBINDIR=${prefix}/libexec/${subport}/sbin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_SHAREDIR=${prefix}/libexec/${subport}/share \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_INCLUDEDIR=${prefix}/include/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_LIBDIR=${prefix}/lib/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib/${subport} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_RPATH=${prefix}/lib/${subport} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_PREFIX=${prefix}/libexec/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_CONFIG_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/cmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_BIN_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_SETUPVARS_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/scripts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_SBIN_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_JAR_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/java/jar \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_JNI_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/java/jni \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_JNI_BIN_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/java/jni \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_TEST_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/test/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_TEST_DATA_PATH=${prefix}/libexec/${physical_subport_name}/test/data \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_SAMPLES_BIN_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/share/samples/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_SAMPLES_SRC_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/share/samples/src \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_OTHER_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/share/data \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_DOC_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/share/doc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_LICENSES_INSTALL_PATH=${prefix}/libexec/${physical_subport_name}/share/license \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_INCLUDE_INSTALL_PATH=${prefix}/include/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_LIB_INSTALL_PATH=${prefix}/lib/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_3P_LIB_INSTALL_PATH=${prefix}/lib/${physical_subport_name}/3rdparty \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_LIB_ARCHIVE_INSTALL_PATH=${prefix}/lib/${physical_subport_name}/static \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_BINARY_DIR=${prefix}/libexec/${physical_subport_name}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_LIBEXECDIR=${prefix}/libexec/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_BINDIR=${prefix}/libexec/${physical_subport_name}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_SBINDIR=${prefix}/libexec/${physical_subport_name}/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_SHAREDIR=${prefix}/libexec/${physical_subport_name}/share \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_INCLUDEDIR=${prefix}/include/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_LIBDIR=${prefix}/lib/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib/${physical_subport_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_INSTALL_RPATH=${prefix}/lib/${physical_subport_name} \
</span> \
-DWITH_1394=OFF \
-DWITH_CARBON=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -209,14 +220,17 @@ configure.args-append \
</span> \
-DBUILD_opencv_java=OFF \
\
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_EXECUTABLE=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_opencv_python2=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_opencv_python3=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_C_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_PYTHON_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DINSTALL_C_EXAMPLES=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DINSTALL_PYTHON_EXAMPLES=ON \
</span> -DENABLE_PRECOMPILED_HEADERS=ON \
-DOPENCV_ENABLE_NONFREE=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DENABLE_CXX11=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_CXX11=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python2=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python3=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_PYTHON_SKIP_DETECTION=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_EXECUTABLE=/usr/bin/python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_DEFAULT_EXECUTABLE=/usr/bin/python
</span>
platform darwin {
configure.args-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -280,212 +294,232 @@ if {[variant_isset universal]} {
</span> -DENABLE_PRECOMPILED_HEADERS=OFF
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-notes \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "${subport} binaries are now prefixed with '${subport}_', to prevent conflicts\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with other opencv-related ports."
</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
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ${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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach python_branch {2.7} {
</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}-${physical_subport_name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${physical_subport_name} \
</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:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python2=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python2=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_apps=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_apps=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_EXECUTABLE=/usr/bin/python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_EXECUTABLE=${prefix}/bin/python${python_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON2_EXECUTABLE=${prefix}/bin/python${python_branch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_LIBRARIES=${prefix}/lib/libpython${python_branch}.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON2_LIBRARIES=${prefix}/lib/libpython${python_branch}.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON2_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/${python_branch}/Headers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON2_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 parent port contents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "${subport}: python subport: removing files unrelated to Python bindings"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f [exec port contents ${physical_subport_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:#e0ffe0;'>+}
</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=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_WITH_DEBUG_INFO=ON
</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}-${physical_subport_name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${physical_subport_name} \
</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:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python3=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python3=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_apps=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_apps=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</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 parent port contents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "${subport}: python subport: removing files unrelated to Python bindings"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f [exec port contents ${physical_subport_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 avx conflicts avx2 description {Enable AVX (and SSE4*) support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DENABLE_AVX=ON \
</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;'>+ "* ${subport} binaries are now prefixed with '${subport}_', to prevent conflicts\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with other OpenCV-related ports." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "* Python bindings are now implemented via subports 'pyXX-${subport}',\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to support multiple Python versions side-by-side."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant avx conflicts avx2 description {Enable AVX (and SSE4*) support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_AVX=ON \
</span> -DENABLE_SSE41=ON -DENABLE_SSE42=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant avx2 conflicts avx description {Enable AVX, AVX2 (and SSE4*) support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DENABLE_AVX=ON -DENABLE_AVX2=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant avx2 conflicts avx description {Enable AVX, AVX2 (and SSE4*) support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DENABLE_AVX=ON -DENABLE_AVX2=ON \
</span> -DENABLE_SSE41=ON -DENABLE_SSE42=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</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 -DWITH_EIGEN=OFF \
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_EIGEN=OFF \
</span> -DWITH_EIGEN=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DEIGEN_INCLUDE_PATH=${prefix}/include/eigen3
</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;'>+ -DEIGEN_INCLUDE_PATH=${prefix}/include/eigen3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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;'>- pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "The OpenCL variant only works with OS X 10.7 Lion or later."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "incompatible OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant opencl description {Enable OpenCL support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "The OpenCL variant only works with OS X 10.7 Lion or later."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "incompatible OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_OPENCL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_OPENCL=OFF \
</span> -DWITH_OPENCL=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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 4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</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 4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span> -DWITH_OPENMP=OFF \
-DWITH_OPENMP=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</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;'>- patchfiles-append patch-cmake_OpenCVFindOpenNI.cmake.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_OPENNI=OFF \
</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 port:openni
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-cmake_OpenCVFindOpenNI.cmake.diff
</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=OFF \
</span> -DWITH_OPENNI=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>- post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s,@@PREFIX@@,${prefix},g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/cmake/OpenCVFindOpenNI.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s,@@PREFIX@@,${prefix},g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/cmake/OpenCVFindOpenNI.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant dc1394 description {Use libdc1394 for FireWire camera; breaks compatibility with Apple iSight FireWire camera} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libdc1394
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_1394=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant dc1394 description {Use libdc1394 for FireWire camera; breaks compatibility with Apple iSight FireWire camera} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:libdc1394
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DWITH_1394=OFF \
</span> -DWITH_1394=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DHAVE_DC1394_2=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DHAVE_DC1394_2=ON
</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 -DWITH_QT=OFF \
</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 -DWITH_QT=OFF \
</span> -DWITH_QT=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</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 -DWITH_QT=OFF \
</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 -DWITH_QT=OFF \
</span> -DWITH_QT=5
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</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 port:apache-ant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DBUILD_opencv_java=OFF \
</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 port:apache-ant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DBUILD_opencv_java=OFF \
</span> -DBUILD_opencv_java=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset java] && ![variant_isset python27]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DPYTHON_EXECUTABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset java] && ![variant_isset python27]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DPYTHON_EXECUTABLE=OFF \
</span> -DPYTHON_EXECUTABLE=/usr/bin/python
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete -DBUILD_opencv_python2=OFF
</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 python27 description {Add Python 2.7 bindings} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:python27 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py27-numpy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete -DINSTALL_PYTHON_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_opencv_python2=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DPYTHON_EXECUTABLE=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_EXECUTABLE=${prefix}/bin/python2.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DINSTALL_PYTHON_EXAMPLES=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON2_EXECUTABLE=${prefix}/bin/python2.7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_LIBRARIES=${prefix}/lib/libpython2.7.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON2_LIBRARIES=${prefix}/lib/libpython2.7.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON2_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.7/Headers \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON2_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/2.7/lib/python2.7/site-packages
</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;'>-
</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;'>+ configure.args-delete -DBUILD_opencv_python2=OFF
</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=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_opencv_python3=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</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:#ffe0e0;'>- depends_lib-append 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:#ffe0e0;'>- if {![variant_isset python27]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_EXECUTABLE=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_EXECUTABLE=${prefix}/bin/python${pdv}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_PYTHON_EXAMPLES=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:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</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 port:tbb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_TBB=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant tbb description {Use Intel TBB} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:tbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DWITH_TBB=OFF \
</span> -DWITH_TBB=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DHAVE_TBB=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DHAVE_TBB=ON \
</span> -DTBB_INCLUDE_DIRS=${prefix}/include
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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 port:vtk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_VTK=OFF \
</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 port:vtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DWITH_VTK=OFF \
</span> -DWITH_VTK=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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 -DWITH_GDAL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant gdal description {Include GDAL support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:gdal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DWITH_GDAL=OFF \
</span> -DWITH_GDAL=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant contrib description {Build OpenCV with extra modules} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append https://github.com/opencv/opencv_contrib/archive:opencv_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append ${version}.zip:opencv_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append ${version}.zip \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant contrib description {Build OpenCV with extra modules} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append https://github.com/opencv/opencv_contrib/archive:opencv_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append ${version}.zip:opencv_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append ${version}.zip \
</span> rmd160 e3fe150fa131a4cf7cd9e0bf9f6a597df6e8f3f3 \
sha256 4412a8b1a9d55b4bac489d79c21c567e0bf69272e6fbc7f45a68a7b72fb59066 \
size 56393041
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DOPENCV_EXTRA_MODULES_PATH=${workpath}/opencv_contrib-${version}/modules \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DOPENCV_EXTRA_MODULES_PATH=${workpath}/opencv_contrib-${version}/modules \
</span> -DBUILD_PROTOBUF=YES
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span> port:gflags \
port:google-glog \
port:ceres-solver
<span style='display:block; white-space:pre;background:#ffe0e0;'>- post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # gunzip cannot handle multi-member .zip archives
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exec unzip -oq ${distpath}/${version}.zip -d ${extract.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # gunzip cannot handle multi-member .zip archives
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exec unzip -oq ${distpath}/${version}.zip -d ${extract.dir}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # less than ideal way for patchfiles to be applied to contrib directory
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s ${workpath}/opencv_contrib-${version} ${worksrcpath}/opencv_contrib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # less than ideal way for patchfiles to be applied to contrib directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${workpath}/opencv_contrib-${version} ${worksrcpath}/opencv_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- extract.only ${distname}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.only ${distname}${extract.suffix}
</span> # ${version}.zip
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # dnn_modern:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append https://github.com/tiny-dnn/tiny-dnn/archive/:tiny-dnn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # dnn_modern:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append https://github.com/tiny-dnn/tiny-dnn/archive/:tiny-dnn
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append v1.0.0a3.tar.gz:tiny-dnn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append v1.0.0a3.tar.gz:tiny-dnn
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append v1.0.0a3.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append v1.0.0a3.tar.gz \
</span> rmd160 1d44a0f0c3b0a6f31a333afdfb246526c42336ad \
sha256 e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b \
size 12885646
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DOPENCV_TINY_DNN_URL=file://${distpath}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DOPENCV_TINY_DNN_URL=file://${distpath}/
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # xfeatures2d/boostdesc:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26:boostdesc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # xfeatures2d/boostdesc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26:boostdesc
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append boostdesc_bgm.i:boostdesc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append boostdesc_bgm.i:boostdesc \
</span> boostdesc_bgm_bi.i:boostdesc \
boostdesc_bgm_hd.i:boostdesc \
boostdesc_binboost_064.i:boostdesc \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -493,7 +527,7 @@ variant contrib description {Build OpenCV with extra modules} {
</span> boostdesc_binboost_256.i:boostdesc \
boostdesc_lbgm.i:boostdesc
<span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append boostdesc_bgm.i \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append boostdesc_bgm.i \
</span> rmd160 a090147b1ff8cdb23cbb3898cb5cd9cdb181f000 \
sha256 c441a027f15b9b8ff6c006b0775cd86781169ebd5b6257a94bdce668010d5df5 \
size 14852 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -522,17 +556,17 @@ variant contrib description {Build OpenCV with extra modules} {
</span> sha256 42f6091199242fb6d96aec2f25644cd6f5e5f2fdddd1720f3422282e88cf3cd8 \
size 426280
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DOPENCV_BOOSTDESC_URL=file://${distpath}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DOPENCV_BOOSTDESC_URL=file://${distpath}/
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #xfeatures2d/vggdesc:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d:vggdesc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #xfeatures2d/vggdesc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d:vggdesc
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append vgg_generated_48.i:vggdesc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append vgg_generated_48.i:vggdesc \
</span> vgg_generated_64.i:vggdesc \
vgg_generated_80.i:vggdesc \
vgg_generated_120.i:vggdesc
<span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append vgg_generated_48.i \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append vgg_generated_48.i \
</span> rmd160 fdb2d976ec287c4989e9d3b6f95104a0bef9c9a4 \
sha256 71274a67ab0896865e27de830eda0065e387d75fe071dab4a887e2430ccb8a35 \
size 773330 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -549,38 +583,46 @@ variant contrib description {Build OpenCV with extra modules} {
</span> sha256 f05e7eb7183ecbc788bfc26cea9db7dad8585178175411b93e444acdc8fb2048 \
size 1257733
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DOPENCV_VGGDESC_URL=file://${distpath}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DOPENCV_VGGDESC_URL=file://${distpath}/
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #face:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12:face
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #face:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12:face
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append face_landmark_model.dat:face
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append face_landmark_model.dat:face
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append face_landmark_model.dat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums-append face_landmark_model.dat \
</span> rmd160 3a4e4a80f2c74a6af2b36b4d74e3c6d59c347ce0 \
sha256 eeab592db2861a6c94d592a48456cf59945d31483ce94a6bc4d3a4e318049ba3 \
size 72368157
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DOPENCV_FACE_ALIGNMENT_URL=file://${distpath}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DOPENCV_FACE_ALIGNMENT_URL=file://${distpath}/
</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:#e0ffe0;'>+ variant nonfree description {Include nonfree algorithms} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span> -DOPENCV_ENABLE_NONFREE=OFF \
-DOPENCV_ENABLE_NONFREE=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant tests description {Enable tests} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant tests description {Enable tests} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span> -DBUILD_TESTS=OFF \
-DBUILD_TESTS=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span> -DBUILD_PERF_TESTS=OFF \
-DBUILD_PERF_TESTS=ON
<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:#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:#e0ffe0;'>+# NOTE: Variant 'debug' is the only one that should be shared with Python subports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant debug description {Build with debugging info} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_WITH_DEBUG_INFO=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_WITH_DEBUG_INFO=ON
</span> }
platform darwin {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -594,7 +636,7 @@ platform darwin {
</span>
pre-configure {
configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_LINKER_LIBS=\"[join ${opencv_linker_libs} " "]\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DOPENCV_LINKER_LIBS=\"[join ${opencv_linker_libs} " "]\"
</span> }
proc opencv_move_binaries {p_bin_main_dir p_bin_port_dir} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -639,19 +681,23 @@ proc opencv_soft_link_binaries {p_bin_main_dir p_bin_port_dir p_destroot p_prefi
</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 opencv_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;'>+ global physical_subport_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # http://trac.macports.org/ticket/42702
if {[variant_isset qt4] || [variant_isset qt5]} {
reinplace "s|-L//System/Library/Frameworks ||g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/lib/${subport}/pkgconfig/opencv.pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/lib/${physical_subport_name}/pkgconfig/opencv.pc
</span> reinplace "s|-lOpenGL.framework|-framework OpenGL|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/lib/${subport}/pkgconfig/opencv.pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/lib/${physical_subport_name}/pkgconfig/opencv.pc
</span> }
set bin_main_dir \
"${destroot}${prefix}/bin"
set bin_port_dir \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "${destroot}${prefix}/libexec/${subport}/bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${destroot}${prefix}/libexec/${physical_subport_name}/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 subport's bin area.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -659,16 +705,18 @@ post-destroot {
</span> ${bin_main_dir} \
${bin_port_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Create soft links for binaries, each prefixed with '<subport>_'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Create soft links for binaries, each prefixed with '<physical_subport_name>_'.
</span> opencv_soft_link_binaries \
${bin_main_dir} \
${bin_port_dir} \
${destroot} \
${prefix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${physical_subport_name}
</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;'>+ ui_debug "${subport}: phase post-destroot running"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv_post_destroot
</span> }
livecheck.type regex
</pre><pre style='margin:0'>
</pre>