|
| 1 | +PORTNAME= libtensorflow1 |
| 2 | +DISTVERSIONPREFIX= v |
| 3 | +DISTVERSION= 1.15.5 |
| 4 | +DISTVERSIONSUFFIX= |
| 5 | +CATEGORIES= science |
| 6 | + |
| 7 | + |
| 8 | +COMMENT= C API for TensorFlow, an open source platform for machine learning |
| 9 | + |
| 10 | +LICENSE= APACHE20 THIRD_PARTY_TF_C_LICENSES |
| 11 | +LICENSE_COMB= multi |
| 12 | +LICENSE_NAME_THIRD_PARTY_TF_C_LICENSES= Third-Party TensorFlow C Licenses |
| 13 | +LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE |
| 14 | +LICENSE_FILE_THIRD_PARTY_TF_C_LICENSES= ${WRKDIR}/THIRD_PARTY_TF_C_LICENSES |
| 15 | +LICENSE_PERMS_THIRD_PARTY_TF_C_LICENSES= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept |
| 16 | + |
| 17 | +CONFLICTS_INSTALL= science/libtensorflow2 |
| 18 | + |
| 19 | +ONLY_FOR_ARCHS= amd64 |
| 20 | + |
| 21 | +BUILD_DEPENDS= bash:shells/bash \ |
| 22 | + bazel:devel/bazel029 \ |
| 23 | + git:devel/git |
| 24 | + |
| 25 | +USES= gmake python:3.7-3.9,build |
| 26 | +BINARY_ALIAS= python3=${PYTHON_CMD} |
| 27 | +BINARY_ALIAS+= python=${PYTHON_CMD} |
| 28 | + |
| 29 | +USE_GITHUB= yes |
| 30 | +GH_ACCOUNT= tensorflow |
| 31 | +GH_PROJECT= tensorflow |
| 32 | + |
| 33 | +USE_LDCONFIG= yes |
| 34 | + |
| 35 | +OPTIONS_DEFINE= CUDA ROCM XLA |
| 36 | + |
| 37 | +OPTIONS_SINGLE= CPUFEATURE |
| 38 | +OPTIONS_SINGLE_CPUFEATURE= NOAVX AVX AVX2 |
| 39 | + |
| 40 | +NOAVX_DESC= Disable Advanced Vector Extensions |
| 41 | +AVX_DESC= Enable Advanced Vector Extensions (AVX) |
| 42 | +AVX2_DESC= Enable Advanced Vector Extensions v2 (AVX2) |
| 43 | + |
| 44 | +NOAVX_VARS= BAZEL_ARGS="" |
| 45 | +AVX_VARS= BAZEL_ARGS="--copt=-march=core-avx-i --host_copt=-march=core-avx-i" |
| 46 | +AVX2_VARS= BAZEL_ARGS="--copt=-march=core-avx2 --host_copt=-march=core-avx2" |
| 47 | + |
| 48 | +CUDA_DESC= Enable Compute Unified Device Architecture (CUDA) for Nvidia GPUs |
| 49 | +CUDA_VARS= TF_ENABLE_CUDA=1 |
| 50 | +CUDA_VARS_OFF= TF_ENABLE_CUDA=0 |
| 51 | + |
| 52 | +ROCM_DESC= Enable Radeon Open Computer (ROCm) for AMD GPUs |
| 53 | +ROCM_VARS= TF_ENABLE_ROCM=1 |
| 54 | +ROCM_VARS_OFF= TF_ENABLE_ROCM=0 |
| 55 | + |
| 56 | +XLA_DESC= Enable Accelerated Linear Algebra (XLA) |
| 57 | +XLA_VARS= TF_ENABLE_XLA=1 |
| 58 | +XLA_VARS_OFF= TF_ENABLE_XLA=0 |
| 59 | + |
| 60 | +OPTIONS_DEFAULT= AVX |
| 61 | + |
| 62 | +BAZEL_OPTS= --output_user_root=${WRKDIR}/bazel_out |
| 63 | +CC?= clang |
| 64 | + |
| 65 | +post-extract: |
| 66 | + # THIRD_PARTY_TF_C_LICENSES is generated as a Bazel build target (see |
| 67 | + # //tensorflow/tools/lib_package:clicenses) and the empty file written |
| 68 | + # here will be overwritten. Creation of this file is to satisfy checks. |
| 69 | + @${TOUCH} ${WRKDIR}/THIRD_PARTY_TF_C_LICENSES |
| 70 | + |
| 71 | +do-configure: |
| 72 | + @cd ${WRKSRC} && ${SETENV} \ |
| 73 | + CC_OPT_FLAGS="-I${LOCALBASE}/include" \ |
| 74 | + PREFIX="${LOCALBASE}" \ |
| 75 | + PYTHON_BIN_PATH=${PYTHON_CMD} \ |
| 76 | + PYTHON_LIB_PATH="${PYTHON_SITELIBDIR}" \ |
| 77 | + TF_CONFIGURE_IOS=0 \ |
| 78 | + TF_DOWNLOAD_CLANG=0 \ |
| 79 | + TF_ENABLE_XLA=${TF_ENABLE_XLA} \ |
| 80 | + TF_IGNORE_MAX_BAZEL_VERSION=0 \ |
| 81 | + TF_NEED_CUDA=${TF_ENABLE_CUDA} \ |
| 82 | + TF_NEED_ROCM=${TF_ENABLE_ROCM} \ |
| 83 | + TF_NEED_TENSORRT=0 \ |
| 84 | + TF_SET_ANDROID_WORKSPACE=0 \ |
| 85 | + ${LOCALBASE}/bin/bash ./configure |
| 86 | + |
| 87 | +do-build: |
| 88 | + @cd ${WRKSRC} && ${LOCALBASE}/bin/bazel ${BAZEL_OPTS} build \ |
| 89 | + ${BAZEL_ARGS} \ |
| 90 | + --action_env=PATH=${PATH} \ |
| 91 | + --local_cpu_resources=${MAKE_JOBS_NUMBER} \ |
| 92 | + --noshow_loading_progress \ |
| 93 | + --noshow_progress \ |
| 94 | + --subcommands \ |
| 95 | + --verbose_failures \ |
| 96 | + //tensorflow/tools/lib_package:clicenses_generate \ |
| 97 | + //tensorflow/tools/lib_package:libtensorflow.tar.gz |
| 98 | + |
| 99 | +do-test: |
| 100 | + @cd ${WRKSRC} && ${LOCALBASE}/bin/bazel ${BAZEL_OPTS} test \ |
| 101 | + ${BAZEL_ARGS} \ |
| 102 | + --action_env=PATH=${PATH} \ |
| 103 | + --local_cpu_resources=${MAKE_JOBS_NUMBER} \ |
| 104 | + --noshow_loading_progress \ |
| 105 | + --noshow_progress \ |
| 106 | + --subcommands \ |
| 107 | + --test_env=CC=${CC} \ |
| 108 | + --verbose_failures \ |
| 109 | + //tensorflow/tools/lib_package:libtensorflow_test |
| 110 | + |
| 111 | +pre-install: |
| 112 | + @${CP} ${WRKSRC}/bazel-bin/tensorflow/tools/lib_package/THIRD_PARTY_TF_C_LICENSES ${WRKDIR}/THIRD_PARTY_TF_C_LICENSES |
| 113 | + @${MKDIR} ${WRKDIR}/lib_package |
| 114 | + @tar xz -C ${WRKDIR}/lib_package -f ${WRKSRC}/bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz |
| 115 | + ${MKDIR} ${STAGEDIR}${PREFIX}/include/tensorflow |
| 116 | + ${MKDIR} ${STAGEDIR}${PREFIX}/include/tensorflow/c |
| 117 | + ${MKDIR} ${STAGEDIR}${PREFIX}/include/tensorflow/c/eager |
| 118 | + |
| 119 | +do-install: |
| 120 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/c_api_experimental.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/c_api_experimental.h |
| 121 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/c_api.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/c_api.h |
| 122 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/eager/c_api.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/eager/c_api.h |
| 123 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_attrtype.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_attrtype.h |
| 124 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_datatype.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_datatype.h |
| 125 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_status.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_status.h |
| 126 | + ${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_tensor.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_tensor.h |
| 127 | + ${INSTALL_PROGRAM} ${WRKDIR}/lib_package/lib/libtensorflow.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.${DISTVERSION} |
| 128 | + ${INSTALL_PROGRAM} ${WRKDIR}/lib_package/lib/libtensorflow_framework.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.${DISTVERSION} |
| 129 | + @${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.1 |
| 130 | + @${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.1 ${STAGEDIR}${PREFIX}/lib/libtensorflow.so |
| 131 | + @${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.1 |
| 132 | + @${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.1 ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so |
| 133 | + |
| 134 | +.include <bsd.port.mk> |
0 commit comments