diff --git a/math/heyoka/Makefile b/math/heyoka/Makefile index 2193737b957d..4830fd24ccfc 100644 --- a/math/heyoka/Makefile +++ b/math/heyoka/Makefile @@ -1,54 +1,54 @@ PORTNAME= heyoka DISTVERSIONPREFIX= v DISTVERSION= 6.0.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= C++ library for ODE integration via Taylor's method and LLVM WWW= https://bluescarni.github.io/heyoka/ LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_FreeBSD_13= compilation fails: no member named 'transform' in namespace 'std::ranges'; did you mean 'llvm::transform' (std::ranges::transform isn't present) LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ libfmt.so:devel/libfmt \ libgmp.so:math/gmp \ libmp++.so:math/mppp \ libmpc.so:math/mpc \ libmpfr.so:math/mpfr \ libtbb.so:devel/onetbb \ libsleef.so:math/sleef \ libspdlog.so:devel/spdlog TEST_DEPENDS= xtensor>0:math/xtensor \ xtensor-blas>0:math/xtensor-blas USES= cmake:testing compiler:c++20-lang llvm:min=16,build,run USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= bluescarni CMAKE_ON= HEYOKA_WITH_MPPP HEYOKA_WITH_SLEEF CMAKE_TESTING_ON= HEYOKA_BUILD_TESTS # 1 test fails, see https://github.com/bluescarni/heyoka/issues/338 # 2 tests fail: # * https://github.com/bluescarni/heyoka/issues/429 # * https://github.com/bluescarni/heyoka/issues/430 .include # LLVM 18 and later use 1 for their minor version, while 17 and earlier use 0. # CMake's find_package() needs the minor version set correctly, otherwise it # will not be able to find the LLVM package. .if ${LLVM_VERSION} >= 18 LLVM_VERSION_MINOR= 1 .else LLVM_VERSION_MINOR= 0 .endif CMAKE_ARGS+= -DFREEBSD_LLVM_VERSION=${LLVM_VERSION}.${LLVM_VERSION_MINOR} .include diff --git a/misc/py-pytorch/Makefile b/misc/py-pytorch/Makefile index 06c8993ce0a3..4d8866293d97 100644 --- a/misc/py-pytorch/Makefile +++ b/misc/py-pytorch/Makefile @@ -1,86 +1,86 @@ PORTNAME= pytorch DISTVERSIONPREFIX= v DISTVERSION= 2.5.1 -PORTREVISION= 5 +PORTREVISION= 6 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 .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 diff --git a/misc/pytorch/Makefile b/misc/pytorch/Makefile index 6cdc35d19417..acf8c7a78198 100644 --- a/misc/pytorch/Makefile +++ b/misc/pytorch/Makefile @@ -1,82 +1,82 @@ PORTNAME= pytorch DISTVERSIONPREFIX= v DISTVERSION= 2.4.1 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= misc # machine-learning MASTER_SITES= https://github.com/pytorch/pytorch/releases/download/v${DISTVERSION}/ DIST_SUBDIR= ${PORTNAME} MAINTAINER= yuri@FreeBSD.org COMMENT= Tensors and dynamic neural networks in Python (C++ library) WWW= https://pytorch.org/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_i386= compilation fails: error: use of undeclared identifier 'AVX2' BUILD_DEPENDS= gmake:devel/gmake \ ${LOCALBASE}/include/fxdiv.h:devel/fxdiv \ ${PY_SETUPTOOLS} LIB_DEPENDS= libabsl_base.so:devel/abseil \ libblis.so:math/blis \ libopenblas.so:math/openblas \ libmpi_cxx.so:net/openmpi4 \ libonnx.so:misc/onnx \ libpthreadpool.so:devel/pthreadpool \ libprotobuf.so:devel/protobuf \ libsleef.so:math/sleef USES= compiler:c++17-lang cmake localbase:ldflags python # requires python even with PYTHON=off CMAKE_OFF= BUILD_CUSTOM_PROTOBUF USE_CUDA USE_ROCM USE_NNPACK USE_QNNPACK USE_PYTORCH_QNNPACK \ USE_FBGEMM # workaround recommended by the upstream here: https://github.com/pytorch/pytorch/issues/28337 CMAKE_ON= USE_SYSTEM_PYBIND11 \ USE_SYSTEM_SLEEF \ USE_SYSTEM_ONNX # see other USE_SYSTEM_xx in CMakeLists.txt CMAKE_ON+= ONNX_USE_LITE_PROTO # workaround for the protobuf-related failure described here: https://github.com/onnx/optimizer/issues/38 CMAKE_ARGS= -DPSIMD_SOURCE_DIR=${WRKSRC}/third_party/psimd \ -DPYTHON_EXECUTABLE=${PYTHON_CMD} MAKE_ENV= USE_NINJA=no # ninja breaks for some reason LDFLAGS+= -lexecinfo \ -pthread BINARY_ALIAS= make=${GMAKE} git=true OPTIONS_DEFINE= PYTHON # PYTHON only provides python support for the py-PyTorch port - it's not a python binding OPTIONS_DEFAULT= PYTHON OPTIONS_SUB= yes PYTHON_CMAKE_BOOL= BUILD_PYTHON PYTHON_PY_DEPENDS= ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} PYTHON_BUILD_DEPENDS= ${PYTHON_PY_DEPENDS} \ ${PY_SETUPTOOLS} \ pybind11>0:devel/pybind11 PYTHON_RUN_DEPENDS= ${PYTHON_PY_DEPENDS} .include .if ${ARCH} == "amd64" PLIST_SUB+= AMD64="" .else PLIST_SUB+= AMD64="@comment " .endif post-patch: # replace malloc.h -> stdlib.h in many places @cd ${WRKSRC} && for f in $$(${GREP} -rl "include " * | ${GREP} -E "\.(c|cpp|h|hpp)$$"); do \ ${REINPLACE_CMD} -i'' -E "s|include |include |" $$f; \ done # remove bundled fmt @${RM} -r ${WRKSRC}/third_party/fmt post-install: # functorch.so is installed back into the source directory, see https://github.com/pytorch/pytorch/issues/91524 @${RM} $$(${FIND} ${STAGEDIR} -name functorch.so) # https://github.com/pytorch/pytorch/issues/24417 @${FIND} ${STAGEDIR} -type d -empty -delete .include