Commit 03cca65be3f for nodejs

commit 03cca65be3f502638e7a5fc564cde1a50ab2bcff
Author: Lazizbek Ergashev <lazerg2@gmail.com>
Date:   Fri Oct 23 18:23:50 2026 +0500

    src: fix build with `--shared-brotli`

    Assisted-by: Claude Code
    Signed-off-by: lazerg <lazerg2@gmail.com>
    PR-URL: https://github.com/nodejs/node/pull/66895
    Fixes: https://github.com/nodejs/node/issues/66894
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Filip Skokan <panva.ip@gmail.com>
    Reviewed-By: Richard Lau <richard.lau@ibm.com>

diff --git a/src/node_zlib.cc b/src/node_zlib.cc
index d25662bdb98..a34905c3e3a 100644
--- a/src/node_zlib.cc
+++ b/src/node_zlib.cc
@@ -2280,38 +2280,10 @@ void DefineZlibConstants(Local<Object> target) {
   NODE_DEFINE_CONSTANT(target,
       BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION);
   NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_PARAM_LARGE_WINDOW);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_NO_ERROR);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_SUCCESS);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_NEEDS_MORE_INPUT);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_NEEDS_MORE_OUTPUT);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_RESERVED);
-  NODE_DEFINE_CONSTANT(target,
-      BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE);
-  NODE_DEFINE_CONSTANT(target,
-      BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_CL_SPACE);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_TRANSFORM);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_DICTIONARY);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_PADDING_1);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_PADDING_2);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_DISTANCE);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_INVALID_ARGUMENTS);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES);
-  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER_ERROR_UNREACHABLE);
+#define V(PREFIX, NAME, CODE)                                                  \
+  NODE_DEFINE_CONSTANT(target, BROTLI_DECODER##PREFIX##NAME);
+  BROTLI_DECODER_ERROR_CODES_LIST(V, )
+#undef V

   // Zstd constants
   NODE_DEFINE_CONSTANT(target, ZSTD_e_continue);
diff --git a/test/parallel/test-zlib-invalid-input.js b/test/parallel/test-zlib-invalid-input.js
index 40958b07444..c27668c0c9c 100644
--- a/test/parallel/test-zlib-invalid-input.js
+++ b/test/parallel/test-zlib-invalid-input.js
@@ -89,7 +89,7 @@ Object.defineProperty(spoofedLength, 'byteLength', { get: () => 5000 });
   deflate.close();
 }

-{
+if (zlib.constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH) {
   // A block switch is invalid when the stream declares only one block type.
   const invalidBlockSwitch = Buffer.from(
     '200010414141fcffff07002228f00b60f7f41f000000',
diff --git a/tools/nix/sharedLibDeps.nix b/tools/nix/sharedLibDeps.nix
index 074225bec70..6a104497314 100644
--- a/tools/nix/sharedLibDeps.nix
+++ b/tools/nix/sharedLibDeps.nix
@@ -11,6 +11,7 @@
 {
   inherit (pkgs)
     ada
+    brotli
     gtest
     libuv
     merve
@@ -22,14 +23,6 @@
     zstd
     ;
   abseil = pkgs.abseil-cpp;
-  brotli = pkgs.brotli.overrideAttrs (old: {
-    patches = (old.patches or [ ]) ++ [
-      (pkgs.fetchpatch2 {
-        url = "https://github.com/google/brotli/commit/0ed4268a4401abcb4472096340477cf4af7d1a2b.patch?full_index=1";
-        hash = "sha256-dVpnYI2JLDEt2VQkbI6RnbpdcQSMB5bTQ6TJp5CLnyw=";
-      })
-    ];
-  });
   cares = pkgs.c-ares;
   hdr-histogram = pkgs.hdrhistogram_c;
   highway = pkgs.libhwy;