Debian Patches

Status for openmha/4.18.1-4

Patch Description Author Forwarded Bugs Origin Last update
0001-mhatest-disable-git-based-reproducibility-checks.patch mhatest: disable git-based reproducibility checks
Disable reproducibilitytest checks that rely on the git working tree and
embedded git commit hashes. These checks fail in Debian build
environments where the source is not a git checkout and the commit hash
may be overridden or unavailable.
Christopher Obbard <obbardc@debian.org> not-needed 2026-04-13
0002-build-don-t-build-bundled-libxdf-ax2xdf-plugin.patch build: don't build bundled libxdf & ax2xdf plugin
Stop building the bundled libxdf library. Also since upstream libxdf
doesn't have xdfwriter.h disable building the ac2xdf plugin.

The ac2xdf plugin depends on xdfwriter.h which is not available in the
Debian libxdf development package so the plugin cannot currently be
built in Debian. Since no Debian-built components require libxdf after
disabling ac2xdf also remove the unused bundled libxdf build target
from external_libs/Makefile.
Christopher Obbard <obbardc@debian.org> not-needed 2026-04-13
0003-Avoid-race-in-make-install.patch Avoid race in "make install" Tobias Herzke <tobiasherzke@openmha.com> not-needed https://github.com/HoerTech-gGmbH/openMHA/commit/8935aa968af6059b50423dd164ec253839a9bd2a 2026-06-07
0004-build-don-t-build-LSL-example-binaries.patch build: don't build LSL example binaries
The examples_with_Makefiles target compiles the helper binaries for
examples 12, 19 and 30 (receive_lsl, send_lsl, SendStringMarkers)
whenever LSL is detected. These compiled binaries then get copied
verbatim into the examples tree under /usr/share, producing
arch-dependent files in an arch-independent location.

Stop hooking examples_with_Makefiles into the default "all" target so
the binaries are no longer built. The example sources are still
installed, allowing users to compile them themselves. LSL support in
the plugins themselves is unaffected.
Christopher Obbard <obbardc@debian.org> yes 2026-06-08
0005-build-only-build-gtfb_simd-on-x86.patch build: only build gtfb_simd plugin on x86
The gtfb_simd plugin is implemented using x86 SSE intrinsics
(xmmintrin.h / __builtin_ia32_*) and can only be compiled for
Intel-compatible processors. Upstream only excludes it from ARM
compilation, so on every other non-x86 architecture (e.g. riscv64,
ppc64el, s390x) the build fails to find the ia32 builtins.

Filter the plugin out of the plugins build on any non-x86 architecture
so the package builds everywhere; x86 (amd64, i386, x32) keeps the
plugin, ARM and all other ports build openMHA without it.
Christopher Obbard <obbardc@debian.org> yes 2026-06-08
0006-build-don-t-build-rohBeam-plugin-on-powerpc.patch build: don't build rohBeam plugin on PowerPC
The rohBeam plugin fails to build on ppc64el: Eigen's AltiVec backend
triggers array-bounds warnings that are treated as errors during
compilation. This is specific to the PowerPC vector implementation;
other architectures, including ARM (which uses NEON), build the plugin
without issue.

Exclude rohBeam on PowerPC architectures (ppc64el and its relatives)
and build it everywhere else.
Christopher Obbard <obbardc@debian.org> yes 2026-06-08
0007-mhatest-relax-amvdr-tolerance-for-32-bit-x86.patch mhatest: relax test_amvdr_bf tolerance for 32-bit x86
The AMVDR beamformer test compares the algorithm output against a
reference WAV file with a fixed absolute tolerance of 1e-7. As the
audio samples are single-precision floats, this tolerance sits right at
the float32 precision floor (machine epsilon ~1.19e-7).

On i386 the result diverges from the reference by ~1.04e-7, just above
the original threshold and the test fails. amd64 passes because it uses
SSE math, whereas i386 defaults to the x87 FPU and its 80-bit extended
precision intermediates round differently. This is a floating-point
rounding artifact rather than an algorithmic defect.

Relax the tolerance to 2e-7 to give comfortable headroom for cross
architecture rounding differences while keeping the test meaningful.
Christopher Obbard <obbardc@debian.org> yes 2026-06-08
0008-noise-plugin-Fix-documentation-error.patch noise plugin: Fix documentation error Tobias Herzke <tobiasherzke@openmha.com> not-needed https://github.com/HoerTech-gGmbH/openMHA/commit/14299ff171740ad009fa5e05a63ba4b930c82cb1 2026-06-13
0009-Workaround-for-ordering-reproducibility-in-files-sec.patch Workaround for ordering reproducibility in files section Tobias Herzke <tobiasherzke@openmha.com> not-needed https://github.com/HoerTech-gGmbH/openMHA/commit/7db28b83bc5b7476678102f4d1d08944f4a213fe 2026-06-15
0010-doc-sort-plugin-list-using-C-locale-for-reproducible.patch doc: sort plugin list using C locale for reproducible ordering
The plugins manual (openMHA_plugins.pdf) is generated from a list of
plugin names produced by `... | sort` in mha/doc/Makefile. This sort
uses the build's locale so the order varies: e.g. in the C locale
"acPooling_wave" sorts before "ac_mul" and "MHAIODummy" before
"MHAIOalsa" whereas in a UTF-8 locale the order is reversed.

generatemhaplugindoc documents the plugins in the order they are passed
on the command line, so this locale-dependent ordering leaks straight
into the section order, page numbers ancross-references of the generated
PDF. A rebuild under a different locale therefore produces a different
plugins manual, breaking reproducibility.

Force the sort into the C locale (LC_ALL=C) so the plugin ordering
(hence the generated documentation) is independent of the build locale.
Christopher Obbard <obbardc@debian.org> yes 2026-06-29
0011-doc-clean-all-generated-documentation-artifacts.patch doc: clean all generated documentation artifacts
The clean targets for the documentation only removed a subset of the
files produced by `make doc`. Building the documentation and then
cleaning left many generated files behind, which breaks a second build
of the Debian package (dpkg-source detects the leftover files as local
changes to the source tree).

Extend the clean targets to remove everything generated by the doc
build.
Christopher Obbard <obbardc@debian.org> yes 2026-06-29
0012-build-clean-libemx-build-artifacts.patch build: clean libemx build artifacts
libemx is built from external_libs/Makefile via an explicit rule so
`make clean` removed the external_libs build directory but never
descended into libemx to remove its build directory.

Clean the libemx build directory explicitly from the external_libs
clean target.
Christopher Obbard <obbardc@debian.org> yes 2026-06-29
0013-doc-build-documentation-against-the-versioned-doxyge.patch doc: build documentation against the versioned doxygen style file
openMHAdoxygen.sty is a working copy of the doxygen-version-specific
style file. COMPILATION.md says to copy the matching
openMHAdoxygen-<version>.sty over openMHAdoxygen.sty before building
the documentation. Debian's doxygen is 1.15 whose matching variant is
openMHAdoxygen-26.04.sty.

Rather than swapping the file into place at build time which mutates a
tracked source file, point the \usepackage references and the Makefile
prerequisites directly at openMHAdoxygen-26.04.sty. No file is modified
during the build so the source tree stays pristine.
Christopher Obbard <obbardc@debian.org> not-needed 2026-06-29
0014-docs-disable-generating-Doxygen-Files-pages.patch docs: disable generating Doxygen Files pages
Set SHOW_FILES to NO to avoid generating the Doxygen Files pages which
should improve documentation reproducibility by reducing output that
may vary between build environments.
Christopher Obbard <obbardc@debian.org> yes 2026-07-07

All known versions for source package 'openmha'

Links