Debian Patches

Status for topcom/1.2.0~g+ds-2

Patch Description Author Forwarded Bugs Origin Last update
dont-build-libraries.patch Use Debian gmp and cdd library packages instead of building them. Doug Torrance <dtorrance@debian.org> not-needed 2022-06-23
include-dir.patch Install headers in /usr/include/topcom Doug Torrance <dtorrance@debian.org> not-needed 2024-09-16
pkg-config.patch Add pkg-config file. Doug Torrance <dtorrance@debian.org> not-needed 2022-09-14
link-order.patch Change link order to avoid missing symbols. Upstream uses static libraries, so not an issue. Doug Torrance <dtorrance@debian.org> not-needed 2024-09-16
ebb.patch Use extractbb instead of ebb alias (not available in Debian). Doug Torrance <dtorrance@debian.org> not-needed
mathml-svg.patch Render HTML manual math as MathML instead of via a MathJax CDN. The "mathjax" tex4ht option makes make4ht embed a <script> tag loading MathJax
from cdn.jsdelivr.net, which is a privacy breach and does not work offline.
Modern browsers render MathML natively, so build MathML only.
Claude Opus 4.8 <noreply@anthropic.com> not-needed
i386-builtin-clz.patch Use __builtin_clzll for 64-bit bit blocks in max_elem(). The bit blocks are block_type, i.e. std::uint64_t, but max_elem() found the
highest set bit with __builtin_clzl, which takes an unsigned long -- 64 bits
on amd64, but only 32 bits on i386 and other ILP32 architectures. There the
block was silently truncated to its low 32 bits, while the surrounding
arithmetic still used the full block_len of 64, so max_elem() returned a
nonsensical result.
.
This broke the bijectivity check in Symmetry::read(), which compares
max_elem() against the number of permuted elements. Valid symmetries were
rejected as "not a bijection" and the clients exited before producing any
output, failing 74 of 103 tests on i386. A configuration on 64 points such
as cube_6 happened to escape, since a fully populated block truncates to
0xffffffff and yields the correct answer by coincidence.
.
__builtin_clzll takes an unsigned long long, which is 64 bits on both i386
and amd64, so uint64_t is no longer truncated. On architectures where
unsigned long is already 64 bits the generated result is unchanged.
Claude Opus 4.8 <noreply@anthropic.com> invalid 2026-07-17
serialize-doc-build.patch Do not build the HTML and PDF manuals in parallel. The html-doc (make4ht) and pdf-doc (pdflatex) targets both compile
TOPCOM-manual.tex in the doc directory, sharing its .aux/.log/.out files and
triggering the same on-the-fly font generation (mktexpk/metafont). Under
"make -j" they run concurrently and race; on slow architectures the window is
wide enough to deadlock, and the build hangs until the buildd's inactivity
timeout kills it (observed on loong64 and riscv64). Mark the doc Makefile
.NOTPARALLEL so its targets run one at a time.
Claude Opus 4.8 <noreply@anthropic.com> no

All known versions for source package 'topcom'

Links