Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Aug 2019 15:28:01 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r508257 - in head: . science science/py-tensorflow science/py-tensorflow/files
Message-ID:  <201908061528.x76FS1GX076730@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Tue Aug  6 15:28:01 2019
New Revision: 508257
URL: https://svnweb.freebsd.org/changeset/ports/508257

Log:
  Re-add science/py-tensorflow: Computation using data flow graphs for scalable machine learning
  
  Many thanks to Anthony who was highly persistent and skillful in getting the Tensorflow build on FreeBSD!
  
  PR:		226400
  Submitted by:	Anthony <amzo1337@gmail.com>

Added:
  head/science/py-tensorflow/
     - copied from r476657, head/science/py-tensorflow/
  head/science/py-tensorflow/Makefile.MASTER_SITES   (contents, props changed)
  head/science/py-tensorflow/files/bazelrc   (contents, props changed)
  head/science/py-tensorflow/files/patch-bazelrc   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_contrib_boosted__trees_build   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_contrib_ignite_kernels_client_ignite__plain__client__unix.cc   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_contrib_makefile_makefile   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_core_BUILD   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_core_platform_cloud_gcs__dns__cache.cc   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_core_platform_default_build__config.bzl   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_core_platform_posix_env.cc   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_core_proto_autotuning.proto   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_lite_experimental_micro_tools_make_targets_freebsd__makefile.inc   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_lite_kernels_internal_build   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_lite_tools_make_makefile   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_lite_tools_make_targets_freebsd__makefile.inc   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_tensorflow.bzl   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_tools_lib__package_build   (contents, props changed)
  head/science/py-tensorflow/files/patch-tensorflow_tools_pip__package_build   (contents, props changed)
  head/science/py-tensorflow/files/patch-third__party_aws_build.bazel   (contents, props changed)
  head/science/py-tensorflow/files/patch-third__party_systemlibs_enum34.build   (contents, props changed)
  head/science/py-tensorflow/files/patch-third__party_systemlibs_grpc.build   (contents, props changed)
  head/science/py-tensorflow/files/patch-third__party_systemlibs_protobuf.bzl   (contents, props changed)
  head/science/py-tensorflow/files/patch-third__party_systemlibs_swig.build   (contents, props changed)
  head/science/py-tensorflow/files/patch-third__party_systemlibs_syslibs__configure.bzl   (contents, props changed)
  head/science/py-tensorflow/files/patch-third_party_gpus_rocm_configure.bzl   (contents, props changed)
Deleted:
  head/science/py-tensorflow/files/patch-WORKSPACE
  head/science/py-tensorflow/files/patch-tensorflow__third__party_grpc_include_grpc_impl_codegen_port__platform.h
  head/science/py-tensorflow/files/patch-tensorflow__third__party_protobuf_src_google_protobuf_compiler_plugin.pb.cc
  head/science/py-tensorflow/files/patch-tensorflow__third__party_protobuf_src_google_protobuf_compiler_plugin.pb.h
  head/science/py-tensorflow/pkg-plist
Modified:
  head/MOVED
  head/science/Makefile
  head/science/py-tensorflow/Makefile
  head/science/py-tensorflow/distinfo
  head/science/py-tensorflow/files/patch-tensorflow_workspace.bzl

Modified: head/MOVED
==============================================================================
--- head/MOVED	Tue Aug  6 15:05:43 2019	(r508256)
+++ head/MOVED	Tue Aug  6 15:28:01 2019	(r508257)
@@ -10353,7 +10353,6 @@ security/shibboleth2-sp|security/shibboleth-sp|2018-08
 security/opensaml2|security/opensaml|2018-08-07|Project updated to version 3, so the 2 suffix is not valid anymore
 devel/lldb38|devel/llvm38|2018-08-08|METAPORT removed
 lang/clang38|devel/llvm38|2018-08-08|METAPORT removed
-science/py-tensorflow||2018-08-08|Has expired: build broken
 devel/bazel-clang38|devel/bazel|2018-08-08|Slave port depends on obsolete LLVM version
 security/libbeid|security/beid|2018-08-12|No longer just a library
 editors/joe2|editors/joe|2018-08-12|Patches from editors/joe2 have been integrated into editors/joe

Modified: head/science/Makefile
==============================================================================
--- head/science/Makefile	Tue Aug  6 15:05:43 2019	(r508256)
+++ head/science/Makefile	Tue Aug  6 15:28:01 2019	(r508257)
@@ -279,6 +279,7 @@
     SUBDIR += py-scipy
     SUBDIR += py-scoria
     SUBDIR += py-spglib
+    SUBDIR += py-tensorflow
     SUBDIR += py-veusz
     SUBDIR += py-ws2300
     SUBDIR += pybrain

Modified: head/science/py-tensorflow/Makefile
==============================================================================
--- head/science/py-tensorflow/Makefile	Wed Aug  8 19:07:31 2018	(r476657)
+++ head/science/py-tensorflow/Makefile	Tue Aug  6 15:28:01 2019	(r508257)
@@ -1,90 +1,149 @@
-# Created by: Jov <amutu@amutu.com>
 # $FreeBSD$
 
 PORTNAME=	tensorflow
-PORTVERSION=	1.2.1
-PORTREVISION=	1
 DISTVERSIONPREFIX=	v
+DISTVERSION=	1.14.0
 CATEGORIES=	science python
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DIST_SUBDIR=	${PORTNAME}
+EXTRACT_ONLY=	tensorflow-tensorflow-v1.14.0_GH0.tar.gz
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	amzo1337@gmail.com
 COMMENT=	Computation using data flow graphs for scalable machine learning
 
 LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN=		fails to build
