git: cfdce410e664 - main - misc/py-tvm: Update 0.6.1 -> 0.9.0

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 22 Jul 2022 06:33:10 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cfdce410e66421d70f6309f609ef85f3dd63c94c

commit cfdce410e66421d70f6309f609ef85f3dd63c94c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-07-22 06:29:23 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-07-22 06:33:05 +0000

    misc/py-tvm: Update 0.6.1 -> 0.9.0
    
    Reported by:    portscout
---
 misc/py-tvm/Makefile                               | 36 ++++++++++----------
 misc/py-tvm/distinfo                               | 14 ++++----
 .../py-tvm/files/patch-python_tvm___ffi_libinfo.py | 11 -------
 misc/py-tvm/files/patch-python_tvm_contrib_cc.py   | 38 ----------------------
 misc/py-tvm/files/patch-python_tvm_micro_base.py   | 13 --------
 5 files changed, 25 insertions(+), 87 deletions(-)

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,6 +1,6 @@
 PORTNAME=	tvm
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.6.1
+DISTVERSION=	0.9.0
 CATEGORIES=	misc # machine-learning
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
@@ -13,40 +13,40 @@ 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 <bsd.port.mk>
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: