<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/342f7793397fe4c31b2c032c2e82a23008e5106e">https://github.com/macports/macports-ports/commit/342f7793397fe4c31b2c032c2e82a23008e5106e</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 342f7793397fe4c31b2c032c2e82a23008e5106e
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Tue Jan 26 21:23:42 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> opencv4: cleanup python subports; refine file layout, for consistency with opencv3
</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/opencv4/Portfile | 208 ++++++++++++++++++++++++++++------------------
1 file changed, 129 insertions(+), 79 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 08bbfd1b656..2fabd6b42ae 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 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 3
</span> categories graphics science
platforms darwin
license BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,7 @@ long_description OpenCV (Open Source Computer Vision Library) is an \
</span> BSD-licensed product, OpenCV makes it easy for \
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;'>@@ -39,9 +39,20 @@ checksums ${distname}${extract.suffix} \
</span> sha256 03d9f7d777d8a62a5481934dbba2fd692b6cb43f1690a8546e45f9bdb1ee0863 \
size 90119002
<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:#e0ffe0;'>+
</span> # recognize dylib as a valid library suffix
patchfiles-append patch-dylib_suffix.diff
<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> # modify from _resources/port1.0/group/github-1.0.tcl to avoid file tag issue
proc move_gh_repo {repo_dir_patt new_name} {
global distfiles workpath worksrcpath
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,7 +74,8 @@ post-extract {
</span> move_gh_repo ${github.author}-${github.project}-* ${distname}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard 2011
</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 \
*gcc* \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -92,18 +104,34 @@ configure.args-append \
</span> \
-DENABLE_CONFIG_VERIFICATION:BOOL=OFF \
\
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_BIN_INSTALL_PATH=${prefix}/libexec/opencv4/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SBIN_INSTALL_PATH=${prefix}/libexec/opencv4/sbin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_TEST_INSTALL_PATH=${prefix}/libexec/opencv4/test \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SAMPLES_BIN_INSTALL_PATH=${prefix}/libexec/opencv4/samples \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DOPENCV_SETUPVARS_INSTALL_PATH=${prefix}/libexec/opencv4/scripts \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_BINARY_DIR=${prefix}/libexec/opencv4/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_BINDIR=libexec/opencv4/bin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_SBINDIR=libexec/opencv4/sbin \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_LIBEXECDIR=libexec/opencv4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_LIBDIR=lib/opencv4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib/opencv4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DCMAKE_INSTALL_RPATH=${prefix}/lib/opencv4 \
</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_ADE:BOOL=ON \
-Dade_DIR:PATH=${prefix}/share/ade/ \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -116,7 +144,8 @@ configure.args-append \
</span> -DBUILD_opencv_apps:BOOL=ON \
-DBUILD_DOCS:BOOL=OFF \
-DBUILD_EXAMPLES:BOOL=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_C_EXAMPLES:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DINSTALL_C_EXAMPLES:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DINSTALL_PYTHON_EXAMPLES:BOOL=ON \
</span> -DBUILD_TESTS:BOOL=OFF \
-DBUILD_PERF_TESTS:BOOL=OFF \
\
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -188,9 +217,10 @@ configure.args-append \
</span> \
-DHAVE_COCOA:BOOL=ON \
\
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_aruco:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span> -DBUILD_opencv_python2:BOOL=OFF \
-DBUILD_opencv_python3:BOOL=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_opencv_aruco:BOOL=ON \
</span> -DOPENCV_PYTHON_SKIP_DETECTION:BOOL=OFF \
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python \
-DPYTHON_DEFAULT_EXECUTABLE:FILEPATH=/usr/bin/python
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -236,41 +266,37 @@ platform darwin {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Python bindings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# 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;'>+# 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> set python_branches {3.5 3.6 3.7 3.8 3.9}
foreach python_branch ${python_branches} {
set python_version [join [lrange [split ${python_branch} .] 0 1] ""]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- subport py${python_version}-${github.project} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subport py${python_version}-${physical_subport_name} {
</span> depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:opencv4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:${physical_subport_name} \
</span> port:python${python_version} \
port:py${python_version}-numpy
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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:#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_python3:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_opencv_python3:BOOL=ON
</span> configure.args-replace \
-DBUILD_opencv_apps:BOOL=ON \
-DBUILD_opencv_apps:BOOL=OFF
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> configure.args-replace \
-DBUILD_opencv_aruco:BOOL=ON \
-DBUILD_opencv_aruco:BOOL=OFF
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DINSTALL_PYTHON_EXAMPLES:BOOL=ON \
</span> -DPYTHON3_EXECUTABLE=${prefix}/bin/python${python_branch} \
-DPYTHON3_LIBRARY=${frameworks_dir}/Python.framework/Versions/${python_branch}/lib/libpython${python_branch}.dylib \
-DPYTHON3_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/${python_branch}/Headers \
-DPYTHON3_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/${python_branch}/lib/python${python_branch}/site-packages
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Deconflict with port:opencv4 contents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Deconflict with parent port contents
</span> post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- opencv4_post_destroot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach f [exec port contents ${name}] {
</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> delete ${destroot}${f}
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -278,11 +304,46 @@ foreach python_branch ${python_branches} {
</span> }
if {${name} eq ${subport}} {
<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 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conflicts with opencv.
</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 eigen description {Enable eigen 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: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: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><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</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:#e0ffe0;'>+ variant gdal description {Include GDAL 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:gdal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_GDAL:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_GDAL:BOOL=ON
</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 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:#e0ffe0;'>+
</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:#e0ffe0;'>+ }
</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:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_OPENCL:BOOL=ON
</span> }
variant openmp description {Include OpenMP support} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -304,12 +365,6 @@ if {${name} eq ${subport}} {
</span> -DOPENNI_LIB_DIR:PATH=${prefix}/lib
}
<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:#ffe0e0;'>-
</span> # Respect legacy variant name 'opencv_contrib', and replace with 'contrib'
if {[variant_isset opencv_contrib]} {
ui_debug "Legacy variant 'opencv_contrib' set; enabling 'contrib'"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -396,63 +451,55 @@ if {${name} eq ${subport}} {
</span> -DWITH_VTK:BOOL=OFF \
-DWITH_VTK:BOOL=ON
}
<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 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:#ffe0e0;'>-
</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:#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:BOOL=OFF \
-DBUILD_TESTS:BOOL=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:BOOL=OFF \
-DBUILD_PERF_TESTS:BOOL=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: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;'>-proc opencv4_move_binaries {p_bin_main_dir p_bin_port_dir} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc opencv_move_binaries {p_bin_main_dir p_bin_port_dir} {
</span> set bin_main_files \
[glob -nocomplain -type f \
-directory ${p_bin_main_dir} \
*]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "opencv4_move_binaries: bin_main_files: ${bin_main_files}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "opencv_move_binaries: bin_main_files: ${bin_main_files}"
</span>
foreach f ${bin_main_files} {
set fn [file tail ${f}]
set f_dest "${p_bin_port_dir}/${fn}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "opencv4_move_binaries: moving file: ${f} -> ${f_dest}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "opencv_move_binaries: moving file: ${f} -> ${f_dest}"
</span> move ${f} ${f_dest}
}
return 0
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc opencv4_soft_link_binaries {p_bin_main_dir p_bin_port_dir p_destroot p_prefix} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc opencv_soft_link_binaries {p_bin_main_dir p_bin_port_dir p_destroot p_prefix p_subport} {
</span> set bin_prefix_old "opencv_"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set bin_prefix_new "opencv4_"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set bin_prefix_new "${p_subport}_"
</span> set bin_port_files \
[glob -nocomplain -type f \
-directory ${p_bin_port_dir} \
*]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "opencv4_soft_link_binaries: bin_port_files: ${bin_port_files}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "opencv_soft_link_binaries: bin_port_files: ${bin_port_files}"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Links: Remove prefix 'opencv_', if any; add prefix 'opencv4_'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Links: Remove prefix 'opencv_', if any; add prefix '<subport>_'.
</span> foreach f ${bin_port_files} {
set fn [file tail ${f}]
set fn_new \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -461,38 +508,41 @@ proc opencv4_soft_link_binaries {p_bin_main_dir p_bin_port_dir p_destroot p_pref
</span> [regsub ***=${p_destroot} ${f} ""]
set f_link \
"${p_bin_main_dir}/${bin_prefix_new}${fn_new}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "opencv4_soft_link_binaries: soft-linking file: ${f_link} -> ${f_dest}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "opencv_soft_link_binaries: soft-linking file: ${f_link} -> ${f_dest}"
</span> ln -s ${f_dest} ${f_link}
}
return 0
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc opencv4_post_destroot {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc opencv_post_destroot {} {
</span> global prefix
global destroot
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ global physical_subport_name
</span>
set bin_main_dir \
"${destroot}${prefix}/bin"
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/${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 opencv4 bin area.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- opencv4_move_binaries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv_move_binaries \
</span> ${bin_main_dir} \
${bin_port_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Create soft links for binaries, each prefixed with 'opencv4_'.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- opencv4_soft_link_binaries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Create soft links for binaries, each prefixed with '<physical_subport_name>_'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ opencv_soft_link_binaries \
</span> ${bin_main_dir} \
${bin_port_dir} \
${destroot} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${physical_subport_name}
</span> }
post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- opencv4_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> }
if {[string match "py*" ${subport}]} {
</pre><pre style='margin:0'>
</pre>