diff options
Diffstat (limited to 'science/py-tensorflow/Makefile')
-rw-r--r-- | science/py-tensorflow/Makefile | 107 |
1 files changed, 39 insertions, 68 deletions
diff --git a/science/py-tensorflow/Makefile b/science/py-tensorflow/Makefile index ce89ebf4ad00..15489d182e8c 100644 --- a/science/py-tensorflow/Makefile +++ b/science/py-tensorflow/Makefile @@ -1,12 +1,14 @@ PORTNAME= tensorflow DISTVERSIONPREFIX= v -DISTVERSION= 2.9.1 -PORTREVISION= 21 +DISTVERSION= 2.13.1 CATEGORIES= science python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DIST_SUBDIR= ${PORTNAME} EXTRACT_ONLY= ${DISTNAME}.tar.gz +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES= ba7501696cc.patch:-p1 667cf3ed2d7.patch:-p1 + MAINTAINER= amzo1337@gmail.com COMMENT= Computation using data flow graphs for scalable machine learning WWW= https://www.tensorflow.org @@ -14,61 +16,56 @@ WWW= https://www.tensorflow.org LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN= variable has incomplete type 'StateSaver' ONLY_FOR_ARCHS= amd64 BUILD_DEPENDS= ${RUN_DEPENDS} \ ${PYTHON_PKGNAMEPREFIX}grpcio-tools>=1.22.0:devel/py-grpcio-tools@${PY_FLAVOR} \ bash:shells/bash \ - cython:lang/cython \ - swig:devel/swig \ bazel:devel/bazel5 \ - git:devel/git + cython:lang/cython \ + git:devel/git \ + patchelf:sysutils/patchelf \ + swig:devel/swig LIB_DEPENDS= libnsync.so:devel/nsync \ libgpr.so:devel/grpc \ libpng.so:graphics/png \ libsnappy.so:archivers/snappy \ - liblmdb.so:databases/lmdb \ + libabsl_base.so:devel/abseil \ libsqlite3.so:databases/sqlite3 \ libicuio.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ - libpcre.so:devel/pcre \ - libnsync.so:devel/nsync \ libprotobuf.so:devel/protobuf \ - libprotobuf-c.so:devel/protobuf-c \ - libre2.so:devel/re2 \ libgif.so:graphics/giflib \ libcurl.so:ftp/curl \ - libflatbuffers.so:devel/flatbuffers \ libdouble-conversion.so:devel/double-conversion RUN_DEPENDS= pybind11>=2.6.2:devel/pybind11 \ - ${PYTHON_PKGNAMEPREFIX}absl-py>=1.0.0:devel/py-absl-py \ - ${PYTHON_PKGNAMEPREFIX}astunparse>=1.6.3:devel/py-astunparse@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.3.0:devel/py-typing-extensions@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}absl-py>=1.0.0:devel/py-absl-py@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}astunparse>=1.6.0:devel/py-astunparse@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flatbuffers>=23.1.21:devel/py-flatbuffers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}gast>=0.2.1:devel/py-gast@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}google-pasta>=0.1.1:devel/py-google-pasta@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}h5py>=2.9.0:science/py-h5py@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}flatbuffers>=2.0:devel/py-flatbuffers@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}gast>=0.5.3:devel/py-gast@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}numpy>=1.20.0:math/py-numpy@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}google-pasta>=0.1.7:devel/py-google-pasta@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}protobuf>=3.7.1:devel/py-protobuf@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}termcolor>=1.1.0:devel/py-termcolor@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}grpcio>=1.22.0:devel/py-grpcio@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}keras-preprocessing>=1.1.1:math/py-keras-preprocessing@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}wrapt>=1.14.1:devel/py-wrapt@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}wheel>=0.30.0:devel/py-wheel@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}opt-einsum>=3.3.0:math/py-opt-einsum@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=1.22.0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opt-einsum>=2.3.2:math/py-opt-einsum@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=21.3:devel/py-packaging@${PY_FLAVOR} \ - pybind11>=2.6.2:devel/pybind11 + ${PYTHON_PKGNAMEPREFIX}requests>=2.21.0:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}protobuf>=3.20.3:devel/py-protobuf@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}six>=1.12.0:devel/py-six@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}termcolor>=1.1.0:devel/py-termcolor@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.6.6:devel/py-typing-extensions@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wrapt>=1.11.0:devel/py-wrapt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}grpcio>=1.24.3:devel/py-grpcio@${PY_FLAVOR} -USES= jpeg llvm:16 python shebangfix ssl -USE_CXXSTD= c++17 +USES= jpeg perl5 python shebangfix ssl +USE_CXXSTD= c++17 USE_GITHUB= yes +USE_LDCONFIG= yes +USE_PERL5= build USE_PYTHON= distutils SHEBANG_GLOB= *.py -BAZEL_BOOT= --output_user_root=${WRKDIR}/bazel_out +BINARY_ALIAS= python3=${PYTHON_CMD} PLIST_SUB= TF_PORT_VERSION=${PORTVERSION} @@ -95,13 +92,17 @@ XLA_VARS_OFF= XLA_OPT="0" .include "Makefile.MASTER_SITES" +BAZEL_BOOT= --output_user_root=${WRKDIR}/bazel_out +.if !defined(WITH_DEBUG) +# For the reason why the linker is used for the strip, see PR 280234. +BAZEL_LINKOPT= --linkopt=-Wl,--strip-all +.endif + post-patch: # Set up a local repository with our pre-downloaded packages # This prevents bazel downloading the files without modifying # the bzl files. - @${MKDIR} ${WRKDIR}/bazel-cache @${MKDIR} ${WRKDIR}/bazel-dist - @${MKDIR} ${WRKDIR}/.bin .for file in ${DISTFILES:C/\:(.*)//} @${ECHO} "Moving ${file} to ${WRKDIR}/bazel-dist" @@ -112,24 +113,8 @@ post-patch: @${CP} -R ${PATCHDIR}/bazel/* \ ${WRKSRC}/third_party/ - @${LN} -s ${PYTHON_CMD} ${WRKDIR}/.bin/python3 - - @cd ${WRKSRC} && \ - ${REINPLACE_CMD} "s#--batch#${BAZEL_BOOT}\', \'--batch#" \ - configure.py - - ${REINPLACE_CMD} "s#%%PYTHON%%#${PYTHON_VERSION}#" ${WRKSRC}/configure \ - ${WRKSRC}/third_party/freebsd_python_fix.patch \ - ${WRKSRC}/tensorflow/compiler/mlir/quantization/tensorflow/BUILD - @${REINPLACE_CMD} "s#%%BAZEL_DIR%%#${WRKDIR}#" ${WRKDIR}/bazelrc @${REINPLACE_CMD} "s#%%BAZEL_DIST%%#${WRKDIR}#" ${WRKDIR}/bazelrc - @${REINPLACE_CMD} "s#%%MLIR_LLVM_PATCH%%#/${WRKSRC}/bazel/bazel_llvm-raw_utils_bazel_configure.bzl#" \ - ${WRKSRC}/tensorflow/compiler/mlir/hlo/WORKSPACE - - # use system pybind11, but use sed to fix includes, too many to maintain with patches - @${FIND} ${WRKSRC} -type f -name '*.cc' | ${XARGS} ${REINPLACE_CMD} "s#include\/pybind11#pybind11#" - # copy the toolchain over @${CP} -R ${PATCHDIR}/freebsd \ @@ -137,21 +122,10 @@ post-patch: @${REINPLACE_CMD} "s#%%PATH%%#${PATH}#" ${WRKDIR}/bazelrc - @${REINPLACE_CMD} "s#%%PYTHON%%#${PYTHON_CMD}#" ${WRKSRC}/.bazelrc - - @${REINPLACE_CMD} \ - -e "s#%%LOCALBASE%%#${LOCALBASE}#" \ - -e "s#%%LLVM_PREFIX%%#${LLVM_PREFIX}#g" \ - -e "s#%%LLVM_VERSION%%#${LLVM_VERSION}#g" \ + @${REINPLACE_CMD} -e "s#%%LOCALBASE%%#${LOCALBASE}#" \ ${WRKDIR}/bazelrc \ - ${WRKSRC}/third_party/absl/system.absl.strings.BUILD \ ${WRKSRC}/freebsd/cc_toolchain_config.bzl \ - ${WRKSRC}/.bazelrc \ - ${WRKSRC}/tensorflow/tools/proto_text/BUILD \ - ${WRKSRC}/tensorflow/BUILD \ - ${WRKSRC}/tensorflow/core/BUILD \ - ${WRKSRC}/third_party/systemlibs/protobuf.BUILD - + ${WRKSRC}/.bazelrc do-configure: @cd ${WRKSRC} && ${SETENV} \ @@ -175,14 +149,14 @@ do-configure: PREFIX="${LOCALBASE}" \ TF_SYSTEM_LIBS="absl_py astor_archive astunparse_archive boringssl com_github_googlecloudplatform_google_cloud_cpp com_github_grpc_grpc \ com_google_absl com_google_protobuf curl cython dill_archive double_conversion functools32_archive gast_archive \ - gif hwloc icu jsoncpp_git libjpeg_turbo lmdb nasm nsync opt_einsum_archive org_sqlite pasta png pybind11 six_archive snappy \ + gif hwloc icu jsoncpp_git libjpeg_turbo nasm nsync opt_einsum_archive org_sqlite pasta png pybind11 six_archive snappy \ tblib_archive termcolor_archive typing_extensions_archive wrapt zlib" \ ./configure do-build: @cd ${WRKSRC} && \ bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} build --jobs ${TF_JOBS_NUMBER} ${BAZEL_COPT} --host_copt="-I${LOCALBASE}/include" \ - --host_linkopt="-L${LOCALBASE}/lib -lexecinfo" --linkopt="-L${LOCALBASE}/lib -lexecinfo" --copt="-I${LOCALBASE}/include" \ + --host_linkopt="-L${LOCALBASE}/lib -lexecinfo" ${BAZEL_LINKOPT} --copt="-I${LOCALBASE}/include" \ --verbose_failures -s \ --distdir=${WRKDIR}/bazel-dist \ //tensorflow:libtensorflow_framework.so \ @@ -191,7 +165,6 @@ do-build: //tensorflow:install_headers \ //tensorflow/tools/pip_package:build_pip_package - @cd ${WRKSRC} && ${SETENV} TMPDIR=${WRKDIR} \ bazel-bin/tensorflow/tools/pip_package/build_pip_package \ ${WRKDIR}/whl @@ -224,10 +197,8 @@ do-install: @${FIND} ${WRKSRC}/bazel-bin/tensorflow/ -depth 1 -name "*.so*" | ${XARGS} -I{} \ ${INSTALL_LIB} {} ${STAGEDIR}/${LOCALBASE}/lib/ - @${FIND} ${STAGEDIR}/${LOCALBASE}/lib -name "*.so*" | ${XARGS} ${STRIP_CMD} - post-install: # autoplist: thousands of files, all under ${PYTHON_SITELIBDIR} @cd ${STAGEDIR}${PREFIX} && \ - ${FIND} ${PYTHON_SITELIBDIR:C|^${LOCALBASE}/||} -type f -or -type l | grep -v "egg-info/" >> ${TMPPLIST} + ${FIND} ${PYTHON_SITELIBDIR:C|^${LOCALBASE}/||} -type f -or -type l | ${GREP} -v "egg-info/" >> ${TMPPLIST} .include <bsd.port.mk> |