<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/bfbb99ee648d7a27172838b9c265464be3e487d5">https://github.com/macports/macports-ports/commit/bfbb99ee648d7a27172838b9c265464be3e487d5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit bfbb99ee648d7a27172838b9c265464be3e487d5
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Fri Mar 8 17:03:15 2019 +0000

<span style='display:block; white-space:pre;color:#404040;'>    py-pytorch: New port
</span>---
 python/py-pytorch/Portfile                | 105 ++++++++++++++++++++++++++++++
 python/py-pytorch/files/FindMKL-OMP.patch |  14 ++++
 2 files changed, 119 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pytorch/Portfile b/python/py-pytorch/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..af823c3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,105 @@
</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           python                      1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cxx11                       1.1
</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           mpi                         1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                py-pytorch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.0.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        pytorch pytorch ${version} v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fetch.type          git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "git submodule update --init"
</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;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {jonesc @cjones051073} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Tensors and dynamic neural networks in Python with strong GPU acceleration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://pytorch.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.livecheck.regex  {([0-9.]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Support python versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 35 36 37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args      -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpi.setup           -gcc44 -gcc45 -clang33 -clang34 -clang37 -clang38 -clang39 -clang40 -gfortran -g95
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Compiler selection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append *gcc* {clang < 800} macports-clang-3.3 macports-clang-3.4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          macports-clang-3.7 macports-clang-4.0 macports-clang-3.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.whitelist clang macports-clang-7.0 macports-clang-6.0 macports-clang-5.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant mkl description {Enable Intel Math Kernel Library support} { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# enable MKL by default on 10.12 and newer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.major} >= 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants-append +mkl
</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 {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:cctools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:cmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${python.version}-setuptools
</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:eigen3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:gmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:mpfr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:OpenBLAS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:opencv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:zmq \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:zstd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${python.version}-cffi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${python.version}-gmpy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${python.version}-numpy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${python.version}-pybind11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${python.version}-yaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${python.version} < 35} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            port:py${python.version}-typing
</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 t_build_env "USE_OPENCV=ON USE_OPENMP=ON USE_CUDA=OFF USE_ZSTD=ON USE_ZMQ=ON CMAKE_LIBRARY_PATH=${prefix}:${prefix}/libomp LIBRARY_PATH=${prefix}:${prefix}/libomp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set PythonVersionWithDot [join [split ${python.version} ""] "."]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set py_lib_root ${prefix}/Library/Frameworks/Python.framework/Versions/${PythonVersionWithDot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Use Intel Math kernel Library 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset mkl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append FindMKL-OMP.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Hacks to get search paths into builds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|/opt/intel/mkl|${py_lib_root}|g"     cmake/Modules/FindMKL.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|mklvers \"intel64\"|mklvers \"\"|g"  cmake/Modules/FindMKL.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|MACPORTS_PREFIX|${prefix}|g"         cmake/Modules/FindMKL.cmake
</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:py${python.version}-mkl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            port:py${python.version}-mkl-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;'>+    build.cmd    "${t_build_env} ${python.bin} setup.py"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.cmd "${t_build_env} ${python.bin} setup.py install"
</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 py_torch_root ${py_lib_root}/lib/python${PythonVersionWithDot}/site-packages/torch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "install_name_tool -add_rpath ${py_torch_root}/lib ${destroot}${py_torch_root}/_C.cpython-${python.version}m-darwin.so"
</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;color:#808080;'>diff --git a/python/py-pytorch/files/FindMKL-OMP.patch b/python/py-pytorch/files/FindMKL-OMP.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..cb10be7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pytorch/files/FindMKL-OMP.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/cmake/Modules/FindMKL.cmake b/cmake/Modules/FindMKL.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b1423988..d7c359c53 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/cmake/Modules/FindMKL.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/cmake/Modules/FindMKL.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -102,6 +102,9 @@ IF (EXISTS ${INTEL_MKL_DIR})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "MACPORTS_PREFIX/lib")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "MACPORTS_PREFIX/lib/libomp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Try linking multiple libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MACRO(CHECK_ALL_LIBRARIES LIBRARIES _name _list _flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # This macro checks for the existence of the combination of libraries given by _list.
</span></pre><pre style='margin:0'>

</pre>