ZJX Basic sevenzip-reader relink kit

This kit contains the application's linkable sevenzip_stream.o, the original
7-Zip MyWindows.cpp/.h/.o, and the complete pinned 7-Zip 26.03 source archive.
7-Zip's LGPL terms and unRAR restriction are in the archive's DOC/License.txt
and the download's NOTICES.txt. The supplied encoding patch was applied to
7z.so; it does not change MyWindows.cpp. The LGPL source offer also includes
these inputs and build instructions. Contact: hello@zjx.app.

On Ubuntu 24.04 or newer, install g++, libssl-dev, zlib1g-dev and patch.
In a writable COPY of this kit:

  mkdir sevenzip-src
  tar -xf 7z2603-src.tar.xz -C sevenzip-src
  chmod -R u+w sevenzip-src
  cd sevenzip-src
  patch --batch --binary --fuzz=0 -p1 -i ../sevenzip-2603-zip-encoding.patch
  cd ..

Edit sevenzip-src/CPP/Common/MyWindows.cpp and its headers as desired. Keep
its compatible interface. Compile inside the complete source tree so the
relative StdAfx.h, MyGuidDef.h and C/7zTypes.h includes remain available:

  g++ -std=c++17 -O2 -I sevenzip-src/CPP -c sevenzip-src/CPP/Common/MyWindows.cpp -o MyWindows.modified.o
  g++ sevenzip_stream.o MyWindows.modified.o -lcrypto -lz -ldl -o sevenzip-reader

To rebuild 7z.so with compatible modifications:

  cd sevenzip-src/CPP/7zip/Bundles/Format7zF
  make -f makefile.gcc -j2 'CFLAGS_WARN_WALL=-Werror -Wall -Wextra -Wno-error=array-bounds'

The result is _o/7z.so. Follow the accompanying LIBRARY-REPLACEMENT.md to
approve the exact replacement hashes and replace libexec/sevenzip-reader
and/or libexec/7z.so in one installed version. Preserve original files outside
the installation for recovery. No application source or signing key is needed.