-DEPRECATED=	Broken for more than 6 months
-EXPIRATION_DATE=	2018-06-06
+ONLY_FOR_ARCHS=	amd64
 
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}wheel>=0.29.0:devel/py-wheel@${PY_FLAVOR} \
+BUILD_DEPENDS=	${RUN_DEPENDS} \
+		${PYTHON_PKGNAMEPREFIX}grpcio-tools>=1.22.0:devel/py-grpcio-tools@${PY_FLAVOR} \
+		bash:shells/bash \
+		cython:lang/cython \
+		swig3.0:devel/swig30 \
+		bazel:devel/bazel
+LIB_DEPENDS=	libsnappy.so:archivers/snappy \
+		liblmdb.so:databases/lmdb \
+		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 \
+		libpng.so:graphics/png \
+		libgpr.so:devel/grpc \
+		libcurl.so:ftp/curl \
+		libgoogle_cloud_cpp_common.so:devel/google-cloud-cpp \
+		libflatbuffers.so:devel/flatbuffers \
+		libdouble-conversion.so:devel/double-conversion
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}absl>=0.7.1:devel/py-absl@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}astor>=0.5:devel/py-astor@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}gast>=0.2.2:devel/py-gast@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}numpy>=1.11.2:math/py-numpy@${PY_FLAVOR} \
-		bash:shells/bash
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.11.2:math/py-numpy@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}markdown>=2.6.8:textproc/py-markdown@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}bleach>=1.4.2:www/py-bleach@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}html5lib>=0.9999999:www/py-html5lib@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}protobuf>=3.2.0:devel/py-protobuf@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}wheel>=0.29.0:devel/py-wheel@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mock>=1.3.0:devel/py-mock@${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}backports.weakref>=0:devel/py-backports.weakref@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}werkzeug>=0.11.10:www/py-werkzeug@${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>=2.2.4:math/py-keras@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wrapt>=1.11.2:devel/py-wrapt@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0.30.0:devel/py-wheel@${PY_FLAVOR}
 
-USES=		python:2.7 shebangfix
-
+USES=		python:3.6 shebangfix jpeg ssl
+SHEBANG_GLOB=	*.py
 USE_GITHUB=	yes
-GH_TUPLE=	amutu:tensorflow_third_party:v${PORTVERSION}:tf/tensorflow_third_party
+USE_PYTHON=	distutils
 
-USE_PYTHON=	autoplist distutils
+OPTIONS_DEFINE=	CPU_OPTS
+CPU_OPTS_DESC=	Enable CPU optimisations
 
-BAZEL_BOOT=	--output_user_root=${WRKSRC}/bazel_ot --batch
+BAZEL_BOOT=	--output_user_root=${WRKDIR}/bazel_out
 
-SHEBANG_GLOB=	*.py
-
 PLIST_SUB=	TF_PORT_VERSION=${PORTVERSION}
 
+.include "Makefile.MASTER_SITES"
 .include <bsd.port.pre.mk>
 
-.if ${OSREL:R} <= 10
-BUILD_DEPENDS+=	bazel:devel/bazel-clang38
+.if !${PORT_OPTIONS:MCPU_OPTS}
+CPU_TARGET=x86-64
 .else
-BUILD_DEPENDS+=	bazel:devel/bazel
+CPU_TARGET=native
 .endif
 
-#clang has this check enabled by default, disable it
-#see: https://github.com/tensorflow/tensorflow/issues/8894
-.if ${ARCH} == "i386"
-BAZEL_COPT+=	--copt=-Wno-c++11-narrowing
-.endif
-
 post-patch:
-	(cd ${WRKSRC} && \
-	${REINPLACE_CMD} "s#bazel \([cf]\)#echo bazel ${BAZEL_BOOT} \1#g" \
-	configure && \
-	${REINPLACE_CMD} "s#tensorflow_third_party#${WRKSRC}/&#g" \
-	WORKSPACE tensorflow/workspace.bzl)
+	# 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-distdir
 
+.for file in ${DISTFILES:C/\:(.*)//}
+	@${ECHO} "Moving ${file} to ${WRKDIR}/bazel-cache"
+	@${CP} ${DISTDIR}/${DIST_SUBDIR}/${file} ${WRKDIR}/bazel-distdir
+.endfor
+
+	@cd ${WRKSRC} && \
+		${REINPLACE_CMD} "s#--batch#${BAZEL_BOOT}\', \'--batch#" \
+		configure.py
+
+	@${CP} ${PATCHDIR}/bazelrc ${WRKDIR}/bazelrc
+	@${REINPLACE_CMD} "s#%%BAZEL_DIR%%#${WRKDIR}#" ${WRKDIR}/bazelrc
+	@${REINPLACE_CMD} "s#%%BAZEL_DIST%%#${WRKDIR}#" ${WRKDIR}/bazelrc
+	@${REINPLACE_CMD} "s#%%LOCALBASE%%#${LOCALBASE}#" ${WRKDIR}/bazelrc \
+		${WRKSRC}/tensorflow/tensorflow.bzl ${WRKSRC}/.bazelrc \
+		${WRKSRC}/tensorflow/core/BUILD \
+		${WRKSRC}/third_party/systemlibs/protobuf.bzl
+
 do-configure:
-	(cd ${WRKSRC} && ${SETENV} \
+	@cd ${WRKSRC} && ${SETENV} \
 		PYTHON_BIN_PATH=${PYTHON_CMD} \
-		TF_NEED_MKL=N \
-		CC_OPT_FLAGS="${CFLAGS}" \
-		TF_NEED_GCP=N TF_NEED_HDFS=N \
-		TF_ENABLE_XLA=N \
-		TF_NEED_OPENCL=N \
-		TF_NEED_CUDA=N \
 		PYTHON_LIB_PATH="${PYTHON_SITELIBDIR}" \
-		TF_NEED_VERBS=N \
-		./configure)
+		TF_NEED_JEMALLOC=0 \
+		TF_NEED_KAFKA=0 \
+		TF_NEED_OPENCL_SYCL=0 \
+		TF_NEED_AWS=0 \
+		TF_NEED_GCP=0 \
+		TF_NEED_HDFS=0 \
+		TF_NEED_S3=0 \
+		TF_ENABLE_XLA=0 \
+		TF_NEED_GDR=0 \
+		TF_NEED_VERBS=0 \
+		TF_NEED_OPENCL=0 \
+		TF_NEED_MPI=0 \
+		TF_NEED_TENSORRT=0 \
+		TF_NEED_NGRAPH=0 \
+		TF_NEED_IGNITE=0 \
+		TF_NEED_ROCM=0 \
+		TF_NEED_CUDA=0 \
+		TF_SET_ANDROID_WORKSPACE=0 \
+		TF_DOWNLOAD_CLANG=0 \
+		TF_NEED_NCCL=0 \
+		TF_NEED_OPENCL=0 \
+		TF_IGNORE_MAX_BAZEL_VERSION=1 \
+		CC_OPT_FLAGS="-march=${CPU_TARGET} -I${LOCALBASE}/include" \
+		PREFIX="${LOCALBASE}" \
+		TF_SYSTEM_LIBS="absl_py astor_archive boringssl com_github_googleapis_googleapis com_github_googlecloudplatform_google_cloud_cpp com_google_protobuf \
+				com_google_protobuf_cc com_googlesource_code_re2 curl cython double_conversion enum34_archive flatbuffers gast_archive gif_archive \
+				grpc hwloc icu jpeg jsoncpp_git keras_applications_archive lmdb nasm nsync org_sqlite pasta pcre png_archive protobuf_archive \
+				six_archive snappy swig termcolor_archive wrapt zlib_archive" \
+		./configure
 
 do-build:
-	(cd ${WRKSRC} && bazel ${BAZEL_BOOT} info && \
-		bazel ${BAZEL_BOOT} build ${BAZEL_COPT} --config=opt \
-		//tensorflow/tools/pip_package:build_pip_package --verbose_failures)
-	(cd ${WRKSRC} && ${SETENV} TMPDIR=${WRKDIR} \
+	@cd ${WRKSRC} && \
+		bazel --bazelrc="${WRKDIR}/bazelrc" ${BAZEL_BOOT} build ${BAZEL_COPT} --host_copt="-I${LOCALBASE}/include" \
+		--host_linkopt="-L${LOCALBASE}/lib" --linkopt="-L${LOCALBASE}/lib" --config=opt \
+		--incompatible_no_support_tools_in_action_inputs=false \
+		--verbose_failures -s \
+		//tensorflow:libtensorflow.so \
+		//tensorflow:libtensorflow_cc.so \
+		//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)
+		${WRKDIR}/whl
 
 do-install:
 	@${MKDIR} ${STAGEDIR}/${PYTHON_SITELIBDIR}
@@ -95,5 +154,9 @@ do-install:
 		${STAGEDIR}${PYTHON_SITELIBDIR}
 	cd ${WRKDIR}/tmp/${PORTNAME}-${PORTVERSION}.data/purelib && \
 		${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}
+
+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}
 
 .include <bsd.port.post.mk>

Added: head/science/py-tensorflow/Makefile.MASTER_SITES
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/Makefile.MASTER_SITES	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+DISTFILES+=	v0.18.tar.gz:mkldnn \
+		daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz:abseil \
+		a0d250e79c79.tar.gz:eigen \
+		12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip:gemmlowp \
+		816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz:farmhash \
+		cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz:closure \
+		94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz:toolchain \
+		b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz:docker \
+		0.6.0.tar.gz:skylib \
+		rules_swift.0.9.0.tar.gz:swift \
+		fft.tgz:fft \
+		1200fe90bb174a6224a525ee60148671a786a71f.tar.gz:neon \
+		fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz:highway \
+		license.rst.txt:license \
+		backports.weakref-1.0rc1.tar.gz:weakref
+
+
+MASTER_SITES+=	https://github.com/intel/mkl-dnn/archive/:mkldnn \
+		https://github.com/abseil/abseil-cpp/archive/:abseil \
+		https://bitbucket.org/eigen/eigen/get/:eigen \
+		https://github.com/google/gemmlowp/archive/:gemmlowp \
+		https://github.com/google/farmhash/archive/:farmhash \
+		https://github.com/bazelbuild/rules_closure/archive/:closure \
+		http://mirror.tensorflow.org/github.com/bazelbuild/bazel-toolchains/archive/:toolchain \
+		https://github.com/bazelbuild/rules_docker/archive/:docker \
+		https://github.com/bazelbuild/bazel-skylib/archive/:skylib \
+		https://github.com/bazelbuild/rules_swift/releases/download/0.9.0/:swift \
+		http://www.kurims.kyoto-u.ac.jp/~ooura/:fft \
+		http://mirror.tensorflow.org/github.com/intel/ARM_NEON_2_x86_SSE/archive/:neon \
+		http://mirror.tensorflow.org/github.com/google/highwayhash/archive/:highway \
+		http://mirror.tensorflow.org/docs.python.org/2.7/_sources/:license \
+		https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/:weakref

Modified: head/science/py-tensorflow/distinfo
==============================================================================
--- head/science/py-tensorflow/distinfo	Wed Aug  8 19:07:31 2018	(r476657)
+++ head/science/py-tensorflow/distinfo	Tue Aug  6 15:28:01 2019	(r508257)
@@ -1,5 +1,33 @@
-TIMESTAMP = 1500437892
-SHA256 (tensorflow-tensorflow-v1.2.1_GH0.tar.gz) = f2baf09b1a9a0500907b4d5cb5473070b3ecede06ed6e8d1096873c91922fb9e
-SIZE (tensorflow-tensorflow-v1.2.1_GH0.tar.gz) = 14488674
-SHA256 (amutu-tensorflow_third_party-v1.2.1_GH0.tar.gz) = 69e8d2a14981aa5dd23f7217e5e4b97fc7109a105cd4329b97c2801a66fb6b09
-SIZE (amutu-tensorflow_third_party-v1.2.1_GH0.tar.gz) = 170852467
+TIMESTAMP = 1564939361
+SHA256 (tensorflow/v0.18.tar.gz) = 38a1c02104ee9f630c1ad68164119cd58ad0aaf59e04ccbe7bd5781add7bfbea
+SIZE (tensorflow/v0.18.tar.gz) = 1497239
+SHA256 (tensorflow/daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz) = 56cd3fbbbd94468a5fff58f5df2b6f9de7a0272870c61f6ca05b869934f4802a
+SIZE (tensorflow/daf381e8535a1f1f1b8a75966a74e7cca63dee89.tar.gz) = 1275955
+SHA256 (tensorflow/a0d250e79c79.tar.gz) = 0dde8fb87f5dad2e409c9f4ea1bebc54e694cf4f3b633081b0d51a55c00f9c9f
+SIZE (tensorflow/a0d250e79c79.tar.gz) = 2468318
+SHA256 (tensorflow/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip) = 6678b484d929f2d0d3229d8ac4e3b815a950c86bb9f17851471d143f6d4f7834
+SIZE (tensorflow/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip) = 935628
+SHA256 (tensorflow/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz) = 6560547c63e4af82b0f202cb710ceabb3f21347a4b996db565a411da5b17aba0
+SIZE (tensorflow/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz) = 467122
+SHA256 (tensorflow/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz) = e0a111000aeed2051f29fcc7a3f83be3ad8c6c93c186e64beb1ad313f0c7f9f9
+SIZE (tensorflow/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz) = 462798
+SHA256 (tensorflow/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz) = 109a99384f9d08f9e75136d218ebaebc68cc810c56897aea2224c57932052d30
+SIZE (tensorflow/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz) = 505681
+SHA256 (tensorflow/b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz) = 4abb48f56b838957c9c72ac511b44f79612fcf39d08338fad14a8e3f6b0572ea
+SIZE (tensorflow/b8ff6a85ec359db3fd5657accd3e524daf12016d.tar.gz) = 460121
+SHA256 (tensorflow/0.6.0.tar.gz) = eb5c57e4c12e68c0c20bc774bfbc60a568e800d025557bc4ea022c6479acc867
+SIZE (tensorflow/0.6.0.tar.gz) = 29330
+SHA256 (tensorflow/rules_swift.0.9.0.tar.gz) = 9efe9699e9765e6b4a5e063e4a08f6b163cccaf0443f775d935baf5c3cd6ed0e
+SIZE (tensorflow/rules_swift.0.9.0.tar.gz) = 105918
+SHA256 (tensorflow/fft.tgz) = 52bb637c70b971958ec79c9c8752b1df5ff0218a4db4510e60826e0cb79b5296
+SIZE (tensorflow/fft.tgz) = 72213
+SHA256 (tensorflow/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz) = 213733991310b904b11b053ac224fee2d4e0179e46b52fe7f8735b8831e04dcc
+SIZE (tensorflow/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz) = 100612
+SHA256 (tensorflow/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz) = 9c3e0e87d581feeb0c18d814d98f170ff23e62967a2bd6855847f0b2fe598a37
+SIZE (tensorflow/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz) = 138574
+SHA256 (tensorflow/license.rst.txt) = e76cacdf0bdd265ff074ccca03671c33126f597f39d0ed97bc3e5673d9170cf6
+SIZE (tensorflow/license.rst.txt) = 45132
+SHA256 (tensorflow/backports.weakref-1.0rc1.tar.gz) = 8813bf712a66b3d8b85dc289e1104ed220f1878cf981e2fe756dfaabe9a82892
+SIZE (tensorflow/backports.weakref-1.0rc1.tar.gz) = 7761
+SHA256 (tensorflow/tensorflow-tensorflow-v1.14.0_GH0.tar.gz) = aa2a6a1daafa3af66807cfe0bc77bfe1144a9a53df9a96bab52e3e575b3047ed
+SIZE (tensorflow/tensorflow-tensorflow-v1.14.0_GH0.tar.gz) = 41335204

Added: head/science/py-tensorflow/files/bazelrc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/bazelrc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,17 @@
+startup --batch
+
+build --strip=never
+build --verbose_failures --noshow_loading_progress
+test --verbose_test_summary --verbose_failures --noshow_loading_progress
+
+build --spawn_strategy=local --genrule_strategy=local
+test --spawn_strategy=local --genrule_strategy=local
+
+# make bazel only fetch distfiles from the cache
+fetch --repository_cache="%%BAZEL_DIR%%/bazel-cache/" --distdir="%%BAZEL_DIST%%/bazel-distdir/"
+build --repository_cache="%%BAZEL_DIR%%/bazel-cache/" --distdir="%%BAZEL_DIST%%/bazel-distdir/"
+
+build --define=PREFIX=%%LOCALBASE%%
+build --define=LIBDIR=%%LOCALBASE%%/lib
+
+build --config=noaws --config=nohdfs --config=noignite --config=nokafka

Added: head/science/py-tensorflow/files/patch-bazelrc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-bazelrc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,11 @@
+--- .bazelrc.orig	2019-07-13 21:45:36.138413000 +0100
++++ .bazelrc	2019-07-13 21:46:25.898491000 +0100
+@@ -101,7 +101,7 @@
+ build:c++1z --cxxopt=-stdlib=libc++
+ 
+ # Default paths for TF_SYSTEM_LIBS
+-build --define=PREFIX=/usr
++build --define=PREFIX=%%LOCALBASE%%
+ build --define=LIBDIR=$(PREFIX)/lib
+ build --define=INCLUDEDIR=$(PREFIX)/include
+ 

Added: head/science/py-tensorflow/files/patch-tensorflow_contrib_boosted__trees_build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_contrib_boosted__trees_build	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,24 @@
+--- tensorflow/contrib/boosted_trees/BUILD.orig	2019-07-07 15:35:52.034885000 +0100
++++ tensorflow/contrib/boosted_trees/BUILD	2019-07-07 15:50:02.149725000 +0100
+@@ -27,6 +27,10 @@
+         ":stats_accumulator_ops_kernels",
+         ":training_ops_kernels",
+     ],
++    linkopts = select({
++        "//tensorflow:freebsd": ["-lm", "-lexecinfo",],
++    }),
++
+     alwayslink = 1,
+ )
+ 
+@@ -40,6 +44,10 @@
+         ":stats_accumulator_ops_op_lib",
+         ":training_ops_op_lib",
+     ],
++    linkopts = select({
++        "//tensorflow:freebsd": ["-lm", "-lexecinfo",],
++    }),
++
+ )
+ 
+ py_library(

Added: head/science/py-tensorflow/files/patch-tensorflow_contrib_ignite_kernels_client_ignite__plain__client__unix.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_contrib_ignite_kernels_client_ignite__plain__client__unix.cc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,13 @@
+--- tensorflow/contrib/ignite/kernels/client/ignite_plain_client_unix.cc.orig	2019-07-07 13:40:21.593527000 +0100
++++ tensorflow/contrib/ignite/kernels/client/ignite_plain_client_unix.cc	2019-07-07 13:40:59.586340000 +0100
+@@ -20,6 +20,10 @@
+ #include <sys/socket.h>
+ #include <unistd.h>
+ 
++#ifdef __FreeBSD__
++#include <netinet/in.h>
++#endif
++
+ #include <iostream>
+ #include <map>
+ 

Added: head/science/py-tensorflow/files/patch-tensorflow_contrib_makefile_makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_contrib_makefile_makefile	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,49 @@
+--- ./tensorflow/contrib/makefile/Makefile.orig	2019-07-08 16:51:36.748365000 +0100
++++ ./tensorflow/contrib/makefile/Makefile	2019-07-08 16:51:21.774903000 +0100
+@@ -60,12 +60,15 @@
+ 	ifeq ($(UNAME_S),Linux)
+ 	        HOST_OS := LINUX
+ 	endif
++        ifeq ($(UNAME_S),FreeBSD)
++                HOST_OS := FREEBSD
++        endif
+ 	ifeq ($(UNAME_S),Darwin)
+ 		HOST_OS := OSX
+ 	endif
+ endif
+ 
+-HOST_ARCH := $(shell if [[ $(shell uname -m) =~ i[345678]86 ]]; then echo x86_32; else echo $(shell uname -m); fi)
++HOST_ARCH := $(shell if uname -m | grep -q i[345678]86; then echo x86_32; elif uname -m | grep -q amd64; then echo x86_64; else uname -m; fi)
+ 
+ # Where compiled objects are stored.
+ HOST_OBJDIR := $(MAKEFILE_DIR)/gen/host_obj/
+@@ -111,6 +114,9 @@
+ ifeq ($(HOST_OS),LINUX)
+ 	HOST_LIBS += -ldl -lpthread
+ endif
++ifeq ($(HOST_OS),FREEBSD)
++        HOST_LIBS += -lexecinfo -lpthread
++endif
+ 
+ # If we're on a Pi, link in pthreads and dl
+ ifeq ($(HOST_OS),PI)
+@@ -248,7 +254,7 @@
+ 	LDFLAGS += -all_load
+ endif
+ # Make sure that we don't strip global constructors on Linux.
+-ifeq ($(TARGET),LINUX)
++ifeq ($(TARGET),LINUX,FREEBSD)
+ ifeq ($(HAS_GEN_HOST_PROTOC),true)
+ 	LIBFLAGS += -L$(MAKEFILE_DIR)/gen/protobuf-host/lib
+ 	export LD_LIBRARY_PATH=$(MAKEFILE_DIR)/gen/protobuf-host/lib
+@@ -261,6 +267,10 @@
+ ifeq ($(TARGET),LINUX)
+ 	LIBS += -ldl -lpthread
+ endif
++ifeq ($(TARGET),FREEBSD)
++        LIBS += -lexecinfo -lpthread
++endif
++
+ # If we're cross-compiling for the Raspberry Pi, use the right gcc.
+ ifeq ($(TARGET),PI)
+ 	CXXFLAGS += $(ANDROID_TYPES) -DRASPBERRY_PI

Added: head/science/py-tensorflow/files/patch-tensorflow_core_BUILD
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_core_BUILD	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,47 @@
+--- tensorflow/core/BUILD.orig	2019-06-18 23:48:23.000000000 +0100
++++ tensorflow/core/BUILD	2019-07-14 09:27:38.471527000 +0100
+@@ -2412,7 +2412,7 @@
+     copts = tf_copts(),
+     defines = LIB_INTERNAL_DEFINES,
+     linkopts = select({
+-        "//tensorflow:freebsd": [],
++        "//tensorflow:freebsd": ["-lexecinfo",],
+         "//tensorflow:windows": [],
+         "//tensorflow:android": [],
+         "//conditions:default": [
+@@ -2512,7 +2512,7 @@
+     hdrs = ["lib/gif/gif_io.h"],
+     copts = tf_copts(),
+     linkopts = select({
+-        "//tensorflow:freebsd": [],
++        "//tensorflow:freebsd": ["-lexecinfo",],
+         "//tensorflow:windows": [],
+         "//conditions:default": ["-ldl"],
+     }),
+@@ -2536,7 +2536,7 @@
+     ],
+     copts = tf_copts(),
+     linkopts = select({
+-        "//tensorflow:freebsd": [],
++        "//tensorflow:freebsd": ["-lexecinfo",],
+         "//tensorflow:windows": [],
+         "//conditions:default": ["-ldl"],
+     }),
+@@ -2566,7 +2566,7 @@
+     ],
+     copts = tf_copts(),
+     linkopts = select({
+-        "//tensorflow:freebsd": [],
++        "//tensorflow:freebsd": ["-lexecinfo",],
+         "//tensorflow:windows": [],
+         "//conditions:default": ["-ldl"],
+     }),
+@@ -2897,7 +2897,7 @@
+     hdrs = FRAMEWORK_INTERNAL_PUBLIC_HEADERS,
+     copts = tf_copts(),
+     linkopts = select({
+-        "//tensorflow:freebsd": ["-lm"],
++        "//tensorflow:freebsd": ["-lm", "-lexecinfo",],
+         "//tensorflow:windows": [],
+         "//conditions:default": [
+             "-ldl",

Added: head/science/py-tensorflow/files/patch-tensorflow_core_platform_cloud_gcs__dns__cache.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_core_platform_cloud_gcs__dns__cache.cc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,14 @@
+--- tensorflow/core/platform/cloud/gcs_dns_cache.cc.orig	2019-06-18 23:48:23.000000000 +0100
++++ tensorflow/core/platform/cloud/gcs_dns_cache.cc	2019-07-06 18:15:09.827112000 +0100
+@@ -24,6 +24,11 @@
+ #endif
+ #include <sys/types.h>
+ 
++#ifdef __FreeBSD__ 
++#include <sys/socket.h>
++#include <netinet/in.h>
++#endif
++
+ namespace tensorflow {
+ 
+ namespace {

Added: head/science/py-tensorflow/files/patch-tensorflow_core_platform_default_build__config.bzl
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_core_platform_default_build__config.bzl	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,13 @@
+--- tensorflow/core/platform/default/build_config.bzl.orig	2019-07-06 21:55:11.899673000 +0100
++++ tensorflow/core/platform/default/build_config.bzl	2019-07-06 21:56:04.571430000 +0100
+@@ -796,9 +796,7 @@
+         "//tensorflow:ios": [],
+         "//tensorflow:windows": [],
+         "//tensorflow:macos": [],
+-        "//conditions:default": [
+-            "@hwloc",
+-        ],
++        "//tensorflow:freebsd": [],
+     })
+ 
+ def tf_additional_numa_copts():

Added: head/science/py-tensorflow/files/patch-tensorflow_core_platform_posix_env.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_core_platform_posix_env.cc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,31 @@
+--- tensorflow/core/platform/posix/env.cc.orig	2019-06-18 23:48:23.000000000 +0100
++++ tensorflow/core/platform/posix/env.cc	2019-07-06 21:03:28.090735000 +0100
+@@ -28,6 +28,10 @@
+ #include <thread>
+ #include <vector>
+ 
++#ifdef __FREEBSD__
++#include <pthread.h>
++#endif
++
+ #include "tensorflow/core/lib/core/error_codes.pb.h"
+ #include "tensorflow/core/platform/env.h"
+ #include "tensorflow/core/platform/load_library.h"
+@@ -113,7 +117,7 @@
+     // Has to be casted to long first, else this error appears:
+     // static_cast from 'pthread_t' (aka 'pthread *') to 'int32' (aka 'int')
+     // is not allowed
+-    return static_cast<int32>(static_cast<int64>(pthread_self()));
++    return static_cast<int32>((int64)(pthread_self()));
+ #else
+     return static_cast<int32>(pthread_self());
+ #endif
+@@ -129,7 +133,7 @@
+         return true;
+       }
+     }
+-#if defined(__ANDROID__) || defined(__EMSCRIPTEN__)
++#if defined(__ANDROID__) || defined(__EMSCRIPTEN__) || defined(__FreeBSD__)
+     return false;
+ #else
+     char buf[100];

Added: head/science/py-tensorflow/files/patch-tensorflow_core_proto_autotuning.proto
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_core_proto_autotuning.proto	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,21 @@
+--- tensorflow/core/protobuf/autotuning.proto.orig	2019-06-18 23:48:23.000000000 +0100
++++ tensorflow/core/protobuf/autotuning.proto	2019-07-30 11:45:04.342068000 +0100
+@@ -11,14 +11,14 @@
+ import "google/protobuf/duration.proto";
+ 
+ message CudnnVersion {
+-  int32 major = 1;
+-  int32 minor = 2;
++  int32 major_val = 1;
++  int32 minor_val = 2;
+   int32 patch = 3;
+ }
+ 
+ message ComputeCapability {
+-  int32 major = 1;
+-  int32 minor = 2;
++  int32 major_val = 1;
++  int32 minor_val = 2;
+ }
+ 
+ message AutotuneResult {

Added: head/science/py-tensorflow/files/patch-tensorflow_lite_experimental_micro_tools_make_targets_freebsd__makefile.inc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_lite_experimental_micro_tools_make_targets_freebsd__makefile.inc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,13 @@
+--- /dev/null	2019-07-08 14:38:21.999045000 +0100
++++ tensorflow/lite/experimental/micro/tools/make/targets/freebsd_makefile.inc	2019-07-08 14:37:33.196932000 +0100
+@@ -0,0 +1,10 @@
++# Settings for x86 on FreeBSD
++ifeq ($(TARGET), freebsd)
++  ifeq ($(TARGET_ARCH), x86_64)
++    PLATFORM_FLAGS = \
++      -DTF_LITE_DISABLE_X86_NEON
++    CXXFLAGS += $(PLATFORM_FLAGS)
++    CCFLAGS += $(PLATFORM_FLAGS)
++  endif
++endif
++

Added: head/science/py-tensorflow/files/patch-tensorflow_lite_kernels_internal_build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_lite_kernels_internal_build	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,11 @@
+--- tensorflow/lite/kernels/internal/BUILD.orig	2019-07-09 13:22:19.397153000 +0100
++++ tensorflow/lite/kernels/internal/BUILD	2019-07-09 13:22:38.288994000 +0100
+@@ -607,7 +607,7 @@
+             ":neon_tensor_utils",
+         ],
+         "//conditions:default": [
+-            ":portable_tensor_utils",
++	    ":neon_tensor_utils",
+         ],
+     }),
+ )

