Files
2026-10-04 04:07:15 +00:00

55 lines
2.3 KiB
Makefile

PORTNAME= torchcodec
DISTVERSIONPREFIX= v
DISTVERSION= 0.16.0
CATEGORIES= multimedia python
#MASTER_SITES= PYPI # no tarball
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= PyTorch media decoding and encoding
WWW= https://github.com/pytorch/torchcodec
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytorch>0:misc/py-pytorch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-build-core>0:devel/py-scikit-build-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
LIB_DEPENDS= libabsl_base.so:devel/abseil \
libavformat.so:multimedia/ffmpeg \
libavif.so:graphics/libavif \
libheif.so:graphics/libheif \
libpng16.so:graphics/png \
libprotobuf.so:devel/protobuf \
libwebp.so:graphics/webp
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytorch>0:misc/py-pytorch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}torchvision>0:misc/py-torchvision@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR}
USES= cmake:indirect compiler:c++17-lang jpeg localbase pkgconfig python
USE_PYTHON= pep517 autoplist pytest
USE_GITHUB= yes
GH_ACCOUNT= meta-pytorch
CMAKE_ARGS= -DCMAKE_MODULE_PATH=${WRKSRC}/cmake
CONFIGURE_ENV= WRKSRC=${WRKSRC} # for cmake module
#MAKE_ENV= BUILD_AGAINST_ALL_FFMPEG_FROM_S3=1 # downloads binaries with this choice, see https://github.com/meta-pytorch/torchcodec/issues/1194
MAKE_ENV= I_CONFIRM_THIS_IS_NOT_A_LICENSE_VIOLATION=1
MAKE_ENV+= TORCHCODEC_BUILD_WEBP=0 # TODO figure out why WebP isn't discovered by cmake despite out FindWebP.cmake
MAKE_ENV+= TORCHCODEC_BUILD_AVIF=0 # TODO avif_s3 binaries are fetched intead of using a package, see https://github.com/AOMediaCodec/libavif/issues/3362
TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
TEST_ARGS= --disable-plugin-autoload
post-patch:
${MKDIR} ${WRKSRC}/cmake
@${CP} ${FILESDIR}/FindWebP.cmake ${WRKSRC}/cmake
@${REINPLACE_CMD} -e 's|%%WRKSRC%%|${WRKSRC}|' ${WRKSRC}/src/torchcodec/_core/CMakeLists.txt
# tests as of 0.16.0: 4 failed, 1864 passed, 815 skipped, 4 warnings in 321.82s (0:05:21) # all failures are related to missing frames, see https://github.com/meta-pytorch/torchcodec/issues/1709
.include <bsd.port.mk>