Debian Patches
Status for openmha/4.18.1-3
| 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-make-doxygen-file-ordering-reproducible.patch | doc: make doxygen file ordering reproducible The developer manual is generated by doxygen scanning the source directories. Doxygen generates the "File Documentation" sections in the order in which it discovers the input files and when it is asked to scan a directory it adds files in the order the filesystem returns them. That order is not stable across runs, so the order of the sections (and the resultant PDF files) differs each run. Instead of letting doxygen scan the directories, append the source files to INPUT as an explicit list generated by the Makefile. The file selection mirrors FILE_PATTERNS / EXCLUDE_PATTERNS from mhaextern.cfg, so the set of documented files is unchanged; their order is now deterministic. |
Christopher Obbard <obbardc@debian.org> | yes | 2026-06-29 | ||
| 0011-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 | ||
| 0012-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 | ||
| 0013-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 | ||
| 0014-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 |
