<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/cff0757fb9ba4f7bcd9eae44748083807759ac20">https://github.com/macports/macports-ports/commit/cff0757fb9ba4f7bcd9eae44748083807759ac20</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 cff0757  alembic: new port
</span>cff0757 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit cff0757fb9ba4f7bcd9eae44748083807759ac20
</span>Author: Jason Liu <jasonliu--@users.noreply.github.com>
AuthorDate: Mon May 25 00:12:31 2020 -0400

<span style='display:block; white-space:pre;color:#404040;'>    alembic: new port
</span>---
 graphics/alembic/Portfile | 175 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 175 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/alembic/Portfile b/graphics/alembic/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e38baf8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/alembic/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,175 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        alembic alembic 1.7.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          graphics
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         @jasonliu-- openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.alembic.io
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         data representation scheme for storing computer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    graphics scenes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    Alembic is a computer graphics interchange \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    framework, developed by Sony Pictures Imageworks \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    and Industrial Light & Magic. It distills complex, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    animated scenes into a non-procedural, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    application-independent set of baked geometric \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    results. It is very specifically not concerned \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    with storing portions of the assets such as \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    animation rigs. Instead, Alembic is used to bake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    things like the geometry and physics of an \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    animated scene, the results of which are then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ready for hand-off to lighting and rendering.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  edce9346991722242ac0060fccefaa5c7e25d788 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  558559d3f5bb44976f4fb69a75caf87b8fa7cc8271db1b82d0e391495fd83971 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    828000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:openexr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This is the default C++ standard for MacPorts,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# so we don't need to specify it ourselves.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (Reference: https://trac.macports.org/wiki/CompilerSelection)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#compiler.cxx_standard 1998
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   -DUSE_EXAMPLES=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# fix 'include/AbcClients' getting output to the wrong location.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This problem has been reported upstream:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     https://github.com/alembic/alembic/issues/264
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file exists ${destroot}${prefix}/include/AbcClients]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${destroot}${prefix}/include/AbcClients \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             ${destroot}${prefix}/include/Alembic/
</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 boost description {Build Alembic using Boost} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   -DALEMBIC_LIB_USES_BOOST=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 hdf5 description {Enable HDF5 support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:hdf5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   -DUSE_HDF5=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 docs description {Build documentation} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append    port:doxygen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/share/doc/Alembic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ACKNOWLEDGEMENTS.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            FEEDBACK.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            LICENSE.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            NEWS.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            copy ${worksrcpath}/$f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ${destroot}${prefix}/share/doc/Alembic/
</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;'>+        copy ${worksrcpath}/Doxyfile ${workpath}/build/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set doxyfile ${workpath}/build/Doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/usr|${prefix}|g" $doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|^\(OUTPUT_DIRECTORY.*=\) doc|\\1 ${workpath}/build/doc|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|^\(STRIP_FROM_PATH.*=\).*$|\\1 ${destroot}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Simplify the list of paths so that Doxygen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # automatically captures all of the headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # This has been reported upstream:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://github.com/alembic/alembic/issues/265#issuecomment-615551557
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|^\(INPUT\[\[:space:\]\]*=\).*$|\\1 ${destroot}${prefix}/include/Alembic|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "/lib\\/Alembic/d" $doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|^\(RECURSIVE.*=\).*$|\\1 YES|" $doxyfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "doxygen ${workpath}/build/Doxyfile"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${workpath}/build/doc/html \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             ${destroot}${prefix}/share/doc/Alembic/
</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;'>+default_variants    +docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Patches needed in order to build PyAlembic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (not to be confused with py-alembic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc patch_pyalembic_files {python_suffix} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global worksrcpath prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[active_variants boost cmake_scripts]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|\(Boost_NO_BOOST_CMAKE\) ON|\\1 OFF|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/cmake/AlembicBoost.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append path:include/boost/python:boost
</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;'>+    if {[active_variants boost no_single]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s|\(USE_MULTITHREADED\) OFF|\\1 ON|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/cmake/AlembicBoost.cmake
</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;'>+    # According to 'cmake --help-module FindBoost': "Note that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Boost Python components require a Python version suffix (Boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 1.67 and later), e.g. 'python36' or 'python27' for the versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # built against Python 3.6 and 2.7, respectively."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|\(program_options python\)|\\1${python_suffix}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/cmake/AlembicBoost.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set files [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        concat [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            glob -directory ${worksrcpath}/python/PyAlembic *] [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            glob -directory ${worksrcpath}/python/PyAlembic/Tests *
</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;'>+    foreach f $files {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q -E "s|\(Boost_PYTHON\)\(_LIBRARY\)|\\1${python_suffix}\\2|g" $f
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|Boost_VERSION LESS 104200|Boost_VERSION VERSION_LESS 1.42.0|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/cmake/AlembicBoost.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "/DARWIN/,/ROOT NOTFOUND/s|\(ROOT\) NOTFOUND|\\1 \"${prefix}\"|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/cmake/Modules/FindPyIlmBase.cmake
</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;'>+### The following code was adapted from the portfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+### of ports such as openvdb and openimageio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_suffixes    {27 36 37 38}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_ports       {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend pythons_ports python${s}
</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;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set p python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set v [string index ${s} 0].[string index ${s} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set i [lsearch -exact ${pythons_ports} ${p}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set c [lreplace ${pythons_ports} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant ${p} requires boost hdf5 conflicts {*}${c} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description "Build Alembic with Python ${v} bindings" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Note to future maintainers of this port: All of the following
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # code MUST be wrapped inside double quotes and NOT curly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # braces. Otherwise, the values of the various variables will be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # wrong, and all of the variants will end up being built with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # whatever version of Python happens to be the last value of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # python_suffixes!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append      port:${p} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:py${s}-pyilmbase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patch_pyalembic_files ${s}
</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-append   -DUSE_PYALEMBIC=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                -DPYTHON_EXECUTABLE:FILEPATH=${prefix}/bin/python${v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>