<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>