Added
Link Here
|
1 |
PORTNAME= libtensorflow1 |
2 |
DISTVERSIONPREFIX= v |
3 |
DISTVERSION= 1.15.5 |
4 |
DISTVERSIONSUFFIX= |
5 |
CATEGORIES= science |
6 |
|
7 |
MAINTAINER= freebsd-ports@otoh.org |
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 \ |
16 |
pkg-mirror pkg-sell auto-accept |
17 |
|
18 |
ONLY_FOR_ARCHS= amd64 |
19 |
|
20 |
BUILD_DEPENDS= bash:shells/bash \ |
21 |
bazel:devel/bazel029 \ |
22 |
git:devel/git |
23 |
|
24 |
USES= gmake python:3.7-3.9,build |
25 |
|
26 |
USE_GITHUB= yes |
27 |
GH_ACCOUNT= tensorflow |
28 |
GH_PROJECT= tensorflow |
29 |
GH_TUPLE= bazelbuild:rules_closure:308b05b2:bazelbuild_rules_closure \ |
30 |
intel:mkl-dnn:v0.20.6:intel_mkl_dnn_0 \ |
31 |
intel:mkl-dnn:v1.0-pc2:intel_mkl_dnn_1 \ |
32 |
abseil:abseil-cpp:43ef2148c0936ebf7cb4be6b19927a9d9d145b8f:abseil_abseil_cpp \ |
33 |
rvagg:rpi-newer-crosstools:eb68350c5c8ec1663b7fe52c742ac4271e3217c5:rvagg_rpi_newer_crosstools \ |
34 |
hfp:libxsmm:1.11:hfp_libxsmm \ |
35 |
google:re2:506cfa4bffd060c06ec338ce50ea3468daa6c814:google_re2 \ |
36 |
googleapis:google-cloud-cpp:v0.10.0:googleapis_google_cloud_cpp \ |
37 |
googleapis:googleapis:f81082ea1e2f85c43649bee26e0d9871d4b41cdb:googleapis_googleapis \ |
38 |
google:gemmlowp:12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3:google_gemmlowp \ |
39 |
google:farmhash:816a4ae622e964763ca0862d9dbd19324a1eaf45:google_farmhash \ |
40 |
glennrp:libpng:v1.6.37:glennrp_libpng \ |
41 |
abseil:abseil-py:pypi-v0.7.1:abseil_abseil_py \ |
42 |
protocolbuffers:protobuf:310ba5ee72661c081129eb878c1bbcec936b20f0:protocolbuffers_protobuf \ |
43 |
google:nsync:1.22.0:google_nsync \ |
44 |
google:googletest:b6cd405286ed8635ece71c72f118e659f4ade3fb:google_googletest \ |
45 |
gflags:gflags:v2.2.1:gflags_gflags \ |
46 |
grpc:grpc:4566c2a29ebec0835643b972eb99f4306c4234a3:grpc_grpc \ |
47 |
nanopb:nanopb:f8ac463766281625ad710900479130c7fcb4d63b:nanopb_nanopb \ |
48 |
antirez:linenoise:c894b9e59f02203dbe4e2be657572cf88c4230c3:antirez_linenoise \ |
49 |
llvm-mirror:llvm:7a7e03f906aada0cf4b749b51213fe5784eeff84:llvm_mirror_llvm \ |
50 |
LMDB:lmdb:LMDB_0.9.22:LMDB_lmdb \ |
51 |
open-source-parsers:jsoncpp:1.8.4:open_source_parsers_jsoncpp \ |
52 |
google:boringssl:7f634429a04abc48e2eb041c81c5235816c96514:google_boringssl \ |
53 |
google:snappy:1.1.7:google_snappy \ |
54 |
nvidia:nccl:0ceaec9cee96ae7658aa45686853286651f36384:nvidia_nccl \ |
55 |
edenhill:librdkafka:v0.11.5:edenhill_librdkafka \ |
56 |
google:pprof:c0fb62ec88c411cc91194465e54db2632845b650:google_pprof \ |
57 |
NVlabs:cub:1.8.0:NVlabs_cub \ |
58 |
ROCmSoftwarePlatform:rocPRIM:4a33d328f8352df1654271939da66914f2334424:ROCmSoftwarePlatform_rocPRIM \ |
59 |
cython:cython:0.28.4:cython_cython \ |
60 |
intel:ARM_NEON_2_x86_SSE:1200fe90bb174a6224a525ee60148671a786a71f:intel_ARM_NEON_2_x86_SSE \ |
61 |
google:double-conversion:3992066a95b823efc8ccc1baf82a1cfc73f6e9b8:google_double_conversion \ |
62 |
bazelbuild:rules_android:v0.1.1:bazelbuild_rules_android \ |
63 |
01org:tbb:2019_U1:01org_tbb \ |
64 |
NervanaSystems:ngraph:v0.11.0:NervanaSystems_ngraph \ |
65 |
nlohmann:json:v3.4.0:nlohmann_json \ |
66 |
NervanaSystems:ngraph-tf:v0.9.0:NervanaSystems_ngraph_tf \ |
67 |
pybind:pybind11:v2.3.0:pybind_pybind11 \ |
68 |
GrahamDumpleton:wrapt:1.11.1:GrahamDumpleton_wrapt |
69 |
|
70 |
USE_LDCONFIG= yes |
71 |
|
72 |
CONFLICTS_INSTALL= science/libtensorflow2 |
73 |
|
74 |
CC?= clang |
75 |
|
76 |
BINARY_ALIAS= python3=${PYTHON_CMD} python=${PYTHON_CMD} |
77 |
|
78 |
OPTIONS_DEFINE= CUDA OPENCL_SYCL ROCM XLA |
79 |
OPTIONS_DEFAULT= AVX |
80 |
|
81 |
OPTIONS_SINGLE= CPUFEATURE |
82 |
OPTIONS_SINGLE_CPUFEATURE= AVX AVX2 NOAVX |
83 |
|
84 |
NOAVX_DESC= Disable Advanced Vector Extensions |
85 |
AVX_DESC= Enable Advanced Vector Extensions (AVX) |
86 |
AVX2_DESC= Enable Advanced Vector Extensions v2 (AVX2) |
87 |
|
88 |
NOAVX_VARS= BAZEL_ARGS="" |
89 |
AVX_VARS= BAZEL_ARGS="--copt=-march=core-avx-i --host_copt=-march=core-avx-i" |
90 |
AVX2_VARS= BAZEL_ARGS="--copt=-march=core-avx2 --host_copt=-march=core-avx2" |
91 |
|
92 |
CUDA_DESC= Enable Compute Unified Device Architecture (CUDA) for Nvidia GPUs |
93 |
CUDA_VARS= TF_ENABLE_CUDA=1 |
94 |
CUDA_VARS_OFF= TF_ENABLE_CUDA=0 |
95 |
|
96 |
OPENCL_SYCL_DESC= Enable OpenCL Sycl |
97 |
OPENCL_SYCL_VARS= TF_NEED_OPENCL_SYCL=1 |
98 |
OPENCL_SYCL_VARS_OFF= TF_NEED_OPENCL_SYCL=0 |
99 |
|
100 |
ROCM_DESC= Enable Radeon Open Computer (ROCm) for AMD GPUs |
101 |
ROCM_VARS= TF_ENABLE_ROCM=1 |
102 |
ROCM_VARS_OFF= TF_ENABLE_ROCM=0 |
103 |
|
104 |
XLA_DESC= Enable Accelerated Linear Algebra (XLA) |
105 |
XLA_VARS= TF_ENABLE_XLA=1 |
106 |
XLA_VARS_OFF= TF_ENABLE_XLA=0 |
107 |
|
108 |
BAZEL_OPTS= --output_user_root=${WRKDIR}/bazel_out |
109 |
|
110 |
.include <bsd.port.options.mk> |
111 |
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1200000 && ${OSVERSION} < 1300000 |
112 |
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-third_party_repo.bzl |
113 |
.endif |
114 |
|
115 |
post-extract: |
116 |
# THIRD_PARTY_TF_C_LICENSES is generated as a Bazel build target (see |
117 |
# //tensorflow/tools/lib_package:clicenses) and the empty file written |
118 |
# here will be overwritten. Creation of this file is to satisfy checks. |
119 |
@${TOUCH} ${WRKDIR}/THIRD_PARTY_TF_C_LICENSES |
120 |
|
121 |
do-configure: |
122 |
@cd ${WRKSRC} && ${SETENV} \ |
123 |
CC_OPT_FLAGS="-I${LOCALBASE}/include -march=native -Wno-sign-compare" \ |
124 |
PREFIX="${LOCALBASE}" \ |
125 |
PYTHON_BIN_PATH=${PYTHON_CMD} \ |
126 |
PYTHON_LIB_PATH="${PYTHON_SITELIBDIR}" \ |
127 |
TF_CONFIGURE_IOS=0 \ |
128 |
TF_DOWNLOAD_CLANG=0 \ |
129 |
TF_NEED_OPENCL_SYCL=${TF_NEED_OPENCL_SYCL} \ |
130 |
TF_ENABLE_XLA=${TF_ENABLE_XLA} \ |
131 |
TF_IGNORE_MAX_BAZEL_VERSION=0 \ |
132 |
TF_NEED_CUDA=${TF_ENABLE_CUDA} \ |
133 |
TF_NEED_MPI=0 \ |
134 |
TF_NEED_ROCM=${TF_ENABLE_ROCM} \ |
135 |
TF_NEED_TENSORRT=0 \ |
136 |
TF_SET_ANDROID_WORKSPACE=0 \ |
137 |
${LOCALBASE}/bin/bash ./configure |
138 |
|
139 |
do-build: |
140 |
@cd ${WRKSRC} && ${LOCALBASE}/bin/bazel ${BAZEL_OPTS} build \ |
141 |
${BAZEL_ARGS} \ |
142 |
--action_env=PATH=${PATH} \ |
143 |
--discard_analysis_cache \ |
144 |
--local_cpu_resources=${MAKE_JOBS_NUMBER} \ |
145 |
--nokeep_state_after_build \ |
146 |
--noshow_loading_progress \ |
147 |
--noshow_progress \ |
148 |
--notrack_incremental_state \ |
149 |
--subcommands \ |
150 |
--verbose_failures \ |
151 |
//tensorflow/tools/lib_package:clicenses_generate \ |
152 |
//tensorflow/tools/lib_package:libtensorflow.tar.gz |
153 |
|
154 |
do-test: |
155 |
@cd ${WRKSRC} && ${LOCALBASE}/bin/bazel ${BAZEL_OPTS} test \ |
156 |
${BAZEL_ARGS} \ |
157 |
--action_env=PATH=${PATH} \ |
158 |
--discard_analysis_cache \ |
159 |
--local_cpu_resources=${MAKE_JOBS_NUMBER} \ |
160 |
--nokeep_state_after_build \ |
161 |
--noshow_loading_progress \ |
162 |
--noshow_progress \ |
163 |
--notrack_incremental_state \ |
164 |
--subcommands \ |
165 |
--test_env=CC=${CC} \ |
166 |
--verbose_failures \ |
167 |
//tensorflow/tools/lib_package:libtensorflow_test |
168 |
|
169 |
pre-install: |
170 |
@${CP} ${WRKSRC}/bazel-bin/tensorflow/tools/lib_package/THIRD_PARTY_TF_C_LICENSES ${WRKDIR}/THIRD_PARTY_TF_C_LICENSES |
171 |
@${MKDIR} ${WRKDIR}/lib_package |
172 |
@tar xz -C ${WRKDIR}/lib_package -f ${WRKSRC}/bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz |
173 |
${MKDIR} ${STAGEDIR}${PREFIX}/include/tensorflow |
174 |
${MKDIR} ${STAGEDIR}${PREFIX}/include/tensorflow/c |
175 |
${MKDIR} ${STAGEDIR}${PREFIX}/include/tensorflow/c/eager |
176 |
|
177 |
do-install: |
178 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/c_api_experimental.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/c_api_experimental.h |
179 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/c_api.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/c_api.h |
180 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/eager/c_api.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/eager/c_api.h |
181 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_attrtype.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_attrtype.h |
182 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_datatype.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_datatype.h |
183 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_status.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_status.h |
184 |
${INSTALL_DATA} ${WRKDIR}/lib_package/include/tensorflow/c/tf_tensor.h ${STAGEDIR}${PREFIX}/include/tensorflow/c/tf_tensor.h |
185 |
${INSTALL_PROGRAM} ${WRKDIR}/lib_package/lib/libtensorflow.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.${DISTVERSION} |
186 |
${INSTALL_PROGRAM} ${WRKDIR}/lib_package/lib/libtensorflow_framework.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.${DISTVERSION} |
187 |
@${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.1 |
188 |
@${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.1 ${STAGEDIR}${PREFIX}/lib/libtensorflow.so |
189 |
@${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.1 |
190 |
@${RLN} ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.1 ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so |
191 |
|
192 |
.include <bsd.port.mk> |