TensorFlow is an open source software library for numerical computation using
data flow graphs. Nodes in the graph represent mathematical operations, while
the graph edges represent the multidimensional data arrays (tensors)
communicated between them. The flexible architecture allows you to deploy
computation to one or more CPUs or GPUs in a desktop, server, or mobile device
with a single API. TensorFlow was originally developed by researchers and
engineers working on the Google Brain Team within Google's Machine Intelligence
research organization for the purposes of conducting machine learning and deep
neural networks research, but the system is general enough to be applicable in
a wide variety of other domains as well.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py312-tensorflow listed in the above command, you can pick from the names under the Packages section.
===> The following configuration options are available for py312-tensorflow-2.21.0_4:
CPU_OPTS=off: Enable optimisations using features available on your CPU
XLA=off: Accelerated Linear Algebra
====> How many jobs to run during build?: you can only select none or one of them
JOBS_1=off: Run one job
JOBS_HALF=off: Run half jobs
JOBS_ALL=on: Run all jobs
===> Use 'make config' to modify these settings
science/py-tensorflow: Fix build
It was broken since with the last update of jsoncpp
its headers were pushed into include/jsoncpp.
Reported by: fallout
science/py-tensorflow: fix and enable the build on powerpc64le
Most of the architecture gates that had to be fixed failed the same way:
the port's cc_toolchain_config hardcodes cpu = "freebsd", which names the
OS and not the CPU, so bazel config_settings written as
values = {"cpu": ...} cannot tell FreeBSD architectures apart. The C
preprocessor still takes the correct powerpc path (it sees __PPC64__), so
bazel selected x86 sources while the compiler compiled powerpc ones.
- files/freebsd/BUILD: the FreeBSD cc toolchain was declared
exec/target_compatible_with @platforms//cpu:x86_64, so on powerpc64le it
never resolved and bazel fell back to the auto-detected toolchain, whose
empty cxx_builtin_include_directories made it reject the numpy -isystem
copt for every compile. Constrain on @platforms//os:freebsd only, as
the python_cc_toolchain in the same file already does.
(Only the first 15 lines of the commit message are shown above )
*/*: Reset maintainer amzo1337@gmail.com to ports@FreeBSD.org
The maintainer's last activity was a Bugzilla submission in September 2022 about
updating py-keras.
No activity of any kind afterwards.
Account of failures to respond spanning for 3+ years (the FreeBSD policy is 3
months) is below.
maintainer timeouts in science/py-tensorflow:
* Jul 1 06:23:34 2025
* Feb 23 05:18:05 2026
unanswered bug reports for science/py-tensorflow:
┌─────────────────────────────────────────────────────────────────────┬─────────────────────────┬───────────────────────┬────────────┬────────────┐
│ Bug │ Port
│ Summary │ Filed │ Timed Out │
├─────────────────────────────────────────────────────────────────────┼─────────────────────────┼───────────────────────┼────────────┼────────────┤
(Only the first 15 lines of the commit message are shown above )
*/*: Bump all devel/protobuf consumers
They must always be bumped after devel/protobuf because it include
following files whose filenames contain %%PORTVERSION%%. Consequently,
the shlib will always change when PORTVERSION is increased.
lib/libprotobuf-lite.so.%%PORTVERSION%%.0
lib/libprotobuf.so.%%PORTVERSION%%.0
lib/libprotoc.so.%%PORTVERSION%%.0
Approved by: portmgr (blanket; fixing consumers)
science/py-tensorflow: fix build with libc++ 21
With libc++ 21 science/py-tensorflow fails to build, with errors similar
to:
In file included from tensorflow/tsl/framework/allocator_registry.cc:16:
In file included from ./tensorflow/tsl/framework/allocator_registry.h:23:
In file included from ./tensorflow/tsl/framework/allocator.h:28:
./tensorflow/tsl/framework/type_traits.h:96:8: error: 'is_signed' cannot be
specialized: Users are not allowed to specialize this standard library entity
[-Winvalid-specialization]
96 | struct is_signed<tsl::qint8> : public is_signed<tsl::int8> {};
| ^
/usr/include/c++/v1/__type_traits/is_signed.h:25:8: note: marked
'_Clang::no_specializations' here
25 | struct _LIBCPP_NO_SPECIALIZATIONS is_signed :
_BoolConstant<__is_signed(_Tp)> {};
| ^
/usr/include/c++/v1/__config:1167:9: note: expanded from macro
'_LIBCPP_NO_SPECIALIZATIONS'
(Only the first 15 lines of the commit message are shown above )
python: bump all USE_PYTHON=distutils consumers after RUN_DEPENDS removal
Any missed ports, feel free to bump.
Any ports that need setuptools at runtime can have the devel/py-setuptools
manually added back to RUN_DEPENDS, but understand that this practice
is deprecated; see CHANGES for details.
Bump PORTREVISIONs after grpc shlib change in 2715f16944541b6b
PR: 282624
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47513
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
science/py-tensorflow: Enable the option JOBS_HALF in an attempt to fix build
Tensorflow build is killed on builders with signal 9 probably because it builds
too long.
With JOBS_HALF=ON it would use more CPUs and would build faster.
Reported by: fallout
devel/grpc: Update to 1.54.0 (should be part of
8f17596cf5a75f2dca4b4c9f65ba02a53e1b2cd9)
- Bump PORTREVISION of dependent ports for shlib change
Changes: https://github.com/grpc/grpc/releases
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
science/py-tensorflow: fix build on powerpc64
The bundled abseil needs the same patch that was already upstreamed.
Approved by: portmgr (blanket: build fix)
PR: 259082
science/py-tensorflow: Fix the option CPU_OPTS=ON, it wasn't passing options to
bazel.
The BAZEL_COPT variable was always left blank, while docs recommend passing
optimization options to bazel.
Also replace .include with option helpers.
Testing performed: Ran with CPU_OPTS=ON on a simple computation and observed
that warnings about missing SSE4.2 optimizations are gone.
Approved by: portmgr (unbreak the option; change to the recommended format)
science/py-tensorflow: Fix build by using the version of devel/bazel (0.29.0)
that is known to be able to build it
One of the previous commits to devel/bazel broke tensorflow.
Fun fact: the latest version of tensorflow-2.0.0 also fails to build with the
latest version of bazel-1.1.0.
Mark BROKEN: fails to build
ERROR:
/wrkdirs/usr/ports/science/py-tensorflow/work-py36/bazel_out/c4d2d4417b4eb41713ce6dd52d587dc4/external/protobuf_archive/protobuf.bzl:274:40:
The value 'REPOSITORY_NAME' has been removed in favor of 'repository_name()',
please use the latter
(https://docs.bazel.build/versions/master/skylark/lib/native.html#repository_name).
ERROR: Skipping '//tensorflow:libtensorflow.so': error loading package
'tensorflow': in
/wrkdirs/usr/ports/science/py-tensorflow/work-py36/tensorflow-1.14.0/tensorflow/core/platform/default/build_config.bzl:
Extension 'protobuf.bzl' has errors
ERROR: error loading package 'tensorflow': in
/wrkdirs/usr/ports/science/py-tensorflow/work-py36/tensorflow-1.14.0/tensorflow/core/platform/default/build_config.bzl:
Extension 'protobuf.bzl' has errors
Reported by: pkg-fallout
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>
Reset MAINTAINER on ports maintained by amutu@amutu.com
Based on the new policy of all maintained ports reset
when maintaner is absent for 3 months.
Bug#226400 for science/py-tensorflow is ignored since 2018-03-06 (3+ months).
portscout database indicates that 48.94% of his ports aren't updated.
Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
(Only the first 15 lines of the commit message are shown above )
Mark BROKEN: fails to build
Extracting Bazel installation...
ERROR:
/wrkdirs/usr/ports/science/py-tensorflow/work/tensorflow-1.2.1/bazel_ot/f4693a59cc0f39b12832b03860533e20/external/io_bazel_rules_closure/closure/private/defs.bzl:27:16:
The `set` constructor for depsets is deprecated and will be removed. Please use
the `depset` constructor instead. You can temporarily enable the deprecated
`set` constructor by passing the flag
--incompatible_disallow_set_constructor=false
ERROR: error loading package '': Extension file 'closure/private/defs.bzl' has
errors
Reported by: pkg-fallout