Added: head/science/py-tensorflow/files/patch-tensorflow_lite_tools_make_makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_lite_tools_make_makefile	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,19 @@
+--- tensorflow/lite/tools/make/Makefile.orig	2019-07-08 14:04:30.373727000 +0100
++++ tensorflow/lite/tools/make/Makefile	2019-07-08 16:44:36.249811000 +0100
+@@ -16,12 +16,15 @@
+ 	ifeq ($(UNAME_S),Linux)
+ 		HOST_OS := linux
+ 	endif
++        ifeq ($(UNAME_S),FreeBSD)
++                HOST_OS := freebsd
++        endif
+ 	ifeq ($(UNAME_S),Darwin)
+ 		HOST_OS := osx
+ 	endif
+ endif
+ 
+-HOST_ARCH := $(shell if uname -m | grep -q i[345678]86; then echo x86_32; else uname -m; fi)
++HOST_ARCH := $(shell if uname -m | grep -q i[345678]86; then echo x86_32; elif uname -m | grep -q amd64; then echo x86_64; else uname -m; fi)
+ 
+ # Override these on the make command line to target a specific architecture. For example:
+ # make -f tensorflow/lite/tools/make/Makefile TARGET=rpi TARGET_ARCH=armv7l

Added: head/science/py-tensorflow/files/patch-tensorflow_lite_tools_make_targets_freebsd__makefile.inc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_lite_tools_make_targets_freebsd__makefile.inc	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,19 @@
+--- /dev/null	2019-07-08 14:12:50.536743000 +0100
++++ tensorflow/lite/tools/make/targets/freebsd_makefile.inc	2019-07-08 14:11:35.495868000 +0100
+@@ -0,0 +1,16 @@
++# Settings for FreeBSD.
++ifeq ($(TARGET), freebsd)
++  CXXFLAGS += \
++    -fPIC \
++    -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
++    -pthread
++  CFLAGS += \
++    -fPIC \  
++    -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
++    -pthread
++  # TODO(petewarden): In the future we may want to add architecture-specific
++  # flags like -msse4.2 
++        LIBS += -lexecinfo
++endif
++
++

