git: dcb22c03fdae - main - multimedia/py-decord: New port: Efficient video loader for deep learning

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 17 Jul 2024 08:44:53 UTC
The branch main has been updated by yuri:

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

commit dcb22c03fdaef8dfed8301f5d764000f844c45dc
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-07-17 07:41:28 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-07-17 08:44:50 +0000

    multimedia/py-decord: New port: Efficient video loader for deep learning
---
 multimedia/Makefile            |  1 +
 multimedia/py-decord/Makefile  | 37 +++++++++++++++++++++++++++++++++++++
 multimedia/py-decord/distinfo  |  3 +++
 multimedia/py-decord/pkg-descr | 13 +++++++++++++
 4 files changed, 54 insertions(+)

diff --git a/multimedia/Makefile b/multimedia/Makefile
index 4212cc6af265..f4515db9788a 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -303,6 +303,7 @@
     SUBDIR += py-PySceneDetect
     SUBDIR += py-av
     SUBDIR += py-cec
+    SUBDIR += py-decord
     SUBDIR += py-enzyme
     SUBDIR += py-ffmpeg-python
     SUBDIR += py-gstreamer1
diff --git a/multimedia/py-decord/Makefile b/multimedia/py-decord/Makefile
new file mode 100644
index 000000000000..c2988405d176
--- /dev/null
+++ b/multimedia/py-decord/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	decord
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.6.0
+CATEGORIES=	multimedia python # machine-learning
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Efficient video loader for deep learning
+WWW=		https://github.com/olemb/mido
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/../LICENSE
+
+LIB_DEPENDS=	libdecord.so:multimedia/decord
+
+USES=		python
+USE_PYTHON=	distutils autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	dmlc
+
+WRKSRC_SUBDIR=	python
+
+MAKE_ENV=	DECORD_LIBRARY_PATH=${LOCALBASE}/lib
+
+POST_PLIST=	fix-plist
+
+NO_ARCH=	yes
+
+fix-plist:
+	@${REINPLACE_CMD} -e "s|decord/libdecord.so||" ${TMPPLIST}
+
+post-install:
+	@${RM} ${STAGEDIR}${PREFIX}/decord/libdecord.so
+	@${RMDIR} ${STAGEDIR}${PREFIX}/decord
+
+.include <bsd.port.mk>
diff --git a/multimedia/py-decord/distinfo b/multimedia/py-decord/distinfo
new file mode 100644
index 000000000000..9a0a424666b7
--- /dev/null
+++ b/multimedia/py-decord/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1721154896
+SHA256 (dmlc-decord-v0.6.0_GH0.tar.gz) = 4aeeb102973bbf6e3b0344d53b055e49939ea47f3607fd0e8ae4aad2d4e60b5b
+SIZE (dmlc-decord-v0.6.0_GH0.tar.gz) = 19222049
diff --git a/multimedia/py-decord/pkg-descr b/multimedia/py-decord/pkg-descr
new file mode 100644
index 000000000000..df595fe969de
--- /dev/null
+++ b/multimedia/py-decord/pkg-descr
@@ -0,0 +1,13 @@
+Decord is a reverse procedure of Record. It provides convenient video slicing
+methods based on a thin wrapper on top of hardware accelerated video decoders,
+e.g.
+  FFMPEG/LibAV(Done)
+  Nvidia Codecs(Done)
+  Intel Codecs
+
+Decord was designed to handle awkward video shuffling experience in order to
+provide smooth experiences similar to random image loader for deep learning.
+
+Decord is also able to decode audio from both video and audio files. One can
+slice video and audio together to get a synchronized result; hence providing
+a one-stop solution for both video and audio decoding.