<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/ca9ffa681f453399942385f9ef34cf1c124b6ea4">https://github.com/macports/macports-ports/commit/ca9ffa681f453399942385f9ef34cf1c124b6ea4</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new ca9ffa681f4 opencv/opencv4: eliminate conflicts, improve consistency, add variants; update gerbil and py-pytorch for opencv4 changes
</span>ca9ffa681f4 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ca9ffa681f453399942385f9ef34cf1c124b6ea4
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Tue Dec 29 18:31:18 2020 -0500

<span style='display:block; white-space:pre;color:#404040;'>    opencv/opencv4: eliminate conflicts, improve consistency, add variants; update gerbil and py-pytorch for opencv4 changes
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    opencv: eliminate conflict with opencv4; add variants debug, nonfree, tests
</span><span style='display:block; white-space:pre;color:#404040;'>    opencv4: eliminate conflict with opencv; switch to shared libs; rename variant opencv_contrib to contrib, to match opencv; add variants debug, java, python35..39, qt4, qt5, tbb, tests, vtk
</span><span style='display:block; white-space:pre;color:#404040;'>    gerbil: update for opencv4 library move
</span><span style='display:block; white-space:pre;color:#404040;'>    py-pytorch: update for opencv4 library move
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/61912
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/61801
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/60118
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/58845
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/57640
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/51734
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/48218
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/32528
</span>---
 graphics/opencv/Portfile                       |  90 +++++---
 graphics/opencv4/Portfile                      | 284 +++++++++++++++++++++++--
 graphics/opencv4/files/patch-dylib_suffix.diff |  11 +
 python/py-pytorch/Portfile                     |   3 +-
 science/gerbil/Portfile                        |   3 +-
 5 files changed, 342 insertions(+), 49 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/opencv/Portfile b/graphics/opencv/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 936a6c28422..6a1fb3de713 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/opencv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,12 +7,14 @@ PortGroup           legacysupport 1.0
</span> 
 name                opencv
 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:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {@mascguy} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    openmaintainer
