mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 09:36:41 -04:00
Remark: this souldn’t be necessary, because the version of the library is the same, but due to many changes between these releases, it is safer this way. PR: 284314
86 lines
3.5 KiB
Makefile
86 lines
3.5 KiB
Makefile
PORTNAME= pytorch
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 2.5.1
|
|
PORTREVISION= 4
|
|
CATEGORIES= misc # machine-learning
|
|
MASTER_SITES= https://github.com/pytorch/pytorch/releases/download/v${DISTVERSION}/
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
DISTFILES= ${PORTNAME}-${DISTVERSIONFULL}${EXTRACT_SUFX} # the main tarball disappears when GH_xx tags are added w/out this line
|
|
DIST_SUBDIR= ${PORTNAME}
|
|
|
|
MAINTAINER= yuri@FreeBSD.org
|
|
COMMENT= PyTorch: Tensors and dynamic neural networks in Python
|
|
WWW= https://pytorch.org/
|
|
|
|
LICENSE= BSD3CLAUSE
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
BROKEN_aarch64= build fails: CMake Error at third_party/QNNPACK/CMakeLists.txt:47 (MESSAGE): Unrecognized CMAKE_SYSTEM_NAME = FreeBSD, see https://github.com/pytorch/pytorch/issues/144608
|
|
BROKEN_armv7= build fails: CMake Error at third_party/QNNPACK/CMakeLists.txt:47 (MESSAGE): Unrecognized CMAKE_SYSTEM_NAME = FreeBSD, see https://github.com/pytorch/pytorch/issues/144608
|
|
BROKEN_i386= build fails: DispatchStub.cpp:162:29: [0m[0;1;31merror: [0m[1muse of undeclared identifier 'AVX2'[0m
|
|
|
|
BUILD_DEPENDS= cmake:devel/cmake-core \
|
|
gmake:devel/gmake \
|
|
pybind11>0:devel/pybind11 \
|
|
${PYNUMPY} \
|
|
${LOCALBASE}/include/fxdiv.h:devel/fxdiv \
|
|
${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR}
|
|
LIB_DEPENDS= libabsl_base.so:devel/abseil \
|
|
libblis.so:math/blis \
|
|
libmpi_cxx.so:net/openmpi4 \
|
|
libonnx.so:misc/onnx \
|
|
libopenblas.so:math/openblas \
|
|
libpthreadpool.so:devel/pthreadpool \
|
|
libprotobuf.so:devel/protobuf \
|
|
libsleef.so:math/sleef
|
|
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}filelock>0:sysutils/py-filelock@${PY_FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}fsspec>0:filesystems/py-fsspec@${PY_FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}networkx>0:math/py-networkx@${PY_FLAVOR} \
|
|
${PYNUMPY} \
|
|
${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.8.0:devel/py-typing-extensions@${PY_FLAVOR}
|
|
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dill>0:devel/py-dill@${PY_FLAVOR} # optional dependency
|
|
|
|
USES= compiler:c++17-lang localbase:ldflags python
|
|
USE_PYTHON= distutils autoplist
|
|
|
|
USE_GITHUB= nodefault
|
|
GH_TUPLE= pytorch:cpuinfo:1e83a2f:cpuinfo/cpuinfo-with-freebsd-support # https://github.com/pytorch/cpuinfo/pull/230/commits
|
|
|
|
MAKE_ENV= USE_NINJA=no # ninja breaks for some reason
|
|
MAKE_ENV+= BUILD_TEST=0 # ninja breaks for some reason
|
|
MAKE_ENV+= USE_MKLDNN=0 # disable MKLDNN that doesn't exist, see https://github.com/pytorch/pytorch/issues/100957
|
|
MAKE_ENV+= USE_CUDNN=0
|
|
MAKE_ENV+= USE_LAPACK=1 # needed on FreeBSD to run w/out GPU
|
|
MAKE_ENV+= USE_QNNPACK=0
|
|
LDFLAGS+= -lexecinfo
|
|
|
|
BINARY_ALIAS= make=${GMAKE}
|
|
|
|
POST_PLIST= fix-plist
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${OPSYS} == FreeBSD
|
|
USES+= llvm:max=15
|
|
.endif
|
|
|
|
post-patch:
|
|
@cd ${WRKSRC} && \
|
|
${RM} -r third_party/cpuinfo third_party/fbgemm/third_party/cpuinfo && \
|
|
${CP} -r cpuinfo-with-freebsd-support third_party/cpuinfo && \
|
|
${CP} -r cpuinfo-with-freebsd-support third_party/fbgemm/third_party/cpuinfo
|
|
|
|
post-install: # strip binaries
|
|
@${STRIP_CMD} \
|
|
${STAGEDIR}${PYTHON_SITELIBDIR}/torch/bin/torch_shm_manager \
|
|
${STAGEDIR}${PYTHON_SITELIBDIR}/torch/_C${PYTHON_EXT_SUFFIX}.so \
|
|
${STAGEDIR}${PYTHON_SITELIBDIR}/functorch/_C${PYTHON_EXT_SUFFIX}.so \
|
|
${STAGEDIR}${PYTHON_SITELIBDIR}/torch/lib/lib*.so
|
|
|
|
fix-plist: # remove the stray %%PYTHON_SITELIBDIR%%/caffe2 file
|
|
@${REINPLACE_CMD} -e "s|.*/caffe2$$||" ${TMPPLIST}
|
|
|
|
.include <bsd.port.mk>
|