Rommy — third-party material
============================

What is in the binaries this repository produces that someone else wrote, and
under what terms. Licence texts referenced here live in LICENSES/.


Material Symbols (bundled)
--------------------------

    src/fonts/RommyIcons.ttf

Copyright 2026 Google LLC.
Licensed under the Apache License, Version 2.0 — see LICENSES/Apache-2.0.txt.

Upstream: https://github.com/google/material-design-icons, path `variablefont/`,
commit e083cc60a0828fdd3b404cea0cb8a5b900e9c23e.

MODIFICATIONS, as Apache 2.0 section 4(b) asks for. The file here is not the
upstream font. It was produced by packaging/make-icon-font.py, which:

  - instanced the variable axes to a single static cut (wght 400, FILL 0,
    GRAD 0, opsz 24);
  - subset it from several thousand glyphs to the eighteen this application
    draws;
  - dropped the layout tables and hinting;
  - renamed the family to "Rommy Icons", so that family lookup by name cannot
    resolve to a differently-versioned copy installed on the host.

The copyright and licence records inside the font (name IDs 0, 13 and 14) are
preserved, so a copy extracted from the binary on its own still carries its
terms.

The font is compiled into libRommy rather than installed as a file. It is not
surfaced in the application UI; this file, and the licence beside it, are
installed to <datadir>/licenses/rommy on the platforms that install anything.


Qt 6 (bundled, and two modules MODIFIED)
---------------------------------------

    /usr/share/rommy/qt/lib64/libQt6*.so.6*
    /usr/share/rommy/qt/lib64/qt6/{plugins,qml,libexec}/

Copyright The Qt Company Ltd and contributors.

Licensed under the GNU Lesser General Public License version 3 -- see
LICENSES/LGPL-3.0-only.txt, and LICENSES/GPL-3.0-only.txt, which LGPLv3
incorporates by reference. (The Qt packages state
"LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0"; Rommy relies on the
LGPL-3.0-only arm.)

Rommy itself is proprietary and is therefore a "Combined Work" under LGPLv3
section 4. The conditions that section places on such a work are met as
follows, stated concretely rather than by reference:

  - This notice is that notice: Rommy uses the Qt libraries and is covered by
    their licence.
  - The licence texts are installed to <datadir>/licenses/rommy and are in
    LICENSES/ in the source tree.
  - Qt is DYNAMICALLY LINKED, and the libraries above are ordinary shared
    objects in a directory you can write to. You may replace any of them with a
    modified version. Nothing in this package is signed, checksummed at runtime
    or otherwise arranged to prevent that -- and if you find something that is,
    it is a bug and should be reported as one.

    /usr/bin/rommy sets LD_LIBRARY_PATH to that directory, so a replacement
    library placed there is the one that gets loaded.

Upstream: the community Qt 6 build for Sailfish OS, OBS project
home:piggz:qt6sb2, at repo.sailfishos.org.

MODIFICATIONS, which LGPLv3 requires to be recorded. Two modules are NOT the
published binaries; they are rebuilt from the same public sources with one
build flag changed:

    qt6-qtbase      built with Vulkan support ON  (upstream: %bcond_with vulkan)
    qt6-qtwayland   rebuilt against that qtbase, which is what makes its
                    QWaylandVulkanInstance exist at all

Nothing else is altered -- not a line of source, not another flag. The exact
upstream revisions are pinned in ci/sailfish/qtbase.pin and
ci/sailfish/qtwayland.pin, and the complete scripts that perform the rebuild
are ci/sailfish/build-qt6-base-vulkan.sh and
ci/sailfish/build-qt6-wayland-vulkan.sh. Those pins plus those scripts are the
corresponding source for the modification. They are public, at
https://gitlab.com/reffyy/rommy-lib, and a copy of the source is available on
request through that repository.


Qt WebEngine and Chromium (bundled)
-----------------------------------

    /usr/share/rommy/qt/lib64/libQt6WebEngine*.so.6*
    /usr/share/rommy/qt/lib64/qt6/libexec/QtWebEngineProcess
    /usr/share/rommy/qt/share/qt6/resources/

Qt WebEngine embeds Chromium, whose third-party components carry many separate
licences. The package it is built from declares:

    (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and
    ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and
    (MPLv1.1 or GPLv2 or LGPLv2)

The licence files shipped by the upstream packages travel with the bundle,
under /usr/share/rommy/qt/share/licenses/. Qt WebEngine is used through the
same LGPLv3 dynamic-linking arrangement described above. It is unmodified.


The Vulkan stack (bundled)
--------------------------

    /usr/share/rommy/lib/libvulkan.so.1
        The Khronos Vulkan-Loader. Apache-2.0 -- see LICENSES/Apache-2.0.txt.
        Unmodified; revision pinned in ci/sailfish/vulkan-loader.pin.

    /usr/share/rommy/lib/libVkLayer_window_system_integration.so
        ARM's vulkan-wsi-layer, MIT, through the fork pinned in
        ci/sailfish/vulkan-wsi-layer.pin. Built with only the Wayland backend
        enabled; otherwise unmodified.

    /usr/share/rommy/lib/libvulkan_hybris_mali.so
        Written for this project. Source: ci/sailfish/vulkan-icd-hybris/.


Statically linked into libRommy.so
----------------------------------

Compiled in rather than shipped as files, so they have no path of their own.
All three are permissive and none imposes a source obligation.

    SDL2 2.30.10    zlib licence.  https://github.com/libsdl-org/SDL
                    Gamepad input only; video, render and GL support are
                    disabled at build time.
    miniz 3.0.2     MIT licence.   https://github.com/richgel999/miniz
    zstd 1.5.6      BSD-3-Clause. Dual-licensed BSD/GPLv2 upstream; Rommy
                    relies on the BSD arm.  https://github.com/facebook/zstd


Not distributed by this package
-------------------------------

Recorded because it is easy to assume otherwise. Rommy plays games through
libretro cores, many of which are GPL-licensed -- ARMSX2, a PCSX2 fork, is
GPLv3. No core is in this package. CoreDownloader fetches them at runtime onto
the user's own device, from buildbot.libretro.com and the projects' own release
pages. Console firmware likewise comes from the user's own RomM server.


Recorded, not yet audited
-------------------------

These predate the file you are reading and are named here so the next person
does not have to rediscover them.

    android/src/org/libsdl/app/*.java
        SDL's own Java support classes, from libsdl-org/SDL (zlib licence).

    libretro.h, libretro_vulkan.h, src/libretro.h, src/libretro_vulkan.h
        The libretro API headers (permissive, MIT-style).