Added: head/science/py-tensorflow/files/patch-tensorflow_tensorflow.bzl
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_tensorflow.bzl	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,65 @@
+--- tensorflow/tensorflow.bzl.orig	2019-06-18 23:48:23.000000000 +0100
++++ tensorflow/tensorflow.bzl	2019-07-13 13:57:17.579194000 +0100
+@@ -287,6 +287,7 @@
+             "-Wno-sign-compare",
+             "-fno-exceptions",
+             "-ftemplate-depth=900",
++	    "-I%%LOCALBASE%%/include",
+         ]) +
+         if_cuda(["-DGOOGLE_CUDA=1"]) +
+         if_tensorrt(["-DGOOGLE_TENSORRT=1"]) +
+@@ -603,7 +604,7 @@
+                 ],
+             ),
+             data = depset(data + added_data_deps),
+-            linkopts = linkopts + _rpath_linkopts(name_os),
++	    linkopts = linkopts + ["-lexecinfo", "-lgpr"] + _rpath_linkopts(name),
+             visibility = visibility,
+             **kwargs
+         )
+@@ -657,7 +658,7 @@
+     tf_cc_binary(
+         name = tool,
+         copts = tf_copts(),
+-        linkopts = if_not_windows(["-lm", "-Wl,-ldl"]),
++        linkopts = if_not_windows(["-lm", "-Wl, -lexecinfo"]),
+         linkstatic = 1,  # Faster to link this one-time-use binary dynamically
+         deps = [op_gen] + deps,
+     )
+@@ -839,7 +840,7 @@
+     tf_cc_binary(
+         name = tool_name,
+         copts = tf_copts(),
+-        linkopts = if_not_windows(["-lm", "-Wl,-ldl"]) + cc_linkopts,
++        linkopts = if_not_windows(["-L%%LOCALBASE%%/lib", "-lm", "-Wl, -lexecinfo"]) + cc_linkopts,
+         linkstatic = 1,  # Faster to link this one-time-use binary dynamically
+         visibility = [clean_dep("//tensorflow:internal")],
+         deps = ([
+@@ -954,8 +955,9 @@
+             "//conditions:default": [
+                 "-lpthread",
+                 "-lm",
++		"-lexecinfo",
+             ],
+-        }) + linkopts + _rpath_linkopts(name),
++        }) + linkopts + ["-lexecinfo"] + _rpath_linkopts(name),
+         deps = deps + tf_binary_dynamic_kernel_deps(kernels) + if_mkl_ml(
+             [
+                 clean_dep("//third_party/mkl:intel_binary_blob"),
+@@ -1103,7 +1105,7 @@
+         ]) + if_rocm_is_configured([
+             clean_dep("//tensorflow/core:gpu_lib"),
+         ]),
+-        linkopts = if_not_windows(["-lpthread", "-lm"]) + linkopts + _rpath_linkopts(name),
++        linkopts = if_not_windows(["-lpthread", "-lm", "-lexecinfo",]) + linkopts + _rpath_linkopts(name),
+         linkstatic = linkstatic or select({
+             # cc_tests with ".so"s in srcs incorrectly link on Darwin
+             # unless linkstatic=1.
+@@ -1784,6 +1786,7 @@
+         linkopts = linkopts + select({
+             "//conditions:default": [
+                 "-lm",
++		"-lexecinfo",
+             ],
+             clean_dep("//tensorflow:windows"): [],
+             clean_dep("//tensorflow:macos"): [],

Added: head/science/py-tensorflow/files/patch-tensorflow_tools_lib__package_build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_tools_lib__package_build	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,18 @@
+--- tensorflow/tools/lib_package/BUILD.orig	2019-07-06 21:58:28.528046000 +0100
++++ tensorflow/tools/lib_package/BUILD	2019-07-06 21:58:46.410184000 +0100
+@@ -152,7 +152,6 @@
+         "@gemmlowp//:LICENSE",
+         "@gif_archive//:COPYING",
+         "@highwayhash//:LICENSE",
+-        "@hwloc//:COPYING",
+         "@icu//:icu4c/LICENSE",
+         "@jpeg//:LICENSE.md",
+         "@lmdb//:LICENSE",
+@@ -223,7 +222,6 @@
+         "@gemmlowp//:LICENSE",
+         "@gif_archive//:COPYING",
+         "@highwayhash//:LICENSE",
+-        "@hwloc//:COPYING",
+         "@icu//:icu4j/main/shared/licenses/LICENSE",
+         "@jpeg//:LICENSE.md",
+         "@lmdb//:LICENSE",

Added: head/science/py-tensorflow/files/patch-tensorflow_tools_pip__package_build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/science/py-tensorflow/files/patch-tensorflow_tools_pip__package_build	Tue Aug  6 15:28:01 2019	(r508257)
@@ -0,0 +1,10 @@
+--- tensorflow/tools/pip_package/BUILD.orig	2019-07-06 22:03:09.438361000 +0100
++++ tensorflow/tools/pip_package/BUILD	2019-07-06 22:03:18.385021000 +0100
+@@ -175,7 +175,6 @@
+         "@gemmlowp//:LICENSE",
+         "@gif_archive//:COPYING",
+         "@highwayhash//:LICENSE",
+-        "@hwloc//:COPYING",
+         "@icu//:icu4c/LICENSE",
+         "@jpeg//:LICENSE.md",
+         "@keras_applications_archive//:LICENSE",

Modified: head/science/py-tensorflow/files/patch-tensorflow_workspace.bzl
==============================================================================
--- head/science/py-tensorflow/files/patch-tensorflow_workspace.bzl	Wed Aug  8 19:07:31 2018	(r476657)
+++ head/science/py-tensorflow/files/patch-tensorflow_workspace.bzl	Tue Aug  6 15:28:01 2019	(r508257)
@@ -1,2906 +1,10 @@
---- tensorflow/workspace.bzl.orig	2017-06-14 19:02:07 UTC
-+++ tensorflow/workspace.bzl
-@@ -147,2532 +147,832 @@ def tf_workspace(path_prefix="", tf_repo
-     print("tf_repo_name was specified to tf_workspace but is no longer used " +
-           "and will be removed in the future.")
+--- tensorflow/workspace.bzl.orig	2019-07-11 15:46:44.460265000 +0100
++++ tensorflow/workspace.bzl	2019-07-11 15:47:14.104299000 +0100
+@@ -346,6 +346,7 @@
+         ],
+         sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1",
+         build_file = clean_dep("//third_party:enum34.BUILD"),
++	system_build_file = clean_dep("//third_party/systemlibs:enum34.BUILD"),
+         strip_prefix = "enum34-1.1.6/enum",
+     )
  
--  native.new_http_archive(
-+  native.local_repository(
-       name = "eigen_archive",
--      urls = [
--          "http://mirror.bazel.build/bitbucket.org/eigen/eigen/get/f3a22f35b044.tar.gz",
--          "https://bitbucket.org/eigen/eigen/get/f3a22f35b044.tar.gz",
--      ],
--      sha256 = "ca7beac153d4059c02c8fc59816c82d54ea47fe58365e8aded4082ded0b820c4",
--      strip_prefix = "eigen-eigen-f3a22f35b044",
--      build_file = str(Label("//third_party:eigen.BUILD")),
-+      path = "tensorflow_third_party/eigen_archive"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "libxsmm_archive",
--      urls = [
--          "http://mirror.bazel.build/github.com/hfp/libxsmm/archive/1.8.tar.gz",
--          "https://github.com/hfp/libxsmm/archive/1.8.tar.gz",
--      ],
--      sha256 = "0330201afb5525d0950ec861fec9dd75eb40a03845ebe03d2c635cf8bfc14fea",
--      strip_prefix = "libxsmm-1.8",
--      build_file = str(Label("//third_party:libxsmm.BUILD")),
--  )
--
--  native.bind(
--      name = "xsmm_avx",
--      actual = "@libxsmm_archive//third_party:xsmm_avx",
-+      path = "tensorflow_third_party/libxsmm_archive"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "ortools_archive",
--      urls = [
--          "http://mirror.bazel.build/github.com/google/or-tools/archive/253f7955c6a1fd805408fba2e42ac6d45b312d15.tar.gz",
--          "https://github.com/google/or-tools/archive/253f7955c6a1fd805408fba2e42ac6d45b312d15.tar.gz",
--      ],
--      sha256 = "932075525642b04ac6f1b50589f1df5cd72ec2f448b721fd32234cf183f0e755",
--      strip_prefix = "or-tools-253f7955c6a1fd805408fba2e42ac6d45b312d15/src",
--      build_file = str(Label("//third_party:ortools.BUILD")),
-+      path = "tensorflow_third_party/ortools_archive"
-   )
- 
--  native.http_archive(
-+  native.local_repository(
-       name = "com_googlesource_code_re2",
--      urls = [
--          "http://mirror.bazel.build/github.com/google/re2/archive/b94b7cd42e9f02673cd748c1ac1d16db4052514c.tar.gz",
--          "https://github.com/google/re2/archive/b94b7cd42e9f02673cd748c1ac1d16db4052514c.tar.gz",
--      ],
--      sha256 = "bd63550101e056427c9e7ff12a408c1c8b74e9803f393ca916b2926fc2c4906f",
--      strip_prefix = "re2-b94b7cd42e9f02673cd748c1ac1d16db4052514c",
-+      path = "tensorflow_third_party/com_googlesource_code_re2"
-   )
- 
--  native.http_archive(
-+  native.local_repository(
-       name = "gemmlowp",
--      urls = [
--          "http://mirror.bazel.build/github.com/google/gemmlowp/archive/a6f29d8ac48d63293f845f2253eccbf86bc28321.tar.gz",
--          "https://github.com/google/gemmlowp/archive/a6f29d8ac48d63293f845f2253eccbf86bc28321.tar.gz",
--      ],
--      sha256 = "75d40ea8e68b0d1644f052fffe8f14a410b2a73d40ccb859a95c0578d194ec26",
--      strip_prefix = "gemmlowp-a6f29d8ac48d63293f845f2253eccbf86bc28321",
-+      path = "tensorflow_third_party/gemmlowp"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "farmhash_archive",
--      urls = [
--          "http://mirror.bazel.build/github.com/google/farmhash/archive/92e897b282426729f4724d91a637596c7e2fe28f.zip",
--          "https://github.com/google/farmhash/archive/92e897b282426729f4724d91a637596c7e2fe28f.zip",
--      ],
--      sha256 = "4c626d1f306bda2c6804ab955892f803f5245f4dcaecb4979dc08b091256da54",
--      strip_prefix = "farmhash-92e897b282426729f4724d91a637596c7e2fe28f",
--      build_file = str(Label("//third_party:farmhash.BUILD")),
--  )
--
--  native.bind(
--      name = "farmhash",
--      actual = "@farmhash//:farmhash",
-+      path = "tensorflow_third_party/farmhash_archive"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "highwayhash",
--      urls = [
--          "http://mirror.bazel.build/github.com/google/highwayhash/archive/dfcb97ca4fe9277bf9dc1802dd979b071896453b.tar.gz",
--          "https://github.com/google/highwayhash/archive/dfcb97ca4fe9277bf9dc1802dd979b071896453b.tar.gz",
--      ],
--      sha256 = "0f30a15b1566d93f146c8d149878a06e91d9bb7ec2cfd76906df62a82be4aac9",
--      strip_prefix = "highwayhash-dfcb97ca4fe9277bf9dc1802dd979b071896453b",
--      build_file = str(Label("//third_party:highwayhash.BUILD")),
-+      path = "tensorflow_third_party/highwayhash"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "nasm",
--      urls = [
--          "http://mirror.bazel.build/www.nasm.us/pub/nasm/releasebuilds/2.12.02/nasm-2.12.02.tar.bz2",
--          "http://pkgs.fedoraproject.org/repo/pkgs/nasm/nasm-2.12.02.tar.bz2/d15843c3fb7db39af80571ee27ec6fad/nasm-2.12.02.tar.bz2",
--      ],
--      sha256 = "00b0891c678c065446ca59bcee64719d0096d54d6886e6e472aeee2e170ae324",
--      strip_prefix = "nasm-2.12.02",
--      build_file = str(Label("//third_party:nasm.BUILD")),
-+      path = "tensorflow_third_party/nasm"
-   )
- 
--  temp_workaround_http_archive(
-+  native.local_repository(
-       name = "jpeg",
--      urls = [
--          "http://mirror.bazel.build/github.com/libjpeg-turbo/libjpeg-turbo/archive/1.5.1.tar.gz",
--          "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/1.5.1.tar.gz",
--      ],
--      sha256 = "c15a9607892113946379ccea3ca8b85018301b200754f209453ab21674268e77",
--      strip_prefix = "libjpeg-turbo-1.5.1",
--      build_file = str(Label("//third_party/jpeg:jpeg.BUILD")),
--      repository = tf_repo_name,
-+      path = "tensorflow_third_party/jpeg"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "png_archive",
--      urls = [
--          "http://mirror.bazel.build/github.com/glennrp/libpng/archive/v1.2.53.zip",
--          "https://github.com/glennrp/libpng/archive/v1.2.53.zip",
--      ],
--      sha256 = "c35bcc6387495ee6e757507a68ba036d38ad05b415c2553b3debe2a57647a692",
--      strip_prefix = "libpng-1.2.53",
--      build_file = str(Label("//third_party:png.BUILD")),
-+      path = "tensorflow_third_party/png_archive"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "gif_archive",
--      urls = [
--          "http://mirror.bazel.build/ufpr.dl.sourceforge.net/project/giflib/giflib-5.1.4.tar.gz",
--          "http://ufpr.dl.sourceforge.net/project/giflib/giflib-5.1.4.tar.gz",
--          "http://pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.1.4.tar.gz",
--      ],
--      sha256 = "34a7377ba834397db019e8eb122e551a49c98f49df75ec3fcc92b9a794a4f6d1",
--      strip_prefix = "giflib-5.1.4",
--      build_file = str(Label("//third_party:gif.BUILD")),
-+      path = "tensorflow_third_party/gif_archive"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "six_archive",
--      urls = [
--          "http://mirror.bazel.build/pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz",
--          "http://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz",
--      ],
--      sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
--      strip_prefix = "six-1.10.0",
--      build_file = str(Label("//third_party:six.BUILD")),
-+      path = "tensorflow_third_party/six_archive"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "org_pythonhosted_markdown",
--      urls = [
--          "http://mirror.bazel.build/pypi.python.org/packages/1d/25/3f6d2cb31ec42ca5bd3bfbea99b63892b735d76e26f20dd2dcc34ffe4f0d/Markdown-2.6.8.tar.gz",
--          "https://pypi.python.org/packages/1d/25/3f6d2cb31ec42ca5bd3bfbea99b63892b735d76e26f20dd2dcc34ffe4f0d/Markdown-2.6.8.tar.gz",
--      ],
--      strip_prefix = "Markdown-2.6.8",
--      sha256 = "0ac8a81e658167da95d063a9279c9c1b2699f37c7c4153256a458b3a43860e33",
--      build_file = str(Label("//third_party:markdown.BUILD")),
-+      path = "tensorflow_third_party/org_pythonhosted_markdown"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "org_html5lib",
--      urls = [
--          "http://mirror.bazel.build/github.com/html5lib/html5lib-python/archive/0.9999999.tar.gz",
--          "https://github.com/html5lib/html5lib-python/archive/0.9999999.tar.gz",  # identical to 1.0b8
--      ],
--      sha256 = "184257f98539159a433e2a2197309657ae1283b4c44dbd9c87b2f02ff36adce8",
--      strip_prefix = "html5lib-python-0.9999999",
--      build_file = str(Label("//third_party:html5lib.BUILD")),
-+      path = "tensorflow_third_party/org_html5lib"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "org_mozilla_bleach",
--      urls = [
--          "http://mirror.bazel.build/github.com/mozilla/bleach/archive/v1.5.tar.gz",
--          "https://github.com/mozilla/bleach/archive/v1.5.tar.gz",
--      ],
--      strip_prefix = "bleach-1.5",
--      sha256 = "0d68713d02ba4148c417ab1637dd819333d96929a34401d0233947bec0881ad8",
--      build_file = str(Label("//third_party:bleach.BUILD")),
-+      path = "tensorflow_third_party/org_mozilla_bleach"
-   )
- 
--  native.new_http_archive(
-+  native.local_repository(
-       name = "org_pocoo_werkzeug",
--      urls = [
--          "http://mirror.bazel.build/pypi.python.org/packages/b7/7f/44d3cfe5a12ba002b253f6985a4477edfa66da53787a2a838a40f6415263/Werkzeug-0.11.10.tar.gz",
--          "https://pypi.python.org/packages/b7/7f/44d3cfe5a12ba002b253f6985a4477edfa66da53787a2a838a40f6415263/Werkzeug-0.11.10.tar.gz",
--      ],
--      strip_prefix = "Werkzeug-0.11.10",
--      sha256 = "cc64dafbacc716cdd42503cf6c44cb5a35576443d82f29f6829e5c49264aeeee",
--      build_file = str(Label("//third_party:werkzeug.BUILD")),
--  )
--
--  native.bind(
--      name = "six",
--      actual = "@six_archive//:six",
-+      path = "tensorflow_third_party/org_pocoo_werkzeug"
-   )
- 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908061528.x76FS1GX076730>