PostLumina 0.10.0 - corresponding source of the GPL-licensed programs it ships
================================================================================

PostLumina ships ffmpeg and ffprobe (FFmpeg, GPL version 2 or later as built: --enable-gpl)
together with fontconfig tools, whisper-cli and a Python runtime, each run as a separate program.
NumPy, inside that Python, carries three GCC 11.3.0 runtime libraries: libgfortran and
libgcc_s (GPL version 3 or later with the GCC Runtime Library Exception) and libquadmath (LGPL
version 2.1 or later). This archive is the complete corresponding source of the FFmpeg build and
of those GCC runtime libraries, as NOTICE.md's written offer promises, plus the sources of the
other bundled tools.

What is here
------------
ffmpeg/     every source tarball the FFmpeg build used (FFmpeg itself and each library),
            ffmpeg-build-script-db249ab80862368e910cfb281a38bef855110289.tar.gz (markus-perl/ffmpeg-build-script at the
            pinned commit, exactly as in its git repository), ffmpeg-build-script.patch
            (PostLumina's changes to it), ffmpeg-configure-line.txt (the exact configure line of
            the shipped binaries), BUILD-RECIPE.txt (the exact build invocation and toolchain),
            cmake-toolchain.cmake, and any patch the build applied to a library.
whisper/    whisper.cpp tag archive, its BUILD-RECIPE.txt (cmake line) and the toolchain file.
python/     python-sources.txt (where the shipped Python binary and its source come from) and
            the numpy wheel exactly as shipped.
python/gcc-runtime/
            the source of numpy's libgfortran, libquadmath and libgcc_s: gcc-11.3.0.tar.xz
            (GNU GCC 11.3.0), conda-forge's Apple Silicon patch and recipe they were built
            with, and README.txt. Reference source: PostLumina ships these libraries as numpy's
            wheel carries them and does not rebuild them.
apps/desktop/scripts/bundle/
            PostLumina's bundle scripts at commit 9e5b350130d3bccf3e5fb63dc4165e4343ed25d6.
licenses/   every licence text shipped in the app (Chromium's list is in the app only).
NOTICE.md   what is bundled under which licence, the configure lines, the written offer.

How to rebuild
--------------
Needs: an Apple Silicon Mac, Xcode (or the Command Line Tools) with the macOS SDK, python3,
curl, git. The binaries were built with: Apple clang version 21.0.0 (clang-2100.3.34.2), macOS SDK 27.0 on macOS 27.0, arm64;
MACOSX_DEPLOYMENT_TARGET=12.0, arm64.

This archive is all you need: PostLumina's bundle scripts are in apps/desktop/scripts/bundle/
and use nothing else of PostLumina. Extract it, then from its top folder:

    cd apps/desktop
    sh scripts/bundle/build-ffmpeg.sh     # ffmpeg, ffprobe, fc-* (about 17 min)
    sh scripts/bundle/build-python.sh     # Python 3.13 + numpy (+ the GCC runtime source)
    sh scripts/bundle/build-whisper.sh    # whisper-cli

They download the same tarballs, check each sha256 against scripts/bundle/versions.sh, and
write the results to apps/desktop/vendor-bin/ inside the extracted folder.
build-ffmpeg.sh runs the build script under env -i PATH=/usr/bin:/bin:/usr/sbin:/sbin (no
Homebrew), MACOSX_DEPLOYMENT_TARGET=12.0; apps/desktop/scripts/bundle/README.md explains every
step and the patch.

By hand, without them: extract ffmpeg-build-script-db249ab80862368e910cfb281a38bef855110289.tar.gz, apply the patch inside it
(git apply ffmpeg-build-script.patch, or patch -p1 < ffmpeg-build-script.patch), and run the
invocation in ffmpeg/BUILD-RECIPE.txt; the build script fetches each library tarball (the ones
in ffmpeg/, sha256-pinned in its src/10-versions.sh). FFmpeg's own configure line is
ffmpeg/ffmpeg-configure-line.txt; whisper-cli's cmake line is in whisper/BUILD-RECIPE.txt.

The GCC runtime in python/gcc-runtime/ is reference source: PostLumina ships those libraries as
numpy's wheel carries them and does not rebuild them; python/gcc-runtime/README.txt names the
GCC release, conda-forge's patch and the recipe they were built with.