</span> 
 description         Intel(R) Open Source Computer Vision Library
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,24 +55,29 @@ platform macosx {
</span> 
 worksrcdir          opencv-${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           opencv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> compiler.cxx_standard   2011
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append cc *gcc* {clang < 800} {macports-clang-3.[0-9]} macports-clang-4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    *gcc* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {clang < 800} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {macports-clang-3.[0-9]} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    macports-clang-4.0
</span> 
 depends_build-append \
                     port:pkgconfig
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append  port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ffmpeg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:zlib \
</span>                     port:bzip2 \
                     port:libpng \
                     port:jpeg \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:jasper \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:openjpeg \
</span>                     port:tiff \
                     port:webp \
                     port:ilmbase \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:openexr \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    path:lib/libavcodec.dylib:ffmpeg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:openexr
</span> 
 # only search for openexr in ${prefix}
 patchfiles-append   patch-find-openexr.diff
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -107,8 +114,9 @@ configure.args-append \
</span>                     -DWITH_GSTREAMER=OFF \
                     -DWITH_GTK=OFF \
                     -DWITH_IPP=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DWITH_JASPER=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DWITH_JASPER=OFF \
</span>                     -DWITH_JPEG=ON \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DWITH_OPENJPEG=ON \
</span>                     -DWITH_WEBP=ON \
                     -DWITH_OPENEXR=ON \
                     -DWITH_OPENGL=ON \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,6 +150,7 @@ configure.args-append \
</span>                     -DWITH_GDAL=OFF \
                     -DWITH_GPHOTO2=OFF \
                     \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_WITH_DEBUG_INFO=OFF \
</span>                     -DBUILD_SHARED_LIBS=ON \
                     -DBUILD_opencv_apps=ON \
                     -DBUILD_DOCS=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -155,10 +164,12 @@ configure.args-append \
</span>                     -DBUILD_TIFF=OFF \
                     -DBUILD_JASPER=OFF \
                     -DBUILD_JPEG=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_OPENJPEG=OFF \
</span>                     -DBUILD_WEBP=OFF \
                     -DBUILD_PNG=OFF \
                     -DBUILD_OPENEXR=OFF \
                     -DBUILD_TBB=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_FFMPEG=OFF \
</span>                     \
                     -DBUILD_opencv_java=OFF \
                     \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -168,6 +179,7 @@ configure.args-append \
</span>                     -DINSTALL_C_EXAMPLES=OFF \
                     -DINSTALL_PYTHON_EXAMPLES=OFF \
                     -DENABLE_PRECOMPILED_HEADERS=ON \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENCV_ENABLE_NONFREE=OFF \
</span>                     -DENABLE_CXX11=ON
 
 platform darwin {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -231,6 +243,12 @@ if {[variant_isset universal]} {
</span>                             -DENABLE_PRECOMPILED_HEADERS=OFF
 }
 
<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><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant avx conflicts avx2 description {Enable AVX (and SSE4*) support} {
     configure.args-append   -DENABLE_AVX=ON \
                             -DENABLE_SSE41=ON -DENABLE_SSE42=ON
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,14 +259,14 @@ variant avx2 conflicts avx description {Enable AVX, AVX2 (and SSE4*) support} {
</span>                             -DENABLE_SSE41=ON -DENABLE_SSE42=ON
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant eigen description {Enable eigen support.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant eigen description {Enable eigen support} {
</span>     depends_lib-append      port:eigen3
     configure.args-replace  -DWITH_EIGEN=OFF \
                             -DWITH_EIGEN=ON
     configure.args-append   -DEIGEN_INCLUDE_PATH=${prefix}/include/eigen3
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant opencl description {Enable OpenCL support.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant opencl description {Enable OpenCL support} {
</span>     pre-configure {
         if {${os.platform} eq "darwin" && ${os.major} < 11} {
             ui_error "The OpenCL variant only works with OS X 10.7 Lion or later."
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -259,7 +277,7 @@ variant opencl description {Enable OpenCL support.} {
</span>                             -DWITH_OPENCL=ON
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant openni description {Enable OpenNI support.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant openni description {Enable OpenNI support} {
</span>     depends_lib-append      port:openni
     patchfiles-append       patch-cmake_OpenCVFindOpenNI.cmake.diff
     configure.args-replace  -DWITH_OPENNI=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -270,26 +288,26 @@ variant openni description {Enable OpenNI support.} {
</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:#e0ffe0;'>+variant dc1394 description {Use libdc1394 for FireWire camera; breaks compatibility with Apple iSight FireWire camera} {
</span>     depends_lib-append      port:libdc1394
     configure.args-replace  -DWITH_1394=OFF \
                             -DWITH_1394=ON
     configure.args-append   -DHAVE_DC1394_2=ON
 }
 
<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:#e0ffe0;'>+variant qt4 conflicts qt5 description {Build with Qt4 Backend support} {
</span>     PortGroup               qt4 1.0
     configure.args-replace  -DWITH_QT=OFF \
                             -DWITH_QT=4
 }
 
<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:#e0ffe0;'>+variant qt5 conflicts qt4 description {Build with Qt5 Backend support} {
</span>     PortGroup               qt5 1.0
     configure.args-replace  -DWITH_QT=OFF \
                             -DWITH_QT=5
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant java description {Add Java bindings.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant java description {Add Java bindings} {
</span>     PortGroup               java 1.0
     # OpenCV appears to support older Java versions,
     # and MacPorts users have requested Java 8 support:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -308,7 +326,7 @@ if {[variant_isset java] && ![variant_isset python27]} {
</span>     configure.args-delete   -DBUILD_opencv_python2=OFF
 }
 
<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:#e0ffe0;'>+variant python27 description {Add Python 2.7 bindings} {
</span>     depends_lib-append      port:python27 \
                             port:py27-numpy
     configure.args-delete   -DINSTALL_PYTHON_EXAMPLES=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -358,7 +376,7 @@ foreach pdv ${pythonversions} {
</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:#e0ffe0;'>+variant tbb description {Use Intel TBB} {
</span>     depends_lib-append      port:tbb
     configure.args-replace  -DWITH_TBB=OFF \
                             -DWITH_TBB=ON
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -366,19 +384,19 @@ variant tbb description {Use Intel TBB.} {
</span>                             -DTBB_INCLUDE_DIRS=${prefix}/include
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant vtk description {Include VTK support.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant vtk description {Include VTK support} {
</span>     depends_lib-append      port:vtk
     configure.args-replace  -DWITH_VTK=OFF \
                             -DWITH_VTK=ON
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant gdal description {Include GDAL support.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant gdal description {Include GDAL support} {
</span>     depends_lib-append      port:gdal
     configure.args-replace  -DWITH_GDAL=OFF \
                             -DWITH_GDAL=ON
 }
 
<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:#e0ffe0;'>+variant contrib description {Build OpenCV with extra modules} {
</span>     master_sites-append     https://github.com/opencv/opencv_contrib/archive:opencv_contrib
     distfiles-append        ${version}.zip:opencv_contrib
     checksums-append        ${version}.zip \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -387,7 +405,11 @@ variant contrib description {Build OpenCV with extra modules.} {
</span>                             size    56393041
     configure.args-append   -DOPENCV_EXTRA_MODULES_PATH=${workpath}/opencv_contrib-${version}/modules \
                             -DBUILD_PROTOBUF=YES
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:protobuf3-cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:protobuf3-cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:google-glog \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:gflags \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:ceres-solver
</span> 
     post-extract {
         # gunzip cannot handle multi-member .zip archives
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -494,6 +516,25 @@ variant contrib description {Build OpenCV with extra modules.} {
</span>     configure.args-append  -DOPENCV_FACE_ALIGNMENT_URL=file://${distpath}/
 }
 
<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=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DOPENCV_ENABLE_NONFREE=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 tests description {Enable tests} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DBUILD_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DBUILD_TESTS=ON
</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;'>+                            -DBUILD_PERF_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DBUILD_PERF_TESTS=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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> platform darwin {
     post-patch {
         if {${os.major} < 10} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -503,7 +544,8 @@ platform darwin {
</span> }
 
 pre-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   -DOPENCV_LINKER_LIBS=\"[join ${opencv_linker_libs} " "]\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DOPENCV_LINKER_LIBS=\"[join ${opencv_linker_libs} " "]\"
</span> }
 
 post-destroot {
<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 0fc10ee0f82..fbf5529c653 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;'>@@ -5,14 +5,17 @@ PortGroup           cmake 1.1
</span> PortGroup           compiler_blacklist_versions 1.0
 PortGroup           github 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        opencv opencv 4.3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        opencv opencv 4.5.0
</span> name                opencv4
 revision            0
 categories          graphics science
 platforms           darwin
 license             BSD
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         {stromnov @stromnov} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {stromnov @stromnov} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {@mascguy} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    openmaintainer
</span> 
 description         Open Source Computer Vision Library
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,16 +30,17 @@ long_description    OpenCV (Open Source Computer Vision Library) is an\
</span> 
 homepage            https://opencv.org
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           opencv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> master_sites        ${github.master_sites}:${github.project}
 
 distfiles           [lindex ${distfiles} 0]:${github.project}
 
 checksums           ${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  6a01059dd1bf57a21f8663bec5e856607c342e84 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  e11293aef34048f6c283c844c5260b8914e511586bc0ed30852ce18cefebbc0d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    87942711
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  fadb405b7d38f829775da60a62d29368b2159ce4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  03d9f7d777d8a62a5481934dbba2fd692b6cb43f1690a8546e45f9bdb1ee0863 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    90119002
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# recognize dylib as a valid library suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-dylib_suffix.diff
</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} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,15 +65,21 @@ post-extract {
</span> 
 compiler.cxx_standard 2011
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append *gcc* {clang < 900} {macports-clang-3.[0-9]} {macports-clang-[4-6].0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    *gcc* \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {clang < 900} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {macports-clang-3.[0-9]} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {macports-clang-[4-6].0}
</span> 
 depends_build-append \
                     port:pkgconfig
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append  port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ffmpeg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:zlib \
</span>                     port:libpng \
                     port:jpeg \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:jasper \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:openjpeg \
</span>                     port:tiff \
                     port:webp \
                     port:openexr \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,34 +87,58 @@ depends_lib-append  port:zlib \
</span>                     port:ade
 
 configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DCMAKE_RULE_MESSAGES:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_RULE_MESSAGES:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_CONFIG_VERIFICATION:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENCV_BIN_INSTALL_PATH=${prefix}/libexec/opencv4/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENCV_SBIN_INSTALL_PATH=${prefix}/libexec/opencv4/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENCV_TEST_INSTALL_PATH=${prefix}/libexec/opencv4/test \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENCV_SAMPLES_BIN_INSTALL_PATH=${prefix}/libexec/opencv4/samples \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENCV_SETUPVARS_INSTALL_PATH=${prefix}/libexec/opencv4/scripts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_BINARY_DIR=${prefix}/libexec/opencv4/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_BINDIR=libexec/opencv4/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_SBINDIR=libexec/opencv4/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_LIBEXECDIR=libexec/opencv4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_LIBDIR=lib/opencv4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib/opencv4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_RPATH=${prefix}/lib/opencv4 \
</span>                     \
                     -DWITH_ADE:BOOL=ON \
                     -Dade_DIR:PATH=${prefix}/share/ade/ \
                     \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_WITH_DEBUG_INFO:BOOL=OFF \
</span>                     -DHAVE_CXX11:BOOL=ON \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_CXX11:BOOL=ON \
</span>                     -DENABLE_PIC:BOOL=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DBUILD_SHARED_LIBS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_SHARED_LIBS:BOOL=ON \
</span>                     -DBUILD_opencv_apps:BOOL=ON \
                     -DBUILD_DOCS:BOOL=OFF \
                     -DBUILD_EXAMPLES:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DINSTALL_C_EXAMPLES:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_PERF_TESTS:BOOL=OFF \
</span>                     \
                     -DENABLE_CCACHE:BOOL=OFF \
                     -DBUILD_JAVA:BOOL=OFF \
                     -DENABLE_LTO:BOOL=OFF \
                     -DENABLE_THIN_LTO:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_PRECOMPILED_HEADERS:BOOL=ON \
</span>                     \
                     -DOPENCV_ENABLE_NONFREE:BOOL=OFF \
                     -DOPENCV_FORCE_3RDPARTY_BUILD:BOOL=OFF \
                     \
                     -DBUILD_ZLIB:BOOL=OFF \
                     -DBUILD_TIFF:BOOL=OFF -DWITH_TIFF:BOOL=ON \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DBUILD_JASPER:BOOL=OFF -DWITH_JASPER:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_JASPER:BOOL=OFF -DWITH_JASPER:BOOL=OFF \
</span>                     -DBUILD_JPEG:BOOL=OFF -DWITH_JPEG:BOOL=ON \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_OPENJPEG:BOOL=OFF -DWITH_OPENJPEG:BOOL=ON \
</span>                     -DBUILD_PNG:BOOL=OFF -DWITH_PNG:BOOL=ON \
                     -DBUILD_OPENEXR:BOOL=OFF -DWITH_OPENEXR:BOOL=ON \
                     -DBUILD_WEBP:BOOL=OFF -DWITH_WEBP:BOOL=ON \
                     -DBUILD_TBB:BOOL=OFF -DWITH_TBB:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_FFMPEG:BOOL=OFF -DWITH_FFMPEG:BOOL=ON \
</span>                     \
                     -DWITH_OPENCL:BOOL=OFF \
                     -DWITH_OPENCL_SVM:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -119,7 +153,6 @@ configure.args-append \
</span>                     -DWITH_AVFOUNDATION:BOOL=ON \
                     -DWITH_VTK:BOOL=OFF \
                     -DWITH_EIGEN:BOOL=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DWITH_FFMPEG:BOOL=OFF \
</span>                     -DWITH_GSTREAMER:BOOL=OFF \
                     -DWITH_GTK:BOOL=OFF \
                     -DWITH_IPP:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,12 +190,21 @@ configure.args-append \
</span>                     \
                     -DBUILD_opencv_python2:BOOL=OFF \
                     -DBUILD_opencv_python3:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -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
 
 universal_variant   no
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# PCH broken when universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Keep around, for when universal support is fixed/enabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DENABLE_PRECOMPILED_HEADERS:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DENABLE_PRECOMPILED_HEADERS:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if { ${configure.ccache} } {
     configure.args-replace \
                         -DENABLE_CCACHE:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -180,6 +222,31 @@ platform darwin {
</span>                         -DLAPACK_LIBRARIES="-framework Accelerate" \
                         -DLAPACK_CBLAS_H=Accelerate/Accelerate.h \
                         -DLAPACK_LAPACKE_H=Accelerate/Accelerate.h
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the AVFoundation backend is failing to build up to 10.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # it might be possible to work around or repair this on 10.7 and 10.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # there as a qtkit video implementation prior to the AVFoundation version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # that is about 2016 vintage. This could possibly be resuscitated if there
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # is motivation or interest in so doing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} < 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "AVFoundation not supported on this MacOS release; disabling"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_AVFOUNDATION:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_AVFOUNDATION:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#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;'>+notes {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    opencv4 binaries are now prefixed with 'opencv4_', to prevent conflicts\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    with opencv.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    opencv4 libraries have changed from static to dynamic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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> }
 
 variant opencl description {Enable OpenCL support} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,16 +283,30 @@ variant nonfree description {Include nonfree algorithms} {
</span>                         -DOPENCV_ENABLE_NONFREE:BOOL=ON
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant opencv_contrib description {Build OpenCV with extra modules (untested)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Respect legacy variant name 'opencv_contrib', and replace with 'contrib'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset opencv_contrib]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "Legacy variant 'opencv_contrib' set; enabling 'contrib'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        +contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant contrib description {Build OpenCV with extra modules (untested)} {
</span>     master_sites-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    https://github.com/${github.author}/${github.project}_contrib/tarball/${version}:${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        https://github.com/${github.author}/${github.project}_contrib/tarball/${version}:${github.project}_contrib
</span>     distfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${github.project}_contrib-${version}${extract.suffix}:${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${github.project}_contrib-${version}${extract.suffix}:${github.project}_contrib
</span>     checksums-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${github.project}_contrib-${version}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  edee305f9361720ae48043fa7d7325d0b2416af1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  83904a2feca4e6f48f43909fbf5e9bfe0985d408cdb9dc7c9e82d70bde71555d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    60882932
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${github.project}_contrib-${version}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  179e9842172a67db96c976e6ab4944b826835970 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  f16aa7c7960e6a0d855b681d19437d4e05bc8abd6af5adf5ab86f37d1019d663 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    60120338
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:protobuf3-cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:google-glog \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:gflags \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:ceres-solver
</span> 
     post-extract {
         move_gh_repo ${github.author}-${github.project}-* ${distname}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -233,14 +314,171 @@ variant opencv_contrib description {Build OpenCV with extra modules (untested)}
</span>     }
 
     pre-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete      ${worksrcpath}/${github.project}_contrib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${worksrcpath}/${github.project}_contrib
</span>         ln -s ${workpath}/${github.project}_contrib-${version} ${worksrcpath}/${github.project}_contrib
     }
 
     configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DOPENCV_EXTRA_MODULES_PATH=${worksrcpath}/${github.project}_contrib/modules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DOPENCV_EXTRA_MODULES_PATH=${worksrcpath}/${github.project}_contrib/modules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant qt4 conflicts qt5 description {Build with Qt4 Backend support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup           qt4 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_QT:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_QT=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant qt5 conflicts qt4 description {Build with Qt5 Backend support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup           qt5 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_QT:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_QT=5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant java description {Add Java bindings} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup           java 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # OpenCV appears to support older Java versions,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # and MacPorts users have requested Java 8 support:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/60193
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    java.version        1.6+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Use latest LTS Java version as fallback
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    java.fallback       openjdk11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:apache-ant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBUILD_JAVA:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBUILD_JAVA:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythonversions {3.5 3.6 3.7 3.8 3.9}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach pdv ${pythonversions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set pv [join [lrange [split ${pdv} .] 0 1] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set conflist ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach v ${pythonversions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${v} ne ${pdv}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set vv [join [lrange [split ${v} .] 0 1] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set conflist "${conflist} python${vv}"
</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 python${pv} conflicts {*}${conflist} description "Add bindings for Python ${pdv}" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DINSTALL_PYTHON_EXAMPLES:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBUILD_opencv_python3:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 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:#e0ffe0;'>+    # variant declaration scope.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset python${pv}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:python${pv} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${pv}-numpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DINSTALL_PYTHON_EXAMPLES:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DPYTHON3_EXECUTABLE=${prefix}/bin/python${pdv} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DPYTHON3_LIBRARY=${frameworks_dir}/Python.framework/Versions/${pdv}/lib/libpython${pdv}.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DPYTHON3_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/${pdv}/Headers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DPYTHON3_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/${pdv}/lib/python${pdv}/site-packages
</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;'>+variant tbb description {Use Intel TBB} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                         port:tbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_TBB:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_TBB:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DHAVE_TBB:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DTBB_INCLUDE_DIRS=${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant vtk description {Include VTK support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:vtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_VTK:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_VTK:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBUILD_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBUILD_TESTS:BOOL=ON
</span><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;'>+                        -DBUILD_PERF_TESTS:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBUILD_PERF_TESTS:BOOL=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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> }
 
 livecheck.type      regex
 livecheck.url       https://opencv.org/releases.html
 livecheck.regex     {/archive/([0-9.]+)[a-z]?\.[tz]}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc opencv4_move_binaries {p_bin_main_dir p_bin_port_dir} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bin_main_files \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [glob -nocomplain -type f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -directory ${p_bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            *]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "opencv4_move_binaries: bin_main_files: ${bin_main_files}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f ${bin_main_files} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set fn [file tail ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set f_dest "${p_bin_port_dir}/${fn}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "opencv4_move_binaries: moving file: ${f} -> ${f_dest}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${f} ${f_dest}
</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;'>+    return 0
</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;'>+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;'>+    set bin_prefix_old "opencv_"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bin_prefix_new "opencv4_"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bin_port_files \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [glob -nocomplain -type f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -directory ${p_bin_port_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            *]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "opencv4_soft_link_binaries: bin_port_files: ${bin_port_files}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Links: Remove prefix 'opencv_', if any; add prefix 'opencv4_'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f ${bin_port_files} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set fn [file tail ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set fn_new \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [regsub ***=${bin_prefix_old} ${fn} ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set f_dest \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            [regsub ***=${p_destroot} ${f} ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set f_link \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "${p_bin_main_dir}/${bin_prefix_new}${fn_new}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "opencv4_soft_link_binaries: soft-linking file: ${f_link} -> ${f_dest}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s ${f_dest} ${f_link}
</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;'>+    return 0
</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;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bin_main_dir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "${destroot}${prefix}/bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bin_port_dir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "${destroot}${prefix}/libexec/opencv4/bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # While the various configure-related options should catch everything, one or more
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # files may be missed. If so, ensure they're moved to the opencv4 bin area.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    opencv4_move_binaries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${bin_port_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Create soft links for binaries, each prefixed with 'opencv4_'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    opencv4_soft_link_binaries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${bin_main_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${bin_port_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset bin_port_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset bin_main_dir
</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;color:#808080;'>diff --git a/graphics/opencv4/files/patch-dylib_suffix.diff b/graphics/opencv4/files/patch-dylib_suffix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a6ff1a4629d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv4/files/patch-dylib_suffix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/OpenCVUtils.cmake.orig   2018-02-23 01:38:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/OpenCVUtils.cmake        2018-04-20 06:20:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1335,7 +1335,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macro(ocv_get_libname var_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   get_filename_component(__libname "${ARGN}" NAME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # libopencv_core.so.3.3 -> opencv_core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  string(REGEX REPLACE "^lib(.+)\\.(a|so|dll)(\\.[.0-9]+)?$" "\\1" __libname "${__libname}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  string(REGEX REPLACE "^lib(.+)\\.(a|so|dll|dylib)(\\.[.0-9]+)?$" "\\1" __libname "${__libname}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # MacOSX: libopencv_core.3.3.1.dylib -> opencv_core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   string(REGEX REPLACE "^lib(.+[^.0-9])\\.([.0-9]+\\.)?dylib$" "\\1" __libname "${__libname}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   set(${var_name} "${__libname}")
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pytorch/Portfile b/python/py-pytorch/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b7381a911d8..da4dc233add 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pytorch/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pytorch/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,7 +8,7 @@ PortGroup           python 1.0
</span> 
 name                py-pytorch
 version             1.6.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> github.setup        pytorch pytorch ${version} v
 fetch.type          git
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -110,6 +110,7 @@ if {${name} ne ${subport}} {
</span>     build.env-append \
         CMAKE_LIBRARY_PATH=${prefix}/lib:${prefix}/lib/libomp \
         LIBRARY_PATH=${prefix}/lib:${prefix}/lib/libomp \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        OpenCV_DIR=${prefix}/lib/opencv4/cmake/opencv4 \
</span>         USE_CUDA=OFF \
         USE_GFLAGS=ON \
         USE_GLOG=ON \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gerbil/Portfile b/science/gerbil/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 16314d9a170..ab71ef07a1b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gerbil/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gerbil/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,6 +7,7 @@ PortGroup           qt5 1.0
</span> 
 github.setup        gerbilvis gerbil 5a7705fe1170f812a6cd0e79a1a853f4d8aec2cf
 version             2020-05-06-5a7705f
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> checksums           rmd160  9b3f9ac2589a4f3b2ae12db6b02fdcd924886ec4 \
                     sha256  1eb67522c0629a885f940ce333880982528c0ef23ee5a3b27aaddf9facf72d6f \
                     size    2301204
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,7 +32,7 @@ depends_lib         port:opencv4 \
</span> 
 cmake.out_of_source yes
 configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DOpenCV_DIR="${prefix}/lib/cmake" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOpenCV_DIR="${prefix}/lib/opencv4/cmake/opencv4" \
</span>                     -DCMAKE_BUILD_TYPE=Release \
                     -DBoost_DIR="${prefix}"
 
</pre><pre style='margin:0'>

</pre>