[Bug 292353] multimedia/tsduck: not supported on FreeBSD 13.5 (outdated OpenSSL)

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 11 Jan 2026 10:22:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292353

--- Comment #5 from Thierry Lelegard <thierry@lelegard.fr> ---
Hi Vladimir and Daniel, thanks for tackling this issue.

First, I am the author of the project, not a FreeBSD specialist. I maintain the
project on 16 different distros / operating systems, 10 Linux, macOS, 4 *BSD,
Windows, and I humbly acknowledge my ignorance of the subtleties of FreeBSD
ports.

The project repo contains a script named install-prerequisites.sh which, after
testing the local OS, installs everything that is necessary to comfortably
build all parts of the project, doc included, on the local OS. The author of
the FreeBSD port has built the port based on that script, presumably.

> I'm going to guess that doxygen, qpdf, asciidoctor, graphviz are all documentation related? Perhaps a toggle?

Exactly. If building the user and programmer guides are required, then install
qpdf and asciidoctor. If the programming reference documentation is required,
then install doxygen and graphviz.

In a port, the HTML user guides may be necessary. So, install asciidoctor,
maybe based on a "doc" toggle. It the PDF versions are required too, install
qpdf.

The programming reference is huge. Doxygen creates 1500 files. It is clearly
useless in a port. The reference is already available online
(https://tsduck.io/doxy/).

JDK and Python are build dependencies, not runtime dependencies. The project
contains executables and libraries. It can be used as standalone tools or
called from third-party applications in C++, Java and Python. JDK is necessary
to build the Java API (a .jar file). It is not necessary at runtime in the
general case. If Java applications call TSDuck, then the Java applications will
need to pull the JRE anyway. Independently from the Python API, the build
process uses a few Python scripts. That's why Python is a build dependency.

I don't think that zip and gtar are mandatory for a simple build, binaries,
docs and installation. They are used to build other forms of packaging.

Gmake, coreutils, bash, gsed, gnugrep and a few others are required build
dependencies (but not runtime). Because of the diversity of target OS /
platforms and library dependencies, the build system is complex. It is based on
bash scripts which use commands with GNU-like options. On BSD and macOS
systems, the list of dependencies was built the hard way, after the successive
discoveries of incompatibilities between the GNU and BSD commands. I recommend
to not remove any of these dependencies.

-- 
You are receiving this mail because:
You are the assignee for the bug.