diff --git a/misc/py-tvm/Makefile b/misc/py-tvm/Makefile index ec06cd2df4ed..211e030c2762 100644 --- a/misc/py-tvm/Makefile +++ b/misc/py-tvm/Makefile @@ -1,52 +1,52 @@ PORTNAME= tvm DISTVERSIONPREFIX= v -DISTVERSION= 0.6.1 +DISTVERSION= 0.9.0 CATEGORIES= misc # machine-learning PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Deep learning compiler stack for cpu, gpu and specialized accelerators LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libtvm.so:misc/tvm RUN_DEPENDS= ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}cloudpickle>0:devel/py-cloudpickle@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}decorator>0:devel/py-decorator@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}synr>0:devel/py-synr@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR} USES= python:3.6+ +USE_PYTHON= distutils noegginfo + USE_GITHUB= yes GH_ACCOUNT= apache -GH_PROJECT= incubator-tvm -USE_PYTHON= distutils noegginfo -GH_TUPLE= dmlc:dlpack:0acb731:dlpack/3rdparty/dlpack \ - dmlc:dmlc-core:808f485:dmlc_core/3rdparty/dmlc-core +GH_PROJECT= tvm +GH_TUPLE= dmlc:dlpack:ddeb264:dlpack/3rdparty/dlpack \ + dmlc:dmlc-core:09511cf:dmlc_core/3rdparty/dmlc-core BUILD_WRKSRC= ${WRKSRC}/python INSTALL_WRKSRC= ${WRKSRC}/python -BUILD_WRKSRC_TOPI= ${WRKSRC}/topi/python -INSTALL_WRKSRC_TOPI= ${WRKSRC}/topi/python MAKE_ENV+= FREEBSD_LIBRARY_PATH=${LOCALBASE}/lib +BINARY_ALIAS= git=false + post-patch: @${REINPLACE_CMD} 's|dll_path = \[\]|dll_path = ["${LOCALBASE}/lib"]|' ${WRKSRC}/python/tvm/_ffi/libinfo.py -post-configure: - @cd ${BUILD_WRKSRC_TOPI} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS} - -post-build: - @cd ${BUILD_WRKSRC_TOPI} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS} - post-install: - @cd ${INSTALL_WRKSRC_TOPI} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS} - @${RM} -r ${STAGEDIR}${PREFIX}/tvm ${STAGEDIR}${PREFIX}/topi - @${RM} ${STAGEDIR}${PREFIX}/topi/libtvm_topi.so + # strip binaries @${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name "*.so" | ${XARGS} ${STRIP_CMD} # autoplist because 1) python's autoplist is inaccurate for tvm and 2) because there's the add-on package topi @cd ${STAGEDIR}${PREFIX} && \ - ${FIND} ${PYTHON_SITELIBDIR:C|${LOCALBASE}/||} -type f -or -type l >> ${TMPPLIST} + ${FIND} ${PYTHON_SITELIBDIR:C|${LOCALBASE}/||} -type f -or -type l > ${TMPPLIST} + @${ECHO} "bin/tvmc" >> ${TMPPLIST} + +# Not clear from docs how to run Python tests, see https://github.com/apache/tvm/issues/12158 .include diff --git a/misc/py-tvm/distinfo b/misc/py-tvm/distinfo index 1e6a223afb56..0f0621305638 100644 --- a/misc/py-tvm/distinfo +++ b/misc/py-tvm/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1594921156 -SHA256 (apache-incubator-tvm-v0.6.1_GH0.tar.gz) = e2688526d24242bbf5f3adbc0590b1234c4fd0b7a8f61bd837af6c49e5020713 -SIZE (apache-incubator-tvm-v0.6.1_GH0.tar.gz) = 2984949 -SHA256 (dmlc-dlpack-0acb731_GH0.tar.gz) = e246632ccb182369e78a4028bfd9d3ff8a3507620ba414126fb0e860477248ba -SIZE (dmlc-dlpack-0acb731_GH0.tar.gz) = 39435 -SHA256 (dmlc-dmlc-core-808f485_GH0.tar.gz) = b04ba9f1931d8b62c1bd3f06373582ce9e393fcd1d7241766c6e7d7b6119eca0 -SIZE (dmlc-dmlc-core-808f485_GH0.tar.gz) = 250572 +TIMESTAMP = 1658465287 +SHA256 (apache-tvm-v0.9.0_GH0.tar.gz) = bb6de5645095a7f7e2b2551f6dff8d1ca80f095852a6e1c2deeea569a7eb8816 +SIZE (apache-tvm-v0.9.0_GH0.tar.gz) = 7017289 +SHA256 (dmlc-dlpack-ddeb264_GH0.tar.gz) = 87e45c7141f8af012cf4e9829072342df2b568def3ed65f1c9bc5fa4b986e3c8 +SIZE (dmlc-dlpack-ddeb264_GH0.tar.gz) = 39502 +SHA256 (dmlc-dmlc-core-09511cf_GH0.tar.gz) = 8b7ba0e19a9f2c5d65d49758ab14631e99c4f501b689842fa6535fc44a05c46f +SIZE (dmlc-dmlc-core-09511cf_GH0.tar.gz) = 260299 diff --git a/misc/py-tvm/files/patch-python_tvm___ffi_libinfo.py b/misc/py-tvm/files/patch-python_tvm___ffi_libinfo.py deleted file mode 100644 index 7ee894abe7c4..000000000000 --- a/misc/py-tvm/files/patch-python_tvm___ffi_libinfo.py +++ /dev/null @@ -1,11 +0,0 @@ ---- python/tvm/_ffi/libinfo.py.orig 2019-11-27 03:24:12 UTC -+++ python/tvm/_ffi/libinfo.py -@@ -72,6 +72,8 @@ def find_lib_path(name=None, search_path=None, optiona - if sys.platform.startswith('linux'): - dll_path.extend(split_env_var('LD_LIBRARY_PATH', ':')) - dll_path.extend(split_env_var('PATH', ':')) -+ elif sys.platform.startswith('freebsd'): -+ dll_path.extend(split_env_var('FREEBSD_LIBRARY_PATH', ':')) - elif sys.platform.startswith('darwin'): - dll_path.extend(split_env_var('DYLD_LIBRARY_PATH', ':')) - dll_path.extend(split_env_var('PATH', ':')) diff --git a/misc/py-tvm/files/patch-python_tvm_contrib_cc.py b/misc/py-tvm/files/patch-python_tvm_contrib_cc.py deleted file mode 100644 index e53f93fc3ecf..000000000000 --- a/misc/py-tvm/files/patch-python_tvm_contrib_cc.py +++ /dev/null @@ -1,38 +0,0 @@ ---- python/tvm/contrib/cc.py.orig 2019-11-27 03:24:12 UTC -+++ python/tvm/contrib/cc.py -@@ -27,7 +27,7 @@ from .util import tempdir - def create_shared(output, - objects, - options=None, -- cc="g++"): -+ cc="c++"): - """Create shared library. - - Parameters -@@ -44,7 +44,7 @@ def create_shared(output, - cc : Optional[str] - The compiler command. - """ -- if sys.platform == "darwin" or sys.platform.startswith("linux"): -+ if sys.platform == "darwin" or sys.platform.startswith("linux") or sys.platform.startswith("freebsd"): - _linux_compile(output, objects, options, cc) - elif sys.platform == "win32": - _windows_shared(output, objects, options) -@@ -56,7 +56,7 @@ def create_shared(output, - create_shared.output_format = "so" if sys.platform != "win32" else "dll" - - --def build_create_shared_func(options=None, compile_cmd="g++"): -+def build_create_shared_func(options=None, compile_cmd="c++"): - """Build create_shared function with particular default options and compile_cmd. - - Parameters -@@ -108,7 +108,7 @@ def cross_compiler(compile_func, base_options=None, ou - return _fcompile - - --def _linux_compile(output, objects, options, compile_cmd="g++"): -+def _linux_compile(output, objects, options, compile_cmd="c++"): - cmd = [compile_cmd] - if output.endswith(".so") or output.endswith(".dylib"): - cmd += ["-shared", "-fPIC"] diff --git a/misc/py-tvm/files/patch-python_tvm_micro_base.py b/misc/py-tvm/files/patch-python_tvm_micro_base.py deleted file mode 100644 index a6b13850dc7c..000000000000 --- a/misc/py-tvm/files/patch-python_tvm_micro_base.py +++ /dev/null @@ -1,13 +0,0 @@ ---- python/tvm/micro/base.py.orig 2019-12-14 17:04:12 UTC -+++ python/tvm/micro/base.py -@@ -87,8 +87,8 @@ class Session: - - Raises error if not supported. - """ -- if not sys.platform.startswith("linux"): -- raise RuntimeError("microTVM is currently only supported on Linux") -+ if not sys.platform.startswith("linux") and not sys.platform.startswith("freebsd"): -+ raise RuntimeError("microTVM is currently only supported on Linux and FreeBSD") - # TODO(weberlo): Add 32-bit support. - # It's primarily the compilation pipeline that isn't compatible. - if sys.maxsize <= 2**32: