commit:     ed00ee8df5874bbc9dcd4e743531ca83e89b4f67
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 16 21:45:10 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 16 21:45:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed00ee8d

app-text/ghostscript-gpl: fix build on arm

As floppym observes on the bug, this only shows up on arm because
BROTLI_HUFFMAN_CODE_FAST_LOAD is only defined there.

Closes: https://bugs.gentoo.org/966954
Thanks-to: Christian Schoffit <christianschoffit <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/ghostscript-gpl-10.06.0-arm-brotli.patch | 22 ++++++++++++++++++++++
 .../ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild |  1 +
 2 files changed, 23 insertions(+)

diff --git 
a/app-text/ghostscript-gpl/files/ghostscript-gpl-10.06.0-arm-brotli.patch 
b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.06.0-arm-brotli.patch
new file mode 100644
index 000000000000..5c257062a5a6
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.06.0-arm-brotli.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/966954#c7
+--- a/brotli/c/dec/decode.c
++++ b/brotli/c/dec/decode.c
+@@ -434,13 +434,12 @@ static BROTLI_INLINE void PreloadSymbol(
+                                         BrotliBitReader* br,
+                                         brotli_reg_t* bits,
+                                         brotli_reg_t* value) {
+-  if (safe) {
+-    return;
++  if (!safe) {
++    BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table);
++    BROTLI_HC_ADJUST_TABLE_INDEX(table, BrotliGetBits(br, 
HUFFMAN_TABLE_BITS));
++    *bits = BROTLI_HC_FAST_LOAD_BITS(table);
++    *value = BROTLI_HC_FAST_LOAD_VALUE(table);
+   }
+-  BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table);
+-  BROTLI_HC_ADJUST_TABLE_INDEX(table, BrotliGetBits(br, HUFFMAN_TABLE_BITS));
+-  *bits = BROTLI_HC_FAST_LOAD_BITS(table);
+-  *value = BROTLI_HC_FAST_LOAD_VALUE(table);
+ }
+ 
+ /* Decodes the next Huffman code using data prepared by PreloadSymbol.

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild 
b/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild
index 36bf2e972c6f..40771559c12d 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild
@@ -65,6 +65,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-10.03.1-arm64-neon-tesseract.patch
        "${FILESDIR}"/${PN}-10.06.0-tesseract-fPIC.patch
        "${FILESDIR}"/${PN}-10.06.0-32-bit.patch
+       "${FILESDIR}"/${PN}-10.06.0-arm-brotli.patch
 )
 
 src_prepare() {

Reply via email